diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2015-05-06 15:25:28 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2015-05-20 12:44:58 +1000 |
commit | ad02d0df75318660c3f7cd6063eac409327fe560 (patch) | |
tree | 21e7dd1b7253613d452a9d372343fce656ac193a /test | |
parent | da10d0cb4283ad5a9c4290555751f61795d11b49 (diff) |
test: add tests for new valuator mask features
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/input.c | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/test/input.c b/test/input.c index a4615c9c9..91ee43c46 100644 --- a/test/input.c +++ b/test/input.c @@ -1358,6 +1358,68 @@ dix_valuator_mode(void) } static void +dix_input_valuator_masks_unaccel(void) +{ + ValuatorMask *mask = NULL; + double x, ux; + + /* set mask normally */ + mask = valuator_mask_new(MAX_VALUATORS); + assert(!valuator_mask_has_unaccelerated(mask)); + valuator_mask_set_double(mask, 0, 1.0); + assert(!valuator_mask_has_unaccelerated(mask)); + valuator_mask_unset(mask, 0); + assert(!valuator_mask_has_unaccelerated(mask)); + + /* all unset, now set accel mask */ + valuator_mask_set_unaccelerated(mask, 0, 1.0, 2.0); + assert(valuator_mask_has_unaccelerated(mask)); + assert(valuator_mask_isset(mask, 0)); + assert(!valuator_mask_isset(mask, 1)); + assert(valuator_mask_get_accelerated(mask, 0) == 1.0); + assert(valuator_mask_get_unaccelerated(mask, 0) == 2.0); + assert(valuator_mask_fetch_unaccelerated(mask, 0, &x, &ux)); + assert(x == 1.0); + assert(ux == 2.0); + x = 0xff; + ux = 0xfe; + assert(!valuator_mask_fetch_unaccelerated(mask, 1, &x, &ux)); + assert(x == 0xff); + assert(ux == 0xfe); + + /* all unset, now set normally again */ + valuator_mask_unset(mask, 0); + assert(!valuator_mask_has_unaccelerated(mask)); + assert(!valuator_mask_isset(mask, 0)); + valuator_mask_set_double(mask, 0, 1.0); + assert(!valuator_mask_has_unaccelerated(mask)); + valuator_mask_unset(mask, 0); + assert(!valuator_mask_has_unaccelerated(mask)); + + valuator_mask_zero(mask); + assert(!valuator_mask_has_unaccelerated(mask)); + + valuator_mask_set_unaccelerated(mask, 0, 1.0, 2.0); + valuator_mask_set_unaccelerated(mask, 1, 3.0, 4.5); + assert(valuator_mask_isset(mask, 0)); + assert(valuator_mask_isset(mask, 1)); + assert(!valuator_mask_isset(mask, 2)); + assert(valuator_mask_has_unaccelerated(mask)); + assert(valuator_mask_get_accelerated(mask, 0) == 1.0); + assert(valuator_mask_get_accelerated(mask, 1) == 3.0); + assert(valuator_mask_get_unaccelerated(mask, 0) == 2.0); + assert(valuator_mask_get_unaccelerated(mask, 1) == 4.5); + assert(valuator_mask_fetch_unaccelerated(mask, 0, &x, &ux)); + assert(x == 1.0); + assert(ux == 2.0); + assert(valuator_mask_fetch_unaccelerated(mask, 1, &x, &ux)); + assert(x == 3.0); + assert(ux == 4.5); + + valuator_mask_free(&mask); +} + +static void include_bit_test_macros(void) { uint8_t mask[9] = { 0 }; @@ -1847,6 +1909,7 @@ main(int argc, char **argv) dix_enqueue_events(); dix_double_fp_conversion(); dix_input_valuator_masks(); + dix_input_valuator_masks_unaccel(); dix_input_attributes(); dix_init_valuators(); dix_event_to_core_conversion(); |