Flutter Engine
 
Loading...
Searching...
No Matches
fl_windowing_handler_test.cc File Reference

Go to the source code of this file.

Functions

static void set_size_arg (FlValue *args, const gchar *name, double width, double height)
 
static FlValuemake_create_regular_args (double width, double height)
 
static int64_t parse_create_regular_response (FlMethodResponse *response)
 
static FlValuemake_modify_regular_args (int64_t view_id)
 
static FlValuemake_destroy_window_args (int64_t view_id)
 
 TEST (FlWindowingHandlerTest, CreateRegular)
 
 TEST (FlWindowingHandlerTest, CreateRegularMinSize)
 
 TEST (FlWindowingHandlerTest, CreateRegularMaxSize)
 
 TEST (FlWindowingHandlerTest, CreateRegularWithTitle)
 
 TEST (FlWindowingHandlerTest, CreateRegularMaximized)
 
 TEST (FlWindowingHandlerTest, CreateRegularMinimized)
 
 TEST (FlWindowingHandlerTest, ModifyRegularSize)
 
 TEST (FlWindowingHandlerTest, ModifyRegularTitle)
 
 TEST (FlWindowingHandlerTest, ModifyRegularMaximize)
 
 TEST (FlWindowingHandlerTest, ModifyRegularUnmaximize)
 
 TEST (FlWindowingHandlerTest, ModifyRegularMinimize)
 
 TEST (FlWindowingHandlerTest, ModifyRegularUnminimize)
 
 TEST (FlWindowingHandlerTest, ModifyUnknownWindow)
 
 TEST (FlWindowingHandlerTest, DestroyWindow)
 
 TEST (FlWindowingHandlerTest, DestroyUnknownWindow)
 

Function Documentation

◆ make_create_regular_args()

static FlValue * make_create_regular_args ( double  width,
double  height 
)
static

Definition at line 26 of file fl_windowing_handler_test.cc.

26 {
28 set_size_arg(args, "size", width, height);
29 return args;
30}
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
G_MODULE_EXPORT FlValue * fl_value_new_map()
Definition fl_value.cc:366
typedefG_BEGIN_DECLS struct _FlValue FlValue
Definition fl_value.h:42
static void set_size_arg(FlValue *args, const gchar *name, double width, double height)
int32_t height
int32_t width

References args, fl_value_new_map(), height, set_size_arg(), and width.

Referenced by TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().

◆ make_destroy_window_args()

static FlValue * make_destroy_window_args ( int64_t  view_id)
static

Definition at line 67 of file fl_windowing_handler_test.cc.

67 {
70 return args;
71}
G_MODULE_EXPORT void fl_value_set_string_take(FlValue *self, const gchar *key, FlValue *value)
Definition fl_value.cc:650
G_MODULE_EXPORT FlValue * fl_value_new_int(int64_t value)
Definition fl_value.cc:262
G_BEGIN_DECLS FlutterViewId view_id

References args, fl_value_new_int(), fl_value_new_map(), fl_value_set_string_take(), and view_id.

Referenced by TEST(), and TEST().

◆ make_modify_regular_args()

static FlValue * make_modify_regular_args ( int64_t  view_id)
static

◆ parse_create_regular_response()

static int64_t parse_create_regular_response ( FlMethodResponse *  response)
static

Definition at line 32 of file fl_windowing_handler_test.cc.

32 {
33 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
34
36 FL_METHOD_SUCCESS_RESPONSE(response));
37 EXPECT_EQ(fl_value_get_type(result), FL_VALUE_TYPE_MAP);
38
39 FlValue* view_id_value = fl_value_lookup_string(result, "viewId");
40 EXPECT_NE(view_id_value, nullptr);
41 EXPECT_EQ(fl_value_get_type(view_id_value), FL_VALUE_TYPE_INT);
42 int64_t view_id = fl_value_get_int(view_id_value);
43 EXPECT_GT(view_id, 0);
44
45 FlValue* size_value = fl_value_lookup_string(result, "size");
46 EXPECT_NE(size_value, nullptr);
47 EXPECT_EQ(fl_value_get_type(size_value), FL_VALUE_TYPE_LIST);
48 EXPECT_EQ(fl_value_get_length(size_value), 2u);
49 EXPECT_EQ(fl_value_get_type(fl_value_get_list_value(size_value, 0)),
51 EXPECT_EQ(fl_value_get_type(fl_value_get_list_value(size_value, 1)),
53
54 FlValue* state_value = fl_value_lookup_string(result, "state");
55 EXPECT_NE(state_value, nullptr);
56 EXPECT_EQ(fl_value_get_type(state_value), FL_VALUE_TYPE_STRING);
57
58 return view_id;
59}
G_MODULE_EXPORT FlValue * fl_method_success_response_get_result(FlMethodSuccessResponse *self)
G_MODULE_EXPORT FlValue * fl_value_lookup_string(FlValue *self, const gchar *key)
Definition fl_value.cc:811
G_MODULE_EXPORT int64_t fl_value_get_int(FlValue *self)
Definition fl_value.cc:668
G_MODULE_EXPORT FlValueType fl_value_get_type(FlValue *self)
Definition fl_value.cc:466
G_MODULE_EXPORT FlValue * fl_value_get_list_value(FlValue *self, size_t index)
Definition fl_value.cc:776
G_MODULE_EXPORT size_t fl_value_get_length(FlValue *self)
Definition fl_value.cc:724
@ FL_VALUE_TYPE_STRING
Definition fl_value.h:68
@ FL_VALUE_TYPE_INT
Definition fl_value.h:66
@ FL_VALUE_TYPE_LIST
Definition fl_value.h:73
@ FL_VALUE_TYPE_MAP
Definition fl_value.h:74
@ FL_VALUE_TYPE_FLOAT
Definition fl_value.h:67

References fl_method_success_response_get_result(), fl_value_get_int(), fl_value_get_length(), fl_value_get_list_value(), fl_value_get_type(), fl_value_lookup_string(), FL_VALUE_TYPE_FLOAT, FL_VALUE_TYPE_INT, FL_VALUE_TYPE_LIST, FL_VALUE_TYPE_MAP, FL_VALUE_TYPE_STRING, and view_id.

Referenced by TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().

◆ set_size_arg()

static void set_size_arg ( FlValue args,
const gchar *  name,
double  width,
double  height 
)
static

Definition at line 16 of file fl_windowing_handler_test.cc.

19 {
20 g_autoptr(FlValue) size_value = fl_value_new_list();
23 fl_value_set_string(args, name, size_value);
24}
g_autoptr(GMutexLocker) locker
G_MODULE_EXPORT void fl_value_set_string(FlValue *self, const gchar *key, FlValue *value)
Definition fl_value.cc:639
G_MODULE_EXPORT FlValue * fl_value_new_float(double value)
Definition fl_value.cc:269
G_MODULE_EXPORT void fl_value_append_take(FlValue *self, FlValue *value)
Definition fl_value.cc:600
G_MODULE_EXPORT FlValue * fl_value_new_list()
Definition fl_value.cc:349
const char * name
Definition fuchsia.cc:49

References args, fl_value_append_take(), fl_value_new_float(), fl_value_new_list(), fl_value_set_string(), g_autoptr(), height, name, and width.

Referenced by make_create_regular_args(), TEST(), TEST(), and TEST().

◆ TEST() [1/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegular   
)

Definition at line 73 of file fl_windowing_handler_test.cc.

73 {
75 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
76
77 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
78 g_autoptr(FlEngine) engine =
79 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
80 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
81
82 EXPECT_CALL(mock_gtk, gtk_window_new);
83 EXPECT_CALL(mock_gtk, gtk_window_set_default_size(::testing::_, 800, 600));
84
86
87 gboolean called = FALSE;
89 messenger, "flutter/windowing", "createRegular", args,
90 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
91 gpointer user_data) {
93 gboolean* called = static_cast<gboolean*>(user_data);
94 *called = TRUE;
95 },
96 &called);
97 EXPECT_TRUE(called);
98
99 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
100}
FlutterEngine engine
Definition main.cc:84
void fl_binary_messenger_shutdown(FlBinaryMessenger *self)
return TRUE
FlEngine * fl_engine_new_with_binary_messenger(FlBinaryMessenger *binary_messenger)
Definition fl_engine.cc:701
void fl_mock_binary_messenger_invoke_standard_method(FlMockBinaryMessenger *self, const gchar *channel, const char *name, FlValue *args, FlMockBinaryMessengerMethodCallback callback, gpointer user_data)
const gchar FlBinaryMessengerMessageHandler handler
FlMockBinaryMessenger * fl_mock_binary_messenger_new()
FlWindowingHandler * fl_windowing_handler_new(FlEngine *engine)
static int64_t parse_create_regular_response(FlMethodResponse *response)
static FlValue * make_create_regular_args(double width, double height)
void gtk_window_set_default_size(GtkWindow *window, gint width, gint height)
Definition mock_gtk.cc:178
GtkWidget * gtk_window_new(GtkWindowType type)
Definition mock_gtk.cc:171
void fl_ensure_gtk_init(GLogWriterFunc writer)
Ensures that GTK has been initialized and starts monitoring logs.

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_set_default_size(), handler, make_create_regular_args(), parse_create_regular_response(), TRUE, and user_data.

◆ TEST() [2/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegularMaximized   
)

Definition at line 205 of file fl_windowing_handler_test.cc.

205 {
207 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
208
209 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
210 g_autoptr(FlEngine) engine =
211 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
212 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
213
214 EXPECT_CALL(mock_gtk, gtk_window_new);
215 EXPECT_CALL(mock_gtk, gtk_window_maximize(::testing::_));
216
219 fl_value_new_string("WindowState.maximized"));
220
221 gboolean called = FALSE;
223 messenger, "flutter/windowing", "createRegular", args,
224 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
225 gpointer user_data) {
227 gboolean* called = static_cast<gboolean*>(user_data);
228 *called = TRUE;
229 },
230 &called);
231 EXPECT_TRUE(called);
232
233 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
234}
G_MODULE_EXPORT FlValue * fl_value_new_string(const gchar *value)
Definition fl_value.cc:276
void gtk_window_maximize(GtkWindow *window)
Definition mock_gtk.cc:201

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_maximize(), gtk_window_new(), handler, make_create_regular_args(), parse_create_regular_response(), TRUE, and user_data.

◆ TEST() [3/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegularMaxSize   
)

Definition at line 138 of file fl_windowing_handler_test.cc.

138 {
140 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
141
142 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
143 g_autoptr(FlEngine) engine =
144 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
145 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
146
147 EXPECT_CALL(mock_gtk, gtk_window_new);
148 EXPECT_CALL(mock_gtk,
150 ::testing::_, nullptr,
151 ::testing::Pointee(::testing::AllOf(
152 ::testing::Field(&GdkGeometry::max_width, 1000),
153 ::testing::Field(&GdkGeometry::max_height, 2000))),
154 GDK_HINT_MAX_SIZE));
155
157 set_size_arg(args, "maxSize", 1000, 2000);
158
159 gboolean called = FALSE;
161 messenger, "flutter/windowing", "createRegular", args,
162 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
163 gpointer user_data) {
165 gboolean* called = static_cast<gboolean*>(user_data);
166 *called = TRUE;
167 },
168 &called);
169 EXPECT_TRUE(called);
170
171 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
172}
void gtk_window_set_geometry_hints(GtkWindow *window, GtkWidget *widget, GdkGeometry *geometry, GdkWindowHints geometry_mask)
Definition mock_gtk.cc:188

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_set_geometry_hints(), handler, make_create_regular_args(), parse_create_regular_response(), set_size_arg(), TRUE, and user_data.

◆ TEST() [4/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegularMinimized   
)

Definition at line 236 of file fl_windowing_handler_test.cc.

236 {
238 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
239
240 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
241 g_autoptr(FlEngine) engine =
242 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
243 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
244
245 EXPECT_CALL(mock_gtk, gtk_window_new);
246 EXPECT_CALL(mock_gtk, gtk_window_iconify(::testing::_));
247
250 fl_value_new_string("WindowState.minimized"));
251
252 gboolean called = FALSE;
254 messenger, "flutter/windowing", "createRegular", args,
255 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
256 gpointer user_data) {
258 gboolean* called = static_cast<gboolean*>(user_data);
259 *called = TRUE;
260 },
261 &called);
262 EXPECT_TRUE(called);
263
264 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
265}
void gtk_window_iconify(GtkWindow *window)
Definition mock_gtk.cc:216

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_iconify(), gtk_window_new(), handler, make_create_regular_args(), parse_create_regular_response(), TRUE, and user_data.

◆ TEST() [5/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegularMinSize   
)

Definition at line 102 of file fl_windowing_handler_test.cc.

102 {
104 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
105
106 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
107 g_autoptr(FlEngine) engine =
108 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
109 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
110
111 EXPECT_CALL(mock_gtk, gtk_window_new);
112 EXPECT_CALL(mock_gtk,
114 ::testing::_, nullptr,
115 ::testing::Pointee(::testing::AllOf(
116 ::testing::Field(&GdkGeometry::min_width, 100),
117 ::testing::Field(&GdkGeometry::min_height, 200))),
118 GDK_HINT_MIN_SIZE));
119
121 set_size_arg(args, "minSize", 100, 200);
122
123 gboolean called = FALSE;
125 messenger, "flutter/windowing", "createRegular", args,
126 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
127 gpointer user_data) {
129 gboolean* called = static_cast<gboolean*>(user_data);
130 *called = TRUE;
131 },
132 &called);
133 EXPECT_TRUE(called);
134
135 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
136}

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_set_geometry_hints(), handler, make_create_regular_args(), parse_create_regular_response(), set_size_arg(), TRUE, and user_data.

◆ TEST() [6/15]

TEST ( FlWindowingHandlerTest  ,
CreateRegularWithTitle   
)

Definition at line 174 of file fl_windowing_handler_test.cc.

174 {
176 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
177
178 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
179 g_autoptr(FlEngine) engine =
180 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
181 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
182
183 EXPECT_CALL(mock_gtk, gtk_window_new);
184 EXPECT_CALL(mock_gtk,
185 gtk_window_set_title(::testing::_, ::testing::StrEq("TITLE")));
186
189
190 gboolean called = FALSE;
192 messenger, "flutter/windowing", "createRegular", args,
193 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
194 gpointer user_data) {
196 gboolean* called = static_cast<gboolean*>(user_data);
197 *called = TRUE;
198 },
199 &called);
200 EXPECT_TRUE(called);
201
202 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
203}
void gtk_window_set_title(GtkWindow *window, const gchar *title)
Definition mock_gtk.cc:183

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_set_title(), handler, make_create_regular_args(), parse_create_regular_response(), TRUE, and user_data.

◆ TEST() [7/15]

TEST ( FlWindowingHandlerTest  ,
DestroyUnknownWindow   
)

Definition at line 614 of file fl_windowing_handler_test.cc.

614 {
615 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
616 g_autoptr(FlEngine) engine =
617 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
618 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
619
621 gboolean called = FALSE;
623 messenger, "flutter/windowing", "destroyWindow", args,
624 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
625 gpointer user_data) {
626 EXPECT_TRUE(FL_IS_METHOD_ERROR_RESPONSE(response));
628 FL_METHOD_ERROR_RESPONSE(response)),
629 "Bad Arguments");
631 FL_METHOD_ERROR_RESPONSE(response)),
632 "No window with given view ID");
633 gboolean* called = static_cast<gboolean*>(user_data);
634 *called = TRUE;
635 },
636 &called);
637 EXPECT_TRUE(called);
638
639 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
640}
G_MODULE_EXPORT const gchar * fl_method_error_response_get_message(FlMethodErrorResponse *self)
G_MODULE_EXPORT const gchar * fl_method_error_response_get_code(FlMethodErrorResponse *self)
static FlValue * make_destroy_window_args(int64_t view_id)

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), fl_method_error_response_get_code(), fl_method_error_response_get_message(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), handler, make_destroy_window_args(), TRUE, and user_data.

◆ TEST() [8/15]

TEST ( FlWindowingHandlerTest  ,
DestroyWindow   
)

Definition at line 573 of file fl_windowing_handler_test.cc.

573 {
575 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
576
577 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
578 g_autoptr(FlEngine) engine =
579 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
580 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
581
582 EXPECT_CALL(mock_gtk, gtk_window_new);
583 EXPECT_CALL(mock_gtk, gtk_widget_destroy);
584
585 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
586
587 int64_t view_id = -1;
589 messenger, "flutter/windowing", "createRegular", create_args,
590 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
591 gpointer user_data) {
592 int64_t* view_id = static_cast<int64_t*>(user_data);
594 },
595 &view_id);
596 EXPECT_GT(view_id, 0);
597
599 gboolean destroy_called = FALSE;
601 messenger, "flutter/windowing", "destroyWindow", destroy_args,
602 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
603 gpointer user_data) {
604 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
605 gboolean* called = static_cast<gboolean*>(user_data);
606 *called = TRUE;
607 },
608 &destroy_called);
609 EXPECT_TRUE(destroy_called);
610
611 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
612}
void gtk_widget_destroy(GtkWidget *widget)
Definition mock_gtk.cc:264

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), gtk_widget_destroy(), gtk_window_new(), handler, make_create_regular_args(), make_destroy_window_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [9/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularMaximize   
)

Definition at line 354 of file fl_windowing_handler_test.cc.

354 {
356 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
357
358 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
359 g_autoptr(FlEngine) engine =
360 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
361 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
362
363 EXPECT_CALL(mock_gtk, gtk_window_new);
364
365 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
366
367 int64_t view_id = -1;
369 messenger, "flutter/windowing", "createRegular", create_args,
370 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
371 gpointer user_data) {
372 int64_t* view_id = static_cast<int64_t*>(user_data);
374 },
375 &view_id);
376 EXPECT_GT(view_id, 0);
377
378 EXPECT_CALL(mock_gtk, gtk_window_maximize(::testing::_));
379
381 fl_value_set_string_take(modify_args, "state",
382 fl_value_new_string("WindowState.maximized"));
383
384 gboolean modify_called = FALSE;
386 messenger, "flutter/windowing", "modifyRegular", modify_args,
387 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
388 gpointer user_data) {
389 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
390 gboolean* called = static_cast<gboolean*>(user_data);
391 *called = TRUE;
392 },
393 &modify_called);
394 EXPECT_TRUE(modify_called);
395
396 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
397}
static FlValue * make_modify_regular_args(int64_t view_id)

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_maximize(), gtk_window_new(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [10/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularMinimize   
)

Definition at line 449 of file fl_windowing_handler_test.cc.

449 {
451 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
452
453 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
454 g_autoptr(FlEngine) engine =
455 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
456 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
457
458 EXPECT_CALL(mock_gtk, gtk_window_new);
459
460 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
461
462 int64_t view_id = -1;
464 messenger, "flutter/windowing", "createRegular", create_args,
465 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
466 gpointer user_data) {
467 int64_t* view_id = static_cast<int64_t*>(user_data);
469 },
470 &view_id);
471 EXPECT_GT(view_id, 0);
472
473 EXPECT_CALL(mock_gtk, gtk_window_iconify(::testing::_));
474
476 fl_value_set_string_take(modify_args, "state",
477 fl_value_new_string("WindowState.minimized"));
478
479 gboolean modify_called = FALSE;
481 messenger, "flutter/windowing", "modifyRegular", modify_args,
482 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
483 gpointer user_data) {
484 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
485 gboolean* called = static_cast<gboolean*>(user_data);
486 *called = TRUE;
487 },
488 &modify_called);
489 EXPECT_TRUE(modify_called);
490
491 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
492}

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_iconify(), gtk_window_new(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [11/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularSize   
)

Definition at line 267 of file fl_windowing_handler_test.cc.

267 {
269 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
270
271 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
272 g_autoptr(FlEngine) engine =
273 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
274 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
275
276 EXPECT_CALL(mock_gtk, gtk_window_new);
277 EXPECT_CALL(mock_gtk, gtk_window_resize(::testing::_, 1024, 768));
278
279 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
280
281 int64_t view_id = -1;
283 messenger, "flutter/windowing", "createRegular", create_args,
284 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
285 gpointer user_data) {
286 int64_t* view_id = static_cast<int64_t*>(user_data);
288 },
289 &view_id);
290 EXPECT_GT(view_id, 0);
291
293 set_size_arg(modify_args, "size", 1024, 768);
294
295 gboolean modify_called = FALSE;
297 messenger, "flutter/windowing", "modifyRegular", modify_args,
298 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
299 gpointer user_data) {
300 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
301 gboolean* called = static_cast<gboolean*>(user_data);
302 *called = TRUE;
303 },
304 &modify_called);
305 EXPECT_TRUE(modify_called);
306
307 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
308}
void gtk_window_resize(GtkWindow *window, gint width, gint height)
Definition mock_gtk.cc:196

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_resize(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), set_size_arg(), TRUE, user_data, and view_id.

◆ TEST() [12/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularTitle   
)

Definition at line 310 of file fl_windowing_handler_test.cc.

310 {
312 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
313
314 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
315 g_autoptr(FlEngine) engine =
316 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
317 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
318
319 EXPECT_CALL(mock_gtk, gtk_window_new);
320 EXPECT_CALL(mock_gtk,
321 gtk_window_set_title(::testing::_, ::testing::StrEq("TITLE")));
322
323 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
324
325 int64_t view_id = -1;
327 messenger, "flutter/windowing", "createRegular", create_args,
328 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
329 gpointer user_data) {
330 int64_t* view_id = static_cast<int64_t*>(user_data);
332 },
333 &view_id);
334 EXPECT_GT(view_id, 0);
335
337 fl_value_set_string_take(modify_args, "title", fl_value_new_string("TITLE"));
338
339 gboolean modify_called = FALSE;
341 messenger, "flutter/windowing", "modifyRegular", modify_args,
342 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
343 gpointer user_data) {
344 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
345 gboolean* called = static_cast<gboolean*>(user_data);
346 *called = TRUE;
347 },
348 &modify_called);
349 EXPECT_TRUE(modify_called);
350
351 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
352}

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_new(), gtk_window_set_title(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [13/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularUnmaximize   
)

Definition at line 399 of file fl_windowing_handler_test.cc.

399 {
401 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
402
403 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
404 g_autoptr(FlEngine) engine =
405 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
406 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
407
408 EXPECT_CALL(mock_gtk, gtk_window_new);
409 EXPECT_CALL(mock_gtk, gtk_window_maximize(::testing::_));
410
411 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
412 fl_value_set_string_take(create_args, "state",
413 fl_value_new_string("WindowState.maximized"));
414
415 int64_t view_id = -1;
417 messenger, "flutter/windowing", "createRegular", create_args,
418 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
419 gpointer user_data) {
420 int64_t* view_id = static_cast<int64_t*>(user_data);
422 },
423 &view_id);
424 EXPECT_GT(view_id, 0);
425
426 EXPECT_CALL(mock_gtk, gtk_window_is_maximized(::testing::_))
427 .WillOnce(::testing::Return(TRUE));
428 EXPECT_CALL(mock_gtk, gtk_window_unmaximize(::testing::_));
429
431 fl_value_set_string_take(modify_args, "state",
432 fl_value_new_string("WindowState.restored"));
433
434 gboolean modify_called = FALSE;
436 messenger, "flutter/windowing", "modifyRegular", modify_args,
437 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
438 gpointer user_data) {
439 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
440 gboolean* called = static_cast<gboolean*>(user_data);
441 *called = TRUE;
442 },
443 &modify_called);
444 EXPECT_TRUE(modify_called);
445
446 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
447}
gboolean gtk_window_is_maximized(GtkWindow *window)
Definition mock_gtk.cc:211
void gtk_window_unmaximize(GtkWindow *window)
Definition mock_gtk.cc:206

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gtk_window_is_maximized(), gtk_window_maximize(), gtk_window_new(), gtk_window_unmaximize(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [14/15]

TEST ( FlWindowingHandlerTest  ,
ModifyRegularUnminimize   
)

Definition at line 494 of file fl_windowing_handler_test.cc.

494 {
496 ::testing::NiceMock<flutter::testing::MockGtk> mock_gtk;
497
498 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
499 g_autoptr(FlEngine) engine =
500 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
501 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
502
503 EXPECT_CALL(mock_gtk, gtk_window_new);
504 EXPECT_CALL(mock_gtk, gtk_window_iconify(::testing::_));
505
506 g_autoptr(FlValue) create_args = make_create_regular_args(800, 600);
507 fl_value_set_string_take(create_args, "state",
508 fl_value_new_string("WindowState.minimized"));
509
510 int64_t view_id = -1;
512 messenger, "flutter/windowing", "createRegular", create_args,
513 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
514 gpointer user_data) {
515 int64_t* view_id = static_cast<int64_t*>(user_data);
517 },
518 &view_id);
519 EXPECT_GT(view_id, 0);
520
521 EXPECT_CALL(mock_gtk, gdk_window_get_state(::testing::_))
522 .WillOnce(::testing::Return(GDK_WINDOW_STATE_ICONIFIED));
523 EXPECT_CALL(mock_gtk, gtk_window_deiconify(::testing::_));
524
526 fl_value_set_string_take(modify_args, "state",
527 fl_value_new_string("WindowState.restored"));
528
529 gboolean modify_called = FALSE;
531 messenger, "flutter/windowing", "modifyRegular", modify_args,
532 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
533 gpointer user_data) {
534 EXPECT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response));
535 gboolean* called = static_cast<gboolean*>(user_data);
536 *called = TRUE;
537 },
538 &modify_called);
539 EXPECT_TRUE(modify_called);
540
541 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
542}
void gtk_window_deiconify(GtkWindow *window)
Definition mock_gtk.cc:221
GdkWindowState gdk_window_get_state(GdkWindow *window)
Definition mock_gtk.cc:89

References engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), flutter::testing::fl_ensure_gtk_init(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_value_new_string(), fl_value_set_string_take(), fl_windowing_handler_new(), g_autoptr(), gdk_window_get_state(), gtk_window_deiconify(), gtk_window_iconify(), gtk_window_new(), handler, make_create_regular_args(), make_modify_regular_args(), parse_create_regular_response(), TRUE, user_data, and view_id.

◆ TEST() [15/15]

TEST ( FlWindowingHandlerTest  ,
ModifyUnknownWindow   
)

Definition at line 544 of file fl_windowing_handler_test.cc.

544 {
545 g_autoptr(FlMockBinaryMessenger) messenger = fl_mock_binary_messenger_new();
546 g_autoptr(FlEngine) engine =
547 fl_engine_new_with_binary_messenger(FL_BINARY_MESSENGER(messenger));
548 g_autoptr(FlWindowingHandler) handler = fl_windowing_handler_new(engine);
549
551
552 gboolean called = FALSE;
554 messenger, "flutter/windowing", "modifyRegular", args,
555 [](FlMockBinaryMessenger* messenger, FlMethodResponse* response,
556 gpointer user_data) {
557 EXPECT_TRUE(FL_IS_METHOD_ERROR_RESPONSE(response));
559 FL_METHOD_ERROR_RESPONSE(response)),
560 "Bad Arguments");
562 FL_METHOD_ERROR_RESPONSE(response)),
563 "No window with given view ID");
564 gboolean* called = static_cast<gboolean*>(user_data);
565 *called = TRUE;
566 },
567 &called);
568 EXPECT_TRUE(called);
569
570 fl_binary_messenger_shutdown(FL_BINARY_MESSENGER(messenger));
571}

References args, engine, fl_binary_messenger_shutdown(), fl_engine_new_with_binary_messenger(), fl_method_error_response_get_code(), fl_method_error_response_get_message(), fl_mock_binary_messenger_invoke_standard_method(), fl_mock_binary_messenger_new(), fl_windowing_handler_new(), g_autoptr(), handler, make_modify_regular_args(), TRUE, and user_data.