| Flutter Linux Embedder |

fl_framebuffer_test.cc
Go to the documentation of this file.
1 // Copyright 2013 The Flutter Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "gtest/gtest.h"
6
7 #include "flutter/shell/platform/linux/fl_framebuffer.h"
8 #include "flutter/shell/platform/linux/testing/mock_epoxy.h"
9
10 TEST(FlFramebufferTest, HasDepthStencil) {
11 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
12
13 g_autoptr(FlFramebuffer) framebuffer =
14 fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
15
16 GLint depth_type = GL_NONE;
17 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
18 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
19 &depth_type);
20 EXPECT_NE(depth_type, GL_NONE);
21
22 GLint stencil_type = GL_NONE;
23 glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
24 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
25 &stencil_type);
26 EXPECT_NE(stencil_type, GL_NONE);
27 }
28
29 TEST(FlFramebufferTest, ResourcesRemoved) {
30 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
31
32 EXPECT_CALL(epoxy, glGenFramebuffers);
33 EXPECT_CALL(epoxy, glGenTextures);
34 EXPECT_CALL(epoxy, glGenRenderbuffers);
35 FlFramebuffer* framebuffer = fl_framebuffer_new(GL_RGB, 100, 100, FALSE);
36
37 EXPECT_CALL(epoxy, glDeleteFramebuffers);
38 EXPECT_CALL(epoxy, glDeleteTextures);
39 EXPECT_CALL(epoxy, glDeleteRenderbuffers);
40 g_object_unref(framebuffer);
41 }
42
43 TEST(FlFramebufferTest, Sibling) {
44 ::testing::NiceMock<flutter::testing::MockEpoxy> epoxy;
45
46 EXPECT_CALL(epoxy, eglCreateImage);
47 g_autoptr(FlFramebuffer) framebuffer =
48 fl_framebuffer_new(GL_RGB, 100, 100, TRUE);
49 g_autoptr(FlFramebuffer) sibling = fl_framebuffer_create_sibling(framebuffer);
50 }
g_autoptr
g_autoptr(GMutexLocker) locker
TRUE
return TRUE
Definition: fl_compositor_software.cc:68
fl_framebuffer_create_sibling
FlFramebuffer * fl_framebuffer_create_sibling(FlFramebuffer *self)
Definition: fl_framebuffer.cc:120
fl_framebuffer_new
FlFramebuffer * fl_framebuffer_new(GLint format, size_t width, size_t height, gboolean shareable)
Definition: fl_framebuffer.cc:69
fl_framebuffer.h
TEST
TEST(FlFramebufferTest, HasDepthStencil)
Definition: fl_framebuffer_test.cc:10