#include "flutter/shell/platform/linux/public/flutter_linux/fl_view.h"
#include "flutter/shell/platform/embedder/test_utils/proc_table_replacement.h"
#include "flutter/shell/platform/linux/fl_engine_private.h"
#include "flutter/shell/platform/linux/fl_view_private.h"
#include "flutter/shell/platform/linux/testing/fl_test.h"
#include "flutter/shell/platform/linux/testing/fl_test_gtk_logs.h"
#include "flutter/shell/platform/linux/testing/mock_gtk.h"
#include "gtest/gtest.h"
Go to the source code of this file.
|
| | TEST (FlViewTest, GetEngine) |
| |
| | TEST (FlViewTest, StateUpdateDoesNotHappenInInit) |
| |
| | TEST (FlViewTest, SemanticsUpdate) |
| |
| | TEST (FlViewTest, SemanticsUpdateOtherView) |
| |
| | TEST (FlViewTest, SecondaryView) |
| |
| | TEST (FlViewTest, SecondaryViewError) |
| |
| | TEST (FlViewTest, ViewDestroy) |
| |
| | TEST (FlViewTest, ViewDestroyError) |
| |
◆ TEST() [1/8]
| TEST |
( |
FlViewTest |
, |
|
|
GetEngine |
|
|
) |
| |
Definition at line 22 of file fl_view_test.cc.
23 flutter::testing::fl_ensure_gtk_init();
30 EXPECT_NE(engine,
nullptr);
G_MODULE_EXPORT FlDartProject * fl_dart_project_new()
G_MODULE_EXPORT FlView * fl_view_new(FlDartProject *project)
G_MODULE_EXPORT FlEngine * fl_view_get_engine(FlView *self)
References fl_dart_project_new(), fl_view_get_engine(), fl_view_new(), and view.
◆ TEST() [2/8]
| TEST |
( |
FlViewTest |
, |
|
|
SecondaryView |
|
|
) |
| |
Definition at line 124 of file fl_view_test.cc.
125 flutter::testing::fl_ensure_gtk_init();
134 AddView, ([&
view_id](
auto engine,
const FlutterAddViewInfo* info) {
136 FlutterAddViewResult result = {
137 .struct_size =
sizeof(FlutterAddViewResult),
140 info->add_view_callback(&result);
144 g_autoptr(GError)
error =
nullptr;
FlutterEngineProcTable * fl_engine_get_embedder_api(FlEngine *self)
gboolean fl_engine_start(FlEngine *self, GError **error)
G_BEGIN_DECLS G_MODULE_EXPORT FlValue gpointer user_data
const uint8_t uint32_t uint32_t GError ** error
G_MODULE_EXPORT FlView * fl_view_new_for_engine(FlEngine *engine)
G_MODULE_EXPORT int64_t fl_view_get_id(FlView *self)
G_BEGIN_DECLS FlutterViewId view_id
References error, fl_dart_project_new(), fl_engine_get_embedder_api(), fl_engine_start(), fl_view_get_engine(), fl_view_get_id(), fl_view_new(), fl_view_new_for_engine(), user_data, and view_id.
◆ TEST() [3/8]
| TEST |
( |
FlViewTest |
, |
|
|
SecondaryViewError |
|
|
) |
| |
Definition at line 152 of file fl_view_test.cc.
153 flutter::testing::fl_ensure_gtk_init();
162 AddView, ([&
view_id](
auto engine,
const FlutterAddViewInfo* info) {
164 return kInvalidArguments;
167 g_autoptr(GError)
error =
nullptr;
References error, fl_dart_project_new(), fl_engine_get_embedder_api(), fl_engine_start(), fl_view_get_engine(), fl_view_get_id(), fl_view_new(), fl_view_new_for_engine(), and view_id.
◆ TEST() [4/8]
| TEST |
( |
FlViewTest |
, |
|
|
SemanticsUpdate |
|
|
) |
| |
Definition at line 75 of file fl_view_test.cc.
76 flutter::testing::fl_ensure_gtk_init();
82 g_autoptr(GError)
error =
nullptr;
85 FlutterSemanticsFlags flags = {};
86 FlutterSemanticsNode2 root_node = {
87 .id = 0, .label =
"root", .flags2 = &flags};
88 FlutterSemanticsNode2* nodes[1] = {&root_node};
89 FlutterSemanticsUpdate2 update = {
90 .node_count = 1, .nodes = nodes, .view_id = 0};
91 g_signal_emit_by_name(engine,
"update-semantics", &update);
94 EXPECT_EQ(atk_object_get_n_accessible_children(ATK_OBJECT(accessible)), 1);
95 AtkObject* root_object =
96 atk_object_ref_accessible_child(ATK_OBJECT(accessible), 0);
97 EXPECT_STREQ(atk_object_get_name(root_object),
"root");
FlViewAccessible * fl_view_get_accessible(FlView *self)
References error, fl_dart_project_new(), fl_engine_start(), fl_view_get_accessible(), fl_view_get_engine(), fl_view_new(), and view.
◆ TEST() [5/8]
| TEST |
( |
FlViewTest |
, |
|
|
SemanticsUpdateOtherView |
|
|
) |
| |
Definition at line 101 of file fl_view_test.cc.
102 flutter::testing::fl_ensure_gtk_init();
108 g_autoptr(GError)
error =
nullptr;
111 FlutterSemanticsFlags flags = {};
112 FlutterSemanticsNode2 root_node = {
113 .id = 0, .label =
"root", .flags2 = &flags};
114 FlutterSemanticsNode2* nodes[1] = {&root_node};
115 FlutterSemanticsUpdate2 update = {
116 .node_count = 1, .nodes = nodes, .view_id = 99};
117 g_signal_emit_by_name(engine,
"update-semantics", &update);
120 EXPECT_EQ(atk_object_get_n_accessible_children(ATK_OBJECT(accessible)), 0);
References error, fl_dart_project_new(), fl_engine_start(), fl_view_get_accessible(), fl_view_get_engine(), fl_view_new(), and view.
◆ TEST() [6/8]
| TEST |
( |
FlViewTest |
, |
|
|
StateUpdateDoesNotHappenInInit |
|
|
) |
| |
◆ TEST() [7/8]
| TEST |
( |
FlViewTest |
, |
|
|
ViewDestroy |
|
|
) |
| |
Definition at line 175 of file fl_view_test.cc.
176 flutter::testing::fl_ensure_gtk_init();
183 g_autoptr(GPtrArray) removed_views = g_ptr_array_new();
186 ([removed_views](
auto engine,
const FlutterRemoveViewInfo* info) {
187 g_ptr_array_add(removed_views, GINT_TO_POINTER(info->view_id));
191 g_autoptr(GError)
error =
nullptr;
199 fl_gtk_widget_destroy(GTK_WIDGET(secondary_view));
200 fl_gtk_widget_destroy(GTK_WIDGET(implicit_view));
202 EXPECT_EQ(removed_views->len, 2u);
203 EXPECT_EQ(GPOINTER_TO_INT(g_ptr_array_index(removed_views, 0)),
205 EXPECT_EQ(GPOINTER_TO_INT(g_ptr_array_index(removed_views, 1)),
References error, fl_dart_project_new(), fl_engine_get_embedder_api(), fl_engine_start(), fl_view_get_engine(), fl_view_get_id(), fl_view_new(), and fl_view_new_for_engine().
◆ TEST() [8/8]
| TEST |
( |
FlViewTest |
, |
|
|
ViewDestroyError |
|
|
) |
| |