| Flutter Linux Embedder |

fl_view_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 "flutter/shell/platform/linux/public/flutter_linux/fl_view.h"
6 #include "flutter/shell/platform/linux/testing/fl_test_gtk_logs.h"
7
8 #include "gtest/gtest.h"
9
10 TEST(FlViewTest, GetEngine) {
11 flutter::testing::fl_ensure_gtk_init();
12 g_autoptr(FlDartProject) project = fl_dart_project_new();
13 g_autoptr(FlView) view = fl_view_new(project);
14
15 // Check the engine is immediately available (i.e. before the widget is
16 // realized).
17 FlEngine* engine = fl_view_get_engine(view);
18 EXPECT_NE(engine, nullptr);
19
20 g_object_ref_sink(view);
21 }
22
23 TEST(FlViewTest, StateUpdateDoesNotHappenInInit) {
24 flutter::testing::fl_ensure_gtk_init();
25 g_autoptr(FlDartProject) project = fl_dart_project_new();
26 g_autoptr(FlView) view = fl_view_new(project);
27 // Check that creating a view doesn't try to query the window state in
28 // initialization, causing a critical log to be issued.
29 EXPECT_EQ(
30 flutter::testing::fl_get_received_gtk_log_levels() & G_LOG_LEVEL_CRITICAL,
31 (GLogLevelFlags)0x0);
32 g_object_ref_sink(view);
33 }
fl_dart_project_new
G_MODULE_EXPORT FlDartProject * fl_dart_project_new()
Definition: fl_dart_project.cc:50
fl_view_new
G_MODULE_EXPORT FlView * fl_view_new(FlDartProject *project)
Definition: fl_view.cc:837
fl_view_get_engine
G_MODULE_EXPORT FlEngine * fl_view_get_engine(FlView *self)
Definition: fl_view.cc:842
fl_view.h
TEST
TEST(FlViewTest, GetEngine)
Definition: fl_view_test.cc:10