From: Nobuhiko Tanibata <nobuhiko_tanib...@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_tanib...@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paala...@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 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel