[PATCH 01/14] tests: test set for ivi-surface normal use case with helper client

Nobuhiko Tanibata nobuhiko_tanibata at xddp.denso.co.jp
Sun Jun 21 23:33:17 PDT 2015


From: Nobuhiko Tanibata <NOBUHIKO_TANIBATA at xddp.denso.co.jp>

These tests are implemented on test suite framework, which provides
helper client.
Following features are tested for ivi-surface
- orientation
- dimension
- position
- destination rectangle
- source rectangle

Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA at xddp.denso.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>
---
 tests/ivi_layout-test-plugin.c | 219 ++++++++++++++++++++++++++++++++++++++---
 tests/ivi_layout-test.c        |   5 +
 2 files changed, 211 insertions(+), 13 deletions(-)

diff --git a/tests/ivi_layout-test-plugin.c b/tests/ivi_layout-test-plugin.c
index b4abfbf..1d0ce02 100644
--- a/tests/ivi_layout-test-plugin.c
+++ b/tests/ivi_layout-test-plugin.c
@@ -303,16 +303,16 @@ RUNNER_TEST(surface_create_p1)
 	uint32_t ivi_id;
 
 	ivisurf[0] = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
-	runner_assert_or_return(ivisurf[0]);
+	runner_assert(ivisurf[0]);
 
 	ivisurf[1] = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(1));
-	runner_assert_or_return(ivisurf[1]);
+	runner_assert(ivisurf[1]);
 
 	ivi_id = ctl->get_id_of_surface(ivisurf[0]);
-	runner_assert_or_return(ivi_id == IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivi_id == IVI_TEST_SURFACE_ID(0));
 
 	ivi_id = ctl->get_id_of_surface(ivisurf[1]);
-	runner_assert_or_return(ivi_id == IVI_TEST_SURFACE_ID(1));
+	runner_assert(ivi_id == IVI_TEST_SURFACE_ID(1));
 }
 
 RUNNER_TEST(surface_create_p2)
@@ -322,7 +322,7 @@ RUNNER_TEST(surface_create_p2)
 
 	/* the ivi_surface was destroyed by the client */
 	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
-	runner_assert_or_return(ivisurf == NULL);
+	runner_assert(ivisurf == NULL);
 }
 
 RUNNER_TEST(surface_visibility)
@@ -334,18 +334,18 @@ RUNNER_TEST(surface_visibility)
 	const struct ivi_layout_surface_properties *prop;
 
 	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
-	runner_assert_or_return(ivisurf);
+	runner_assert(ivisurf);
 
 	ret = ctl->surface_set_visibility(ivisurf, true);
-	runner_assert_or_return(ret == IVI_SUCCEEDED);
+	runner_assert(ret == IVI_SUCCEEDED);
 
 	ctl->commit_changes();
 
 	visibility = ctl->surface_get_visibility(ivisurf);
-	runner_assert_or_return(visibility == true);
+	runner_assert(visibility == true);
 
 	prop = ctl->get_properties_of_surface(ivisurf);
-	runner_assert_or_return(prop->visibility == true);
+	runner_assert(prop->visibility == true);
 }
 
 RUNNER_TEST(surface_opacity)
@@ -357,16 +357,209 @@ RUNNER_TEST(surface_opacity)
 	const struct ivi_layout_surface_properties *prop;
 
 	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
-	runner_assert_or_return(ivisurf);
+	runner_assert(ivisurf);
+
+	runner_assert(ctl->surface_get_opacity(ivisurf) ==
+		      wl_fixed_from_double(1.0));
 
 	ret = ctl->surface_set_opacity(ivisurf, wl_fixed_from_double(0.5));
-	runner_assert_or_return(ret == IVI_SUCCEEDED);
+	runner_assert(ret == IVI_SUCCEEDED);
+
+	runner_assert(ctl->surface_get_opacity(ivisurf) ==
+		      wl_fixed_from_double(1.0));
 
 	ctl->commit_changes();
 
 	opacity = ctl->surface_get_opacity(ivisurf);
-	runner_assert_or_return(opacity == wl_fixed_from_double(0.5));
+	runner_assert(opacity == wl_fixed_from_double(0.5));
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert(prop->opacity == wl_fixed_from_double(0.5));
+}
+
+RUNNER_TEST(surface_orientation)
+{
+	const struct ivi_controller_interface *ctl = ctx->controller_interface;
+	struct ivi_layout_surface *ivisurf;
+	const struct ivi_layout_surface_properties *prop;
+
+	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivisurf != NULL);
+
+	runner_assert(ctl->surface_get_orientation(ivisurf) ==
+		      WL_OUTPUT_TRANSFORM_NORMAL);
+
+	runner_assert(ctl->surface_set_orientation(
+		      ivisurf, WL_OUTPUT_TRANSFORM_90) == IVI_SUCCEEDED);
+
+	runner_assert(ctl->surface_get_orientation(ivisurf) ==
+		      WL_OUTPUT_TRANSFORM_NORMAL);
+
+	ctl->commit_changes();
+
+	runner_assert(ctl->surface_get_orientation(
+		      ivisurf) == WL_OUTPUT_TRANSFORM_90);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->orientation == WL_OUTPUT_TRANSFORM_90);
+}
+
+RUNNER_TEST(surface_dimension)
+{
+	const struct ivi_controller_interface *ctl = ctx->controller_interface;
+	struct ivi_layout_surface *ivisurf;
+	const struct ivi_layout_surface_properties *prop;
+	int32_t dest_width;
+	int32_t dest_height;
+
+	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivisurf != NULL);
+
+	runner_assert(ctl->surface_get_dimension(
+		      ivisurf, &dest_width, &dest_height) == IVI_SUCCEEDED);
+	runner_assert(dest_width == 1);
+	runner_assert(dest_height == 1);
+
+	runner_assert(IVI_SUCCEEDED ==
+		      ctl->surface_set_dimension(ivisurf, 200, 300));
+
+	runner_assert(ctl->surface_get_dimension(
+		      ivisurf, &dest_width, &dest_height) == IVI_SUCCEEDED);
+	runner_assert(dest_width == 1);
+	runner_assert(dest_height == 1);
+
+	ctl->commit_changes();
+
+	runner_assert(ctl->surface_get_dimension(
+		      ivisurf, &dest_width, &dest_height) == IVI_SUCCEEDED);
+	runner_assert(dest_width == 200);
+	runner_assert(dest_height == 300);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->dest_width == 200);
+	runner_assert(prop->dest_height == 300);
+}
+
+RUNNER_TEST(surface_position)
+{
+	const struct ivi_controller_interface *ctl = ctx->controller_interface;
+	struct ivi_layout_surface *ivisurf;
+	const struct ivi_layout_surface_properties *prop;
+	int32_t dest_x;
+	int32_t dest_y;
+
+	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivisurf != NULL);
+
+	runner_assert(ctl->surface_get_position(
+		      ivisurf, &dest_x, &dest_y) == IVI_SUCCEEDED);
+	runner_assert(dest_x == 0);
+	runner_assert(dest_y == 0);
+
+	runner_assert(ctl->surface_set_position(
+		      ivisurf, 20, 30) == IVI_SUCCEEDED);
+
+	runner_assert(ctl->surface_get_position(
+		      ivisurf, &dest_x, &dest_y) == IVI_SUCCEEDED);
+	runner_assert(dest_x == 0);
+	runner_assert(dest_y == 0);
+
+	ctl->commit_changes();
+
+	runner_assert(ctl->surface_get_position(
+		      ivisurf, &dest_x, &dest_y) == IVI_SUCCEEDED);
+	runner_assert(dest_x == 20);
+	runner_assert(dest_y == 30);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->dest_x == 20);
+	runner_assert(prop->dest_y == 30);
+}
+
+RUNNER_TEST(surface_destination_rectangle)
+{
+	const struct ivi_controller_interface *ctl = ctx->controller_interface;
+	struct ivi_layout_surface *ivisurf;
+	const struct ivi_layout_surface_properties *prop;
+	int32_t dest_width;
+	int32_t dest_height;
+	int32_t dest_x;
+	int32_t dest_y;
+
+	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivisurf != NULL);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->dest_width == 1);
+	runner_assert(prop->dest_height == 1);
+	runner_assert(prop->dest_x == 0);
+	runner_assert(prop->dest_y == 0);
+
+	runner_assert(ctl->surface_set_destination_rectangle(
+		      ivisurf, 20, 30, 200, 300) == IVI_SUCCEEDED);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->dest_width == 1);
+	runner_assert(prop->dest_height == 1);
+	runner_assert(prop->dest_x == 0);
+	runner_assert(prop->dest_y == 0);
+
+	ctl->commit_changes();
+
+	runner_assert(ctl->surface_get_dimension(
+		      ivisurf, &dest_width, &dest_height) == IVI_SUCCEEDED);
+	runner_assert(dest_width == 200);
+	runner_assert(dest_height == 300);
+
+	runner_assert(ctl->surface_get_position(ivisurf, &dest_x, &dest_y) == IVI_SUCCEEDED);
+	runner_assert(dest_x == 20);
+	runner_assert(dest_y == 30);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->dest_width == 200);
+	runner_assert(prop->dest_height == 300);
+	runner_assert(prop->dest_x == 20);
+	runner_assert(prop->dest_y == 30);
+}
+
+RUNNER_TEST(surface_source_rectangle)
+{
+	const struct ivi_controller_interface *ctl = ctx->controller_interface;
+	struct ivi_layout_surface *ivisurf;
+	const struct ivi_layout_surface_properties *prop;
+
+	ivisurf = ctl->get_surface_from_id(IVI_TEST_SURFACE_ID(0));
+	runner_assert(ivisurf != NULL);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->source_width == 0);
+	runner_assert(prop->source_height == 0);
+	runner_assert(prop->source_x == 0);
+	runner_assert(prop->source_y == 0);
+
+	runner_assert(ctl->surface_set_source_rectangle(
+		      ivisurf, 20, 30, 200, 300) == IVI_SUCCEEDED);
+
+	prop = ctl->get_properties_of_surface(ivisurf);
+	runner_assert_or_return(prop);
+	runner_assert(prop->source_width == 0);
+	runner_assert(prop->source_height == 0);
+	runner_assert(prop->source_x == 0);
+	runner_assert(prop->source_y == 0);
+
+	ctl->commit_changes();
 
 	prop = ctl->get_properties_of_surface(ivisurf);
-	runner_assert_or_return(prop->opacity == wl_fixed_from_double(0.5));
+	runner_assert_or_return(prop);
+	runner_assert(prop->source_width == 200);
+	runner_assert(prop->source_height == 300);
+	runner_assert(prop->source_x == 20);
+	runner_assert(prop->source_y == 30);
 }
diff --git a/tests/ivi_layout-test.c b/tests/ivi_layout-test.c
index d6401c4..ba0387b 100644
--- a/tests/ivi_layout-test.c
+++ b/tests/ivi_layout-test.c
@@ -190,6 +190,11 @@ ivi_window_destroy(struct ivi_window *wnd)
 const char * const basic_test_names[] = {
 	"surface_visibility",
 	"surface_opacity",
+	"surface_orientation",
+	"surface_dimension",
+	"surface_position",
+	"surface_destination_rectangle",
+	"surface_source_rectangle",
 };
 
 TEST_P(ivi_layout_runner, basic_test_names)
-- 
1.8.3.1



More information about the wayland-devel mailing list