[PATCH weston 4/8] tests: Use separate test cases for pointer motion and button tests
Pekka Paalanen
ppaalanen at gmail.com
Tue Dec 12 11:46:59 UTC 2017
On Mon, 4 Dec 2017 15:34:04 +0200
Alexandros Frantzis <alexandros.frantzis at collabora.com> wrote:
> Split pointer motion and pointer button tests so that each test case is
> more focused and self-contained.
>
> Signed-off-by: Alexandros Frantzis <alexandros.frantzis at collabora.com>
> ---
> tests/pointer-test.c | 36 +++++++++++++++++++++++++-----------
> 1 file changed, 25 insertions(+), 11 deletions(-)
>
> diff --git a/tests/pointer-test.c b/tests/pointer-test.c
> index d0b85f5d..e0e700e0 100644
> --- a/tests/pointer-test.c
> +++ b/tests/pointer-test.c
> @@ -69,6 +69,17 @@ check_pointer_move(struct client *client, int x, int y)
> check_pointer(client, x, y);
> }
>
> +static struct client *
> +create_client_with_pointer_focus(int x, int y, int w, int h)
> +{
> + struct client *cl = create_client_and_test_surface(x, y, w, h);
> + assert(cl);
> + /* Move the pointer inside the surface to ensure that the surface
> + * has the pointer focus. */
> + check_pointer_move(cl, x, y);
> + return cl;
> +}
> +
> TEST(test_pointer_top_left)
> {
> struct client *client;
> @@ -286,23 +297,26 @@ TEST(test_pointer_surface_move)
> check_pointer(client, 50, 50);
> }
>
> -TEST(simple_pointer_button_test)
> +TEST(pointer_motion_events)
> {
> - struct client *client;
> - struct pointer *pointer;
> -
> - client = create_client_and_test_surface(100, 100, 100, 100);
> - assert(client);
> -
> - pointer = client->input->pointer;
> -
> - assert(pointer->button == 0);
> - assert(pointer->state == 0);
> + struct client *client = create_client_with_pointer_focus(100, 100,
> + 100, 100);
> + struct pointer *pointer = client->input->pointer;
>
> weston_test_move_pointer(client->test->weston_test, 150, 150);
> client_roundtrip(client);
> assert(pointer->x == 50);
> assert(pointer->y == 50);
> +}
> +
> +TEST(pointer_button_events)
> +{
> + struct client *client = create_client_with_pointer_focus(100, 100,
> + 100, 100);
> + struct pointer *pointer = client->input->pointer;
> +
> + assert(pointer->button == 0);
> + assert(pointer->state == 0);
Hi,
this changes the position where the surface is clicked, but I cannot
see that make a difference. Now we are just ensuring that 0,0 does
actually fall inside the surface, i.e. the exact top-left corner is
inside.
R-b me and pushed this one:
5d6acf85..903e4450 master -> master
Thanks,
pq
>
> weston_test_send_button(client->test->weston_test, BTN_LEFT,
> WL_POINTER_BUTTON_STATE_PRESSED);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20171212/f8bc0906/attachment-0001.sig>
More information about the wayland-devel
mailing list