On Mon, Nov 24, 2014 at 03:53:37PM -0600, Derek Foreman wrote:
> Signed-off-by: Derek Foreman <[email protected]>
> ---
>  test/Makefile.am        |  7 ++++-
>  test/mouse_dpi_parser.c | 69 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 75 insertions(+), 1 deletion(-)
>  create mode 100644 test/mouse_dpi_parser.c

> diff --git a/test/Makefile.am b/test/Makefile.am
> index 0abd695..1f124a3 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -41,7 +41,8 @@ run_tests = \
>       test-trackpoint \
>       test-misc \
>       test-keyboard \
> -     test-device
> +     test-device \
> +     test-mouse_dpi_parser

any reason you didn't add this to misc.c?
I prefer having the tests roughly grouped over a separate file for each
small test.

>  build_tests = \
>       test-build-cxx \
>       test-build-linker \
> @@ -93,6 +94,10 @@ test_device_SOURCES = device.c
>  test_device_LDADD = $(TEST_LIBS)
>  test_device_LDFLAGS = -no-install
>  
> +test_mouse_dpi_parser_SOURCES = mouse_dpi_parser.c
> +test_mouse_dpi_parser_LDADD = $(TEST_LIBS)
> +test_mouse_dpi_parser_LDFLAGS = -no-install
> +
>  # build-test only
>  test_build_pedantic_c99_SOURCES = build-pedantic.c
>  test_build_pedantic_c99_CFLAGS = -std=c99 -pedantic -Werror
> diff --git a/test/mouse_dpi_parser.c b/test/mouse_dpi_parser.c
> new file mode 100644
> index 0000000..bde71cb
> --- /dev/null
> +++ b/test/mouse_dpi_parser.c
> @@ -0,0 +1,69 @@
> +/*
> + * Copyright © 2014 Samsung
> + *
> + * Permission to use, copy, modify, distribute, and sell this software and
> + * its documentation for any purpose is hereby granted without fee, provided
> + * that the above copyright notice appear in all copies and that both that
> + * copyright notice and this permission notice appear in supporting
> + * documentation, and that the name of the copyright holders not be used in
> + * advertising or publicity pertaining to distribution of the software
> + * without specific, written prior permission.  The copyright holders make
> + * no representations about the suitability of this software for any
> + * purpose.  It is provided "as is" without express or implied warranty.
> + *
> + * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
> + * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
> + * FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
> + * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
> + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
> + * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
> + * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
> + */
> +
> +#include <config.h>
> +
> +#include <check.h>
> +#include <libinput.h>
> +#include <libinput-util.h>
> +
> +#include "litest.h"
> +
> +struct parser_test {
> +     char *tag;
> +     int expected_dpi;
> +};
> +
> +START_TEST(udev_dpi_parser)
> +{
> +     struct parser_test tests[] = {
> +             { "450 *1800 3200", 1800 },
> +             { "*450 1800 3200", 450 },
> +             { "450 1800 *3200", 3200 },
> +             { "450 1800 *failboat", 0 },
> +             { "0 450 1800 *3200", 0 },
> +             { "450@37 1800@12 *3200@6", 3200 },
> +             { "450@125 1800@125   *3200@125  ", 3200 },
> +             { "450@125 *1800@125  3200@125", 1800 },
> +             { "*this @string fails", 0 },
> +             { "12@34 *45@", 0 },
> +             { "                                      * 12, 450, 800", 0 },
> +             { "                                      *12, 450, 800", 12 },
> +             { "*12, *450, 800", 12 },

pls add the empty string "" too, and tests for negative numbers.

Cheers,
   Peter

> +             { NULL }
> +     };
> +     int i, dpi;
> +
> +     for (i = 0; tests[i].tag != NULL; i++) {
> +             dpi = udev_parse_mouse_dpi_property(tests[i].tag);
> +             ck_assert(dpi == tests[i].expected_dpi);
> +     }
> +}
> +END_TEST
> +
> +int
> +main(int argc, char **argv)
> +{
> +     litest_add_no_device("udev:dpi parser", udev_dpi_parser);
> +
> +     return litest_run(argc, argv);
> +}
> -- 
> 2.1.3
> 
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> 
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to