2 #include "mockclient.h"
3 #include "mockcompositor.h"
7 #include <libds-tizen/remote_surface.h>
8 #include <tizen-remote-surface-client-protocol.h>
9 #include <wayland-tbm-client.h>
10 #include <wayland-tbm-server.h>
12 TEST(RemoteSurfaceSimpleTest, CreateRemoteSurfaceManager)
14 struct wl_display *display = wl_display_create();
16 struct ds_tizen_remote_surface_manager *remote_surface_manager =
17 ds_tizen_remote_surface_manager_create(display);
18 ASSERT_NE(remote_surface_manager, nullptr);
20 wl_display_destroy(display);
23 class RemoteSurfaceCompositor : public MockCompositor, public ::testing::Test
26 RemoteSurfaceCompositor() :
27 MockCompositor(&RemoteSurfaceCompositor::SetUpComp, this)
31 static void SetUpComp(void *data)
33 RemoteSurfaceCompositor *comp = static_cast<RemoteSurfaceCompositor*>(data);
35 struct ds_tizen_remote_surface_manager *remote_surface_manager =
36 ds_tizen_remote_surface_manager_create(comp->GetWlDisplay());
37 ASSERT_NE(remote_surface_manager, nullptr);
39 struct wayland_tbm_server *tbm_server =
40 wayland_tbm_server_init(comp->GetWlDisplay(), NULL, -1, 0);;
41 ASSERT_NE(tbm_server, nullptr);
45 static void handle_global(void *data, struct wl_registry *registry,
46 uint32_t name, const char *interface, uint32_t version);
47 static void handle_global_remove(void *data, struct wl_registry *registry,
50 static const struct wl_registry_listener registry_listener = {
51 .global = handle_global,
52 .global_remove = handle_global_remove,
55 class MockRemoteSurfaceClient : public MockClient
58 MockRemoteSurfaceClient() : MockClient(®istry_listener, this),
60 provider_visibility(0),
63 EXPECT_NE(this->compositor, nullptr);
64 EXPECT_NE(this->remote_surface_manager, nullptr);
66 surface = wl_compositor_create_surface(this->compositor);
67 EXPECT_NE(this->surface, nullptr);
69 surface2 = wl_compositor_create_surface(this->compositor);
70 EXPECT_NE(this->surface, nullptr);
72 wl_tbm_client = wayland_tbm_client_init(GetWlDisplay());
73 EXPECT_NE(wl_tbm_client, nullptr);
75 wl_tbm = wayland_tbm_client_get_wl_tbm(wl_tbm_client);
78 ~MockRemoteSurfaceClient()
80 wl_surface_destroy(this->surface);
81 tizen_remote_surface_manager_destroy(this->remote_surface_manager);
82 wl_compositor_destroy(this->compositor);
85 struct wl_compositor *compositor;
86 struct tizen_remote_surface_manager *remote_surface_manager;
87 struct wl_surface *surface, *surface2;
89 uint32_t provider_visibility;
90 uint32_t input_event_filter;
91 struct wayland_tbm_client *wl_tbm_client;
92 struct wl_tbm *wl_tbm;
96 handle_global(void *data, struct wl_registry *registry,
97 uint32_t name, const char *interface, uint32_t version)
99 MockRemoteSurfaceClient *client = static_cast<MockRemoteSurfaceClient*>(data);
101 if (strcmp(interface, "wl_compositor") == 0) {
102 client->compositor = static_cast<struct wl_compositor *>(
103 wl_registry_bind(registry, name, &wl_compositor_interface, 4));
104 } else if (strcmp(interface, "tizen_remote_surface_manager") == 0) {
105 client->remote_surface_manager = static_cast<struct tizen_remote_surface_manager *>(
106 wl_registry_bind(registry, name, &tizen_remote_surface_manager_interface, 6));
111 handle_global_remove(void *data, struct wl_registry *registry, uint32_t name)
116 handle_provider_resource_id(void *data,
117 struct tizen_remote_surface_provider *provider,
118 uint32_t resource_id)
120 MockRemoteSurfaceClient *client = static_cast<MockRemoteSurfaceClient*>(data);
122 client->resource_id = resource_id;
126 handle_provider_visibility(void *data,
127 struct tizen_remote_surface_provider *provider,
130 MockRemoteSurfaceClient *client = static_cast<MockRemoteSurfaceClient*>(data);
132 client->provider_visibility = visibility;
135 static const struct tizen_remote_surface_provider_listener provider_listener =
137 handle_provider_resource_id,
138 handle_provider_visibility,
142 handle_remote_surface_update_buffer(void *data,
143 struct tizen_remote_surface *remote_surface,
144 struct wl_buffer *buffer,
147 wl_buffer_destroy(buffer);
151 handle_remote_surface_missing(void *data,
152 struct tizen_remote_surface *remote_surface)
157 handle_remote_surface_changed_buffer(void *data,
158 struct tizen_remote_surface *remote_surface,
160 struct wl_buffer *tbm,
164 struct wl_array *keys)
166 tbm_surface_h tbm_surface;
168 if (type == TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM) {
169 tbm_surface = static_cast<tbm_surface_h>(wl_buffer_get_user_data(tbm));
170 ASSERT_EQ(tbm_surface, nullptr);
172 wl_buffer_destroy(tbm);
179 handle_remote_surface_input_ev_filter(void *data,
180 struct tizen_remote_surface *tizen_remote_surface,
181 uint32_t input_event_filter)
183 MockRemoteSurfaceClient *client = static_cast<MockRemoteSurfaceClient*>(data);
185 client->input_event_filter = input_event_filter;
188 static const struct tizen_remote_surface_listener remote_surface_listener =
190 handle_remote_surface_update_buffer, /* deprecated */
191 handle_remote_surface_missing,
192 handle_remote_surface_changed_buffer,
193 handle_remote_surface_input_ev_filter,
196 TEST_F(RemoteSurfaceCompositor, CreateProvider)
198 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
200 struct tizen_remote_surface_provider *remote_surface_provider;
202 remote_surface_provider =
203 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
205 EXPECT_TRUE(remote_surface_provider);
207 tizen_remote_surface_provider_add_listener(remote_surface_provider,
211 client->ExpectNoError();
213 tizen_remote_surface_provider_destroy(remote_surface_provider);
217 TEST_F(RemoteSurfaceCompositor, ProviderOffscreenSet)
219 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
221 struct tizen_remote_surface_provider *remote_surface_provider;
223 remote_surface_provider =
224 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
226 EXPECT_TRUE(remote_surface_provider);
228 tizen_remote_surface_provider_add_listener(remote_surface_provider,
231 client->ExpectNoError();
233 tizen_remote_surface_provider_offscreen_set(remote_surface_provider, 1);
234 client->ExpectNoError();
236 tizen_remote_surface_provider_destroy(remote_surface_provider);
240 TEST_F(RemoteSurfaceCompositor, ProviderSetInputEventFilter)
242 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
244 struct tizen_remote_surface_provider *remote_surface_provider;
246 remote_surface_provider =
247 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
249 EXPECT_TRUE(remote_surface_provider);
251 tizen_remote_surface_provider_add_listener(remote_surface_provider,
254 client->ExpectNoError();
256 tizen_remote_surface_provider_set_input_event_filter(remote_surface_provider,
257 TIZEN_REMOTE_SURFACE_INPUT_EVENT_FILTER_MOUSE_ALL|
258 TIZEN_REMOTE_SURFACE_INPUT_EVENT_FILTER_MOUSE_WHEEL_ALL |
259 TIZEN_REMOTE_SURFACE_INPUT_EVENT_FILTER_TOUCH_ALL |
260 TIZEN_REMOTE_SURFACE_INPUT_EVENT_FILTER_TOUCH_CANCEL_ALL |
261 TIZEN_REMOTE_SURFACE_INPUT_EVENT_FILTER_KEY_ALL);
262 client->ExpectNoError();
264 tizen_remote_surface_provider_destroy(remote_surface_provider);
268 TEST_F(RemoteSurfaceCompositor, CreateSurface)
270 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
272 struct tizen_remote_surface_provider *remote_surface_provider;
273 struct tizen_remote_surface *remote_surface;
275 remote_surface_provider =
276 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
278 EXPECT_TRUE(remote_surface_provider);
280 tizen_remote_surface_provider_add_listener(remote_surface_provider,
283 client->ExpectNoError();
285 remote_surface = tizen_remote_surface_manager_create_surface(
286 client->remote_surface_manager, client->resource_id, client->wl_tbm);
287 EXPECT_TRUE(remote_surface);
289 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
290 client->ExpectNoError();
292 tizen_remote_surface_provider_destroy(remote_surface_provider);
293 tizen_remote_surface_destroy(remote_surface);
297 TEST_F(RemoteSurfaceCompositor, CreateSurfaceWithWlSurface)
299 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
301 struct tizen_remote_surface_provider *remote_surface_provider;
302 struct tizen_remote_surface *remote_surface;
304 remote_surface_provider =
305 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
307 EXPECT_TRUE(remote_surface_provider);
309 tizen_remote_surface_provider_add_listener(remote_surface_provider,
312 client->ExpectNoError();
314 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
315 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
316 EXPECT_TRUE(remote_surface);
318 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
319 client->ExpectNoError();
321 tizen_remote_surface_provider_destroy(remote_surface_provider);
322 tizen_remote_surface_destroy(remote_surface);
326 TEST_F(RemoteSurfaceCompositor, SurfaceRedirect)
328 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
330 struct tizen_remote_surface_provider *remote_surface_provider;
331 struct tizen_remote_surface *remote_surface;
333 remote_surface_provider =
334 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
336 EXPECT_TRUE(remote_surface_provider);
338 tizen_remote_surface_provider_add_listener(remote_surface_provider,
341 client->ExpectNoError();
343 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
344 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
345 EXPECT_TRUE(remote_surface);
347 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
348 client->ExpectNoError();
350 tizen_remote_surface_redirect(remote_surface);
351 client->ExpectNoError();
353 tizen_remote_surface_provider_destroy(remote_surface_provider);
354 tizen_remote_surface_destroy(remote_surface);
358 TEST_F(RemoteSurfaceCompositor, SurfaceUnredirect)
360 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
362 struct tizen_remote_surface_provider *remote_surface_provider;
363 struct tizen_remote_surface *remote_surface;
365 remote_surface_provider =
366 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
368 EXPECT_TRUE(remote_surface_provider);
370 tizen_remote_surface_provider_add_listener(remote_surface_provider,
373 client->ExpectNoError();
375 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
376 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
377 EXPECT_TRUE(remote_surface);
379 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
380 client->ExpectNoError();
382 tizen_remote_surface_unredirect(remote_surface);
383 client->ExpectNoError();
385 tizen_remote_surface_provider_destroy(remote_surface_provider);
386 tizen_remote_surface_destroy(remote_surface);
390 TEST_F(RemoteSurfaceCompositor, SurfaceTransferMouseEvent)
392 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
394 struct tizen_remote_surface_provider *remote_surface_provider;
395 struct tizen_remote_surface *remote_surface;
396 uint32_t event_type = 0;
399 int32_t x = 0, y = 0;
400 wl_fixed_t radius_x = 0, radius_y = 0;
401 wl_fixed_t pressure = 0;
402 wl_fixed_t angle = 0;
403 uint32_t clas = 0, subclas = 0;
404 const char *identifier = "test_identifier";
407 remote_surface_provider =
408 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
410 EXPECT_TRUE(remote_surface_provider);
412 tizen_remote_surface_provider_add_listener(remote_surface_provider,
415 client->ExpectNoError();
417 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
418 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
419 EXPECT_TRUE(remote_surface);
421 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
422 client->ExpectNoError();
424 tizen_remote_surface_transfer_mouse_event(remote_surface,
438 client->ExpectNoError();
440 tizen_remote_surface_provider_destroy(remote_surface_provider);
441 tizen_remote_surface_destroy(remote_surface);
445 TEST_F(RemoteSurfaceCompositor, SurfaceTransferMouseWheel)
447 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
449 struct tizen_remote_surface_provider *remote_surface_provider;
450 struct tizen_remote_surface *remote_surface;
451 uint32_t direction = 0;
453 uint32_t clas = 0, subclas = 0;
454 const char *identifier = "test_identifier";
457 remote_surface_provider =
458 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
460 EXPECT_TRUE(remote_surface_provider);
462 tizen_remote_surface_provider_add_listener(remote_surface_provider,
465 client->ExpectNoError();
467 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
468 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
469 EXPECT_TRUE(remote_surface);
471 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
472 client->ExpectNoError();
474 tizen_remote_surface_transfer_mouse_wheel(remote_surface,
481 client->ExpectNoError();
483 tizen_remote_surface_provider_destroy(remote_surface_provider);
484 tizen_remote_surface_destroy(remote_surface);
488 TEST_F(RemoteSurfaceCompositor, SurfaceTransferTouchEvent)
490 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
492 struct tizen_remote_surface_provider *remote_surface_provider;
493 struct tizen_remote_surface *remote_surface;
494 uint32_t event_type = 0;
497 int32_t x = 0, y = 0;
498 wl_fixed_t radius_x = 0, radius_y = 0;
499 wl_fixed_t pressure = 0;
500 wl_fixed_t angle = 0;
501 uint32_t clas = 0, subclas = 0;
502 const char *identifier = "test_identifier";
505 remote_surface_provider =
506 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
508 EXPECT_TRUE(remote_surface_provider);
510 tizen_remote_surface_provider_add_listener(remote_surface_provider,
513 client->ExpectNoError();
515 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
516 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
517 EXPECT_TRUE(remote_surface);
519 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
520 client->ExpectNoError();
522 tizen_remote_surface_transfer_touch_event(remote_surface,
536 client->ExpectNoError();
538 tizen_remote_surface_provider_destroy(remote_surface_provider);
539 tizen_remote_surface_destroy(remote_surface);
543 TEST_F(RemoteSurfaceCompositor, SurfaceTransferTouchCancel)
545 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
547 struct tizen_remote_surface_provider *remote_surface_provider;
548 struct tizen_remote_surface *remote_surface;
550 remote_surface_provider =
551 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
553 EXPECT_TRUE(remote_surface_provider);
555 tizen_remote_surface_provider_add_listener(remote_surface_provider,
558 client->ExpectNoError();
560 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
561 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
562 EXPECT_TRUE(remote_surface);
564 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
565 client->ExpectNoError();
567 tizen_remote_surface_transfer_touch_cancel(remote_surface);
568 client->ExpectNoError();
570 tizen_remote_surface_provider_destroy(remote_surface_provider);
571 tizen_remote_surface_destroy(remote_surface);
575 TEST_F(RemoteSurfaceCompositor, SurfaceTransferKeyEvent)
577 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
579 struct tizen_remote_surface_provider *remote_surface_provider;
580 struct tizen_remote_surface *remote_surface;
581 uint32_t event_type = 0;
583 uint32_t clas = 0, subclas = 0;
584 const char *identifier = "test_identifier";
587 remote_surface_provider =
588 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
590 EXPECT_TRUE(remote_surface_provider);
592 tizen_remote_surface_provider_add_listener(remote_surface_provider,
595 client->ExpectNoError();
597 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
598 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
599 EXPECT_TRUE(remote_surface);
601 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
602 client->ExpectNoError();
604 tizen_remote_surface_transfer_key_event(remote_surface,
611 client->ExpectNoError();
613 tizen_remote_surface_provider_destroy(remote_surface_provider);
614 tizen_remote_surface_destroy(remote_surface);
618 TEST_F(RemoteSurfaceCompositor, SurfaceTransferVisibility)
620 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
622 struct tizen_remote_surface_provider *remote_surface_provider;
623 struct tizen_remote_surface *remote_surface;
625 remote_surface_provider =
626 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
628 EXPECT_TRUE(remote_surface_provider);
630 tizen_remote_surface_provider_add_listener(remote_surface_provider,
633 client->ExpectNoError();
635 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
636 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
637 EXPECT_TRUE(remote_surface);
639 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
640 client->ExpectNoError();
642 tizen_remote_surface_transfer_visibility(remote_surface,
643 TIZEN_REMOTE_SURFACE_VISIBILITY_TYPE_VISIBLE);
644 client->ExpectNoError();
646 tizen_remote_surface_provider_destroy(remote_surface_provider);
647 tizen_remote_surface_destroy(remote_surface);
651 TEST_F(RemoteSurfaceCompositor, SurfaceSetOwner)
653 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
655 struct tizen_remote_surface_provider *remote_surface_provider;
656 struct tizen_remote_surface *remote_surface;
658 remote_surface_provider =
659 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
661 EXPECT_TRUE(remote_surface_provider);
663 tizen_remote_surface_provider_add_listener(remote_surface_provider,
666 client->ExpectNoError();
668 remote_surface = tizen_remote_surface_manager_create_surface(
669 client->remote_surface_manager, client->resource_id, client->wl_tbm);
670 EXPECT_TRUE(remote_surface);
672 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
673 client->ExpectNoError();
675 tizen_remote_surface_set_owner(remote_surface, client->surface2);
676 client->ExpectNoError();
678 tizen_remote_surface_provider_destroy(remote_surface_provider);
679 tizen_remote_surface_destroy(remote_surface);
683 TEST_F(RemoteSurfaceCompositor, SurfaceSetRemoteRender)
685 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
687 struct tizen_remote_surface_provider *remote_surface_provider;
688 struct tizen_remote_surface *remote_surface;
690 remote_surface_provider =
691 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
693 EXPECT_TRUE(remote_surface_provider);
695 tizen_remote_surface_provider_add_listener(remote_surface_provider,
698 client->ExpectNoError();
700 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
701 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
702 EXPECT_TRUE(remote_surface);
704 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
705 client->ExpectNoError();
707 tizen_remote_surface_set_remote_render(remote_surface, 1);
708 client->ExpectNoError();
710 tizen_remote_surface_provider_destroy(remote_surface_provider);
711 tizen_remote_surface_destroy(remote_surface);
715 TEST_F(RemoteSurfaceCompositor, SurfaceSetChangedBufferEventFilter)
717 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
719 struct tizen_remote_surface_provider *remote_surface_provider;
720 struct tizen_remote_surface *remote_surface;
722 remote_surface_provider =
723 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
725 EXPECT_TRUE(remote_surface_provider);
727 tizen_remote_surface_provider_add_listener(remote_surface_provider,
730 client->ExpectNoError();
732 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
733 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
734 EXPECT_TRUE(remote_surface);
736 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
737 client->ExpectNoError();
739 tizen_remote_surface_set_changed_buffer_event_filter(remote_surface,
740 TIZEN_REMOTE_SURFACE_CHANGED_BUFFER_EVENT_FILTER_TBM |
741 TIZEN_REMOTE_SURFACE_CHANGED_BUFFER_EVENT_FILTER_IMAGE_FILE);
742 client->ExpectNoError();
744 tizen_remote_surface_provider_destroy(remote_surface_provider);
745 tizen_remote_surface_destroy(remote_surface);
749 TEST_F(RemoteSurfaceCompositor, SurfaceGetCurrentBuffer)
751 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
753 struct tizen_remote_surface_provider *remote_surface_provider;
754 struct tizen_remote_surface *remote_surface;
756 remote_surface_provider =
757 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
759 EXPECT_TRUE(remote_surface_provider);
761 tizen_remote_surface_provider_add_listener(remote_surface_provider,
764 client->ExpectNoError();
766 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
767 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
768 EXPECT_TRUE(remote_surface);
770 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
771 client->ExpectNoError();
773 tizen_remote_surface_get_current_buffer(remote_surface, TIZEN_REMOTE_SURFACE_BUFFER_TYPE_TBM, 1);
774 client->ExpectNoError();
776 tizen_remote_surface_provider_destroy(remote_surface_provider);
777 tizen_remote_surface_destroy(remote_surface);
781 TEST_F(RemoteSurfaceCompositor, RegionSetGeometry)
783 MockRemoteSurfaceClient *client = new MockRemoteSurfaceClient();
785 struct tizen_remote_surface_provider *remote_surface_provider;
786 struct tizen_remote_surface *remote_surface;
787 struct tizen_remote_surface_region *region;
789 remote_surface_provider =
790 tizen_remote_surface_manager_create_provider(client->remote_surface_manager,
792 EXPECT_TRUE(remote_surface_provider);
794 tizen_remote_surface_provider_add_listener(remote_surface_provider,
797 client->ExpectNoError();
799 remote_surface = tizen_remote_surface_manager_create_surface_with_wl_surface(
800 client->remote_surface_manager, client->resource_id, client->wl_tbm, client->surface2);
801 EXPECT_TRUE(remote_surface);
803 tizen_remote_surface_add_listener(remote_surface, &remote_surface_listener, NULL);
804 client->ExpectNoError();
806 region = tizen_remote_surface_create_region(remote_surface);
809 tizen_remote_surface_region_set_geometry(region, 0, 0, 100, 100);
810 client->ExpectNoError();
812 tizen_remote_surface_provider_destroy(remote_surface_provider);
813 tizen_remote_surface_destroy(remote_surface);