Flutter Engine Uber Docs
Docs for the entire Flutter Engine repo.
 
Loading...
Searching...
No Matches
fl_window_state_monitor_test.cc File Reference

Go to the source code of this file.

Classes

class  FlWindowStateMonitorTest
 

Functions

 TEST_F (FlWindowStateMonitorTest, GainFocus)
 
 TEST_F (FlWindowStateMonitorTest, LoseFocus)
 
 TEST_F (FlWindowStateMonitorTest, EnterIconified)
 
 TEST_F (FlWindowStateMonitorTest, LeaveIconified)
 
 TEST_F (FlWindowStateMonitorTest, LeaveIconifiedFocused)
 
 TEST_F (FlWindowStateMonitorTest, EnterWithdrawn)
 
 TEST_F (FlWindowStateMonitorTest, LeaveWithdrawn)
 
 TEST_F (FlWindowStateMonitorTest, LeaveWithdrawnFocused)
 

Function Documentation

◆ TEST_F() [1/8]

TEST_F ( FlWindowStateMonitorTest  ,
EnterIconified   
)

Definition at line 86 of file fl_window_state_monitor_test.cc.

86 {
87 EXPECT_CALL(mock_gtk, gdk_window_get_state)
88 .WillOnce(::testing::Return(static_cast<GdkWindowState>(0)));
89 gboolean called = TRUE;
91 messenger, "flutter/lifecycle",
92 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
93 gpointer user_data) {
94 gboolean* called = static_cast<gboolean*>(user_data);
95 *called = TRUE;
96 EXPECT_STREQ(fl_value_get_string(message), "AppLifecycleState.hidden");
97 return fl_value_new_string("");
98 },
99 &called);
100
101 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
102 gtk_widget_show(GTK_WIDGET(window));
103 g_autoptr(FlWindowStateMonitor) monitor =
104 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
105
106 GdkEvent event = {
107 .window_state = {.new_window_state = GDK_WINDOW_STATE_ICONIFIED}};
108 gboolean handled;
109 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
110 EXPECT_TRUE(called);
111}
GLFWwindow * window
Definition main.cc:60
const char * message
g_autoptr(FlEngine) engine
return TRUE
void fl_mock_binary_messenger_set_string_message_channel(FlMockBinaryMessenger *self, const gchar *channel, FlMockBinaryMessengerMessageChannelHandler handler, gpointer user_data)
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition fl_value.cc:276
G_MODULE_EXPORT const gchar * fl_value_get_string(FlValue *self)
Definition fl_value.cc:682
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition fl_value.h:42
FlWindowStateMonitor * fl_window_state_monitor_new(FlBinaryMessenger *messenger, GtkWindow *window)
void gtk_widget_show(GtkWidget *widget)
Definition mock_gtk.cc:267
GtkWidget * gtk_window_new(GtkWindowType type)
Definition mock_gtk.cc:182
GdkWindowState gdk_window_get_state(GdkWindow *window)
Definition mock_gtk.cc:100

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [2/8]

TEST_F ( FlWindowStateMonitorTest  ,
EnterWithdrawn   
)

Definition at line 169 of file fl_window_state_monitor_test.cc.

169 {
170 EXPECT_CALL(mock_gtk, gdk_window_get_state)
171 .WillOnce(::testing::Return(static_cast<GdkWindowState>(0)));
172 gboolean called = TRUE;
174 messenger, "flutter/lifecycle",
175 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
176 gpointer user_data) {
177 gboolean* called = static_cast<gboolean*>(user_data);
178 *called = TRUE;
179 EXPECT_STREQ(fl_value_get_string(message), "AppLifecycleState.hidden");
180 return fl_value_new_string("");
181 },
182 &called);
183
184 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
185 gtk_widget_show(GTK_WIDGET(window));
186 g_autoptr(FlWindowStateMonitor) monitor =
187 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
188
189 GdkEvent event = {
190 .window_state = {.new_window_state = GDK_WINDOW_STATE_WITHDRAWN}};
191 gboolean handled;
192 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
193 EXPECT_TRUE(called);
194}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [3/8]

TEST_F ( FlWindowStateMonitorTest  ,
GainFocus   
)

Definition at line 30 of file fl_window_state_monitor_test.cc.

30 {
31 EXPECT_CALL(mock_gtk, gdk_window_get_state)
32 .WillOnce(::testing::Return(static_cast<GdkWindowState>(0)));
33
34 gboolean called = TRUE;
36 messenger, "flutter/lifecycle",
37 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
38 gpointer user_data) {
39 gboolean* called = static_cast<gboolean*>(user_data);
40 *called = TRUE;
41 EXPECT_STREQ(fl_value_get_string(message), "AppLifecycleState.resumed");
42 return fl_value_new_string("");
43 },
44 &called);
45
46 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
47 gtk_widget_show(GTK_WIDGET(window));
48 g_autoptr(FlWindowStateMonitor) monitor =
49 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
50
51 GdkEvent event = {
52 .window_state = {.new_window_state = GDK_WINDOW_STATE_FOCUSED}};
53 gboolean handled;
54 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
55 EXPECT_TRUE(called);
56}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [4/8]

TEST_F ( FlWindowStateMonitorTest  ,
LeaveIconified   
)

Definition at line 113 of file fl_window_state_monitor_test.cc.

113 {
114 EXPECT_CALL(mock_gtk, gdk_window_get_state)
115 .WillOnce(::testing::Return(GDK_WINDOW_STATE_ICONIFIED));
116 gboolean called = TRUE;
118 messenger, "flutter/lifecycle",
119 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
120 gpointer user_data) {
121 gboolean* called = static_cast<gboolean*>(user_data);
122 *called = TRUE;
123 EXPECT_STREQ(fl_value_get_string(message),
124 "AppLifecycleState.inactive");
125 return fl_value_new_string("");
126 },
127 &called);
128
129 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
130 gtk_widget_show(GTK_WIDGET(window));
131 g_autoptr(FlWindowStateMonitor) monitor =
132 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
133
134 GdkEvent event = {
135 .window_state = {.new_window_state = static_cast<GdkWindowState>(0)}};
136 gboolean handled;
137 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
138 EXPECT_TRUE(called);
139}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [5/8]

TEST_F ( FlWindowStateMonitorTest  ,
LeaveIconifiedFocused   
)

Definition at line 141 of file fl_window_state_monitor_test.cc.

141 {
142 EXPECT_CALL(mock_gtk, gdk_window_get_state)
143 .WillOnce(::testing::Return(GDK_WINDOW_STATE_ICONIFIED));
144 gboolean called = TRUE;
146 messenger, "flutter/lifecycle",
147 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
148 gpointer user_data) {
149 gboolean* called = static_cast<gboolean*>(user_data);
150 *called = TRUE;
151 EXPECT_STREQ(fl_value_get_string(message), "AppLifecycleState.resumed");
152 return fl_value_new_string("");
153 },
154 &called);
155
156 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
157 gtk_widget_show(GTK_WIDGET(window));
158 g_autoptr(FlWindowStateMonitor) monitor =
159 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
160
161 GdkEvent event = {
162 .window_state = {.new_window_state = static_cast<GdkWindowState>(
163 GDK_WINDOW_STATE_FOCUSED)}};
164 gboolean handled;
165 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
166 EXPECT_TRUE(called);
167}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [6/8]

TEST_F ( FlWindowStateMonitorTest  ,
LeaveWithdrawn   
)

Definition at line 196 of file fl_window_state_monitor_test.cc.

196 {
197 EXPECT_CALL(mock_gtk, gdk_window_get_state)
198 .WillOnce(::testing::Return(GDK_WINDOW_STATE_WITHDRAWN));
199 gboolean called = TRUE;
201 messenger, "flutter/lifecycle",
202 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
203 gpointer user_data) {
204 gboolean* called = static_cast<gboolean*>(user_data);
205 *called = TRUE;
206 EXPECT_STREQ(fl_value_get_string(message),
207 "AppLifecycleState.inactive");
208 return fl_value_new_string("");
209 },
210 &called);
211
212 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
213 gtk_widget_show(GTK_WIDGET(window));
214 g_autoptr(FlWindowStateMonitor) monitor =
215 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
216
217 GdkEvent event = {
218 .window_state = {.new_window_state = static_cast<GdkWindowState>(0)}};
219 gboolean handled;
220 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
221 EXPECT_TRUE(called);
222}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [7/8]

TEST_F ( FlWindowStateMonitorTest  ,
LeaveWithdrawnFocused   
)

Definition at line 224 of file fl_window_state_monitor_test.cc.

224 {
225 EXPECT_CALL(mock_gtk, gdk_window_get_state)
226 .WillOnce(::testing::Return(GDK_WINDOW_STATE_WITHDRAWN));
227 gboolean called = TRUE;
229 messenger, "flutter/lifecycle",
230 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
231 gpointer user_data) {
232 gboolean* called = static_cast<gboolean*>(user_data);
233 *called = TRUE;
234 EXPECT_STREQ(fl_value_get_string(message), "AppLifecycleState.resumed");
235 return fl_value_new_string("");
236 },
237 &called);
238
239 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
240 gtk_widget_show(GTK_WIDGET(window));
241 g_autoptr(FlWindowStateMonitor) monitor =
242 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
243
244 GdkEvent event = {
245 .window_state = {.new_window_state = static_cast<GdkWindowState>(
246 GDK_WINDOW_STATE_FOCUSED)}};
247 gboolean handled;
248 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
249 EXPECT_TRUE(called);
250}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.

◆ TEST_F() [8/8]

TEST_F ( FlWindowStateMonitorTest  ,
LoseFocus   
)

Definition at line 58 of file fl_window_state_monitor_test.cc.

58 {
59 EXPECT_CALL(mock_gtk, gdk_window_get_state)
60 .WillOnce(::testing::Return(GDK_WINDOW_STATE_FOCUSED));
61 gboolean called = TRUE;
63 messenger, "flutter/lifecycle",
64 [](FlMockBinaryMessenger* messenger, GTask* task, FlValue* message,
65 gpointer user_data) {
66 gboolean* called = static_cast<gboolean*>(user_data);
67 *called = TRUE;
68 EXPECT_STREQ(fl_value_get_string(message),
69 "AppLifecycleState.inactive");
70 return fl_value_new_string("");
71 },
72 &called);
73
74 GtkWindow* window = GTK_WINDOW(gtk_window_new(GTK_WINDOW_TOPLEVEL));
75 gtk_widget_show(GTK_WIDGET(window));
76 g_autoptr(FlWindowStateMonitor) monitor =
77 fl_window_state_monitor_new(FL_BINARY_MESSENGER(messenger), window);
78
79 GdkEvent event = {
80 .window_state = {.new_window_state = static_cast<GdkWindowState>(0)}};
81 gboolean handled;
82 g_signal_emit_by_name(window, "window-state-event", &event, &handled);
83 EXPECT_TRUE(called);
84}

References fl_mock_binary_messenger_set_string_message_channel(), fl_value_get_string(), fl_value_new_string(), fl_window_state_monitor_new(), g_autoptr(), gdk_window_get_state(), gtk_widget_show(), gtk_window_new(), message, TRUE, user_data, and window.