[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