Changeset 1026cc4 in mainline for uspace/lib/ui/test/scrollbar.c


Ignore:
Timestamp:
2022-03-20T19:51:09Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
26c90dd
Parents:
5ef85c0
Message:

Clicking scrollbar through to generate page up / page down

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/test/scrollbar.c

    r5ef85c0 r1026cc4  
    6565static void test_scrollbar_up(ui_scrollbar_t *, void *);
    6666static void test_scrollbar_down(ui_scrollbar_t *, void *);
     67static void test_scrollbar_page_up(ui_scrollbar_t *, void *);
     68static void test_scrollbar_page_down(ui_scrollbar_t *, void *);
    6769static void test_scrollbar_moved(ui_scrollbar_t *, void *, gfx_coord_t);
    6870
     
    7072        .up = test_scrollbar_up,
    7173        .down = test_scrollbar_down,
     74        .page_up = test_scrollbar_page_up,
     75        .page_down = test_scrollbar_page_down,
    7276        .moved = test_scrollbar_moved
    7377};
     
    96100        bool up;
    97101        bool down;
     102        bool page_up;
     103        bool page_down;
    98104        bool moved;
    99105        gfx_coord_t pos;
     
    295301        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    296302
    297         PCUT_ASSERT_FALSE(scrollbar->held);
     303        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    298304
    299305        rect.p0.x = 10;
     
    337343        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    338344
    339         PCUT_ASSERT_FALSE(scrollbar->held);
     345        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    340346
    341347        rect.p0.x = 10;
     
    379385        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    380386
    381         PCUT_ASSERT_FALSE(scrollbar->held);
     387        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    382388
    383389        rect.p0.x = 10;
     
    419425        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    420426
    421         PCUT_ASSERT_FALSE(scrollbar->held);
     427        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    422428
    423429        rect.p0.x = 10;
     
    459465        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    460466
    461         PCUT_ASSERT_FALSE(scrollbar->held);
     467        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    462468
    463469        rect.p0.x = 10;
     
    489495}
    490496
    491 /** Press and release scrollbar */
    492 PCUT_TEST(press_release)
     497/** Press and release scrollbar thumb */
     498PCUT_TEST(thumb_press_release)
    493499{
    494500        errno_t rc;
     
    521527        ui_scrollbar_set_cb(scrollbar, &test_scrollbar_cb, &resp);
    522528
    523         PCUT_ASSERT_FALSE(scrollbar->held);
     529        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    524530
    525531        pos.x = 11;
    526532        pos.y = 22;
    527533
    528         ui_scrollbar_press(scrollbar, &pos);
    529         PCUT_ASSERT_TRUE(scrollbar->held);
     534        ui_scrollbar_thumb_press(scrollbar, &pos);
     535        PCUT_ASSERT_TRUE(scrollbar->thumb_held);
    530536        PCUT_ASSERT_FALSE(resp.moved);
    531537
     
    534540
    535541        ui_scrollbar_release(scrollbar, &pos);
    536         PCUT_ASSERT_FALSE(scrollbar->held);
     542        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    537543        PCUT_ASSERT_TRUE(resp.moved);
    538544        PCUT_ASSERT_INT_EQUALS(10, scrollbar->pos);
     
    577583        ui_scrollbar_set_cb(scrollbar, &test_scrollbar_cb, &resp);
    578584
    579         PCUT_ASSERT_FALSE(scrollbar->held);
     585        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    580586
    581587        pos.x = 11;
    582588        pos.y = 22;
    583589
    584         ui_scrollbar_press(scrollbar, &pos);
    585         PCUT_ASSERT_TRUE(scrollbar->held);
     590        ui_scrollbar_thumb_press(scrollbar, &pos);
     591        PCUT_ASSERT_TRUE(scrollbar->thumb_held);
    586592        PCUT_ASSERT_FALSE(resp.moved);
    587593
     
    590596
    591597        ui_scrollbar_update(scrollbar, &pos);
    592         PCUT_ASSERT_TRUE(scrollbar->held);
     598        PCUT_ASSERT_TRUE(scrollbar->thumb_held);
    593599        PCUT_ASSERT_TRUE(resp.moved);
    594600        PCUT_ASSERT_INT_EQUALS(10, scrollbar->pos);
     
    598604
    599605        ui_scrollbar_release(scrollbar, &pos);
    600         PCUT_ASSERT_FALSE(scrollbar->held);
     606        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    601607        PCUT_ASSERT_TRUE(resp.moved);
    602608        PCUT_ASSERT_INT_EQUALS(20, scrollbar->pos);
     
    683689        ui_scrollbar_down(scrollbar);
    684690        PCUT_ASSERT_TRUE(resp.down);
     691
     692        ui_scrollbar_destroy(scrollbar);
     693        ui_resource_destroy(resource);
     694
     695        rc = gfx_context_delete(gc);
     696        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     697}
     698
     699/** ui_scrollbar_page_up() delivers page up event */
     700PCUT_TEST(page_up)
     701{
     702        ui_scrollbar_t *scrollbar;
     703        errno_t rc;
     704        gfx_context_t *gc = NULL;
     705        test_gc_t tgc;
     706        ui_resource_t *resource = NULL;
     707        test_cb_resp_t resp;
     708
     709        memset(&tgc, 0, sizeof(tgc));
     710        rc = gfx_context_new(&ops, &tgc, &gc);
     711        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     712
     713        rc = ui_resource_create(gc, false, &resource);
     714        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     715        PCUT_ASSERT_NOT_NULL(resource);
     716
     717        rc = ui_scrollbar_create(resource, &scrollbar);
     718        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     719
     720        /* Page up with no callbacks set */
     721        ui_scrollbar_page_up(scrollbar);
     722
     723        /* Pge up with callback not implementing page up */
     724        ui_scrollbar_set_cb(scrollbar, &dummy_scrollbar_cb, NULL);
     725        ui_scrollbar_page_up(scrollbar);
     726
     727        /* Page up with real callback set */
     728        resp.page_up = false;
     729        ui_scrollbar_set_cb(scrollbar, &test_scrollbar_cb, &resp);
     730        ui_scrollbar_page_up(scrollbar);
     731        PCUT_ASSERT_TRUE(resp.page_up);
     732
     733        ui_scrollbar_destroy(scrollbar);
     734        ui_resource_destroy(resource);
     735
     736        rc = gfx_context_delete(gc);
     737        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     738}
     739
     740/** ui_scrollbar_page_down() delivers page down event */
     741PCUT_TEST(page_down)
     742{
     743        ui_scrollbar_t *scrollbar;
     744        errno_t rc;
     745        gfx_context_t *gc = NULL;
     746        test_gc_t tgc;
     747        ui_resource_t *resource = NULL;
     748        test_cb_resp_t resp;
     749
     750        memset(&tgc, 0, sizeof(tgc));
     751        rc = gfx_context_new(&ops, &tgc, &gc);
     752        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     753
     754        rc = ui_resource_create(gc, false, &resource);
     755        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     756        PCUT_ASSERT_NOT_NULL(resource);
     757
     758        rc = ui_scrollbar_create(resource, &scrollbar);
     759        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     760
     761        /* Page down with no callbacks set */
     762        ui_scrollbar_page_down(scrollbar);
     763
     764        /* Page down with callback not implementing page down */
     765        ui_scrollbar_set_cb(scrollbar, &dummy_scrollbar_cb, NULL);
     766        ui_scrollbar_page_down(scrollbar);
     767
     768        /* Page down with real callback set */
     769        resp.page_down = false;
     770        ui_scrollbar_set_cb(scrollbar, &test_scrollbar_cb, &resp);
     771        ui_scrollbar_page_down(scrollbar);
     772        PCUT_ASSERT_TRUE(resp.page_down);
    685773
    686774        ui_scrollbar_destroy(scrollbar);
     
    757845        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    758846
    759         PCUT_ASSERT_FALSE(scrollbar->held);
     847        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    760848
    761849        rect.p0.x = 20;
     
    770858        event.vpos = 2;
    771859        claim = ui_scrollbar_pos_event(scrollbar, &event);
    772         PCUT_ASSERT_FALSE(scrollbar->held);
     860        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    773861        PCUT_ASSERT_EQUALS(ui_unclaimed, claim);
    774862
     
    778866        event.vpos = 20;
    779867        claim = ui_scrollbar_pos_event(scrollbar, &event);
    780         PCUT_ASSERT_TRUE(scrollbar->held);
     868        PCUT_ASSERT_TRUE(scrollbar->thumb_held);
    781869        PCUT_ASSERT_EQUALS(ui_claimed, claim);
    782870
     
    786874        event.vpos = 32;
    787875        claim = ui_scrollbar_pos_event(scrollbar, &event);
    788         PCUT_ASSERT_FALSE(scrollbar->held);
     876        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    789877        PCUT_ASSERT_EQUALS(ui_claimed, claim);
    790878
     
    819907        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    820908
    821         PCUT_ASSERT_FALSE(scrollbar->held);
     909        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    822910
    823911        rect.p0.x = 20;
     
    865953        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    866954
    867         PCUT_ASSERT_FALSE(scrollbar->held);
     955        PCUT_ASSERT_FALSE(scrollbar->thumb_held);
    868956
    869957        rect.p0.x = 20;
     
    9941082}
    9951083
     1084static void test_scrollbar_page_up(ui_scrollbar_t *scrollbar, void *arg)
     1085{
     1086        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     1087
     1088        resp->page_up = true;
     1089}
     1090
     1091static void test_scrollbar_page_down(ui_scrollbar_t *scrollbar, void *arg)
     1092{
     1093        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     1094
     1095        resp->page_down = true;
     1096}
     1097
    9961098static void test_scrollbar_moved(ui_scrollbar_t *scrollbar, void *arg, gfx_coord_t pos)
    9971099{
Note: See TracChangeset for help on using the changeset viewer.