Changeset 1af103e in mainline for uspace/lib/ui/test
- Timestamp:
- 2023-09-13T17:29:07Z (23 months ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 61643c8
- Parents:
- 46bd63c9
- Location:
- uspace/lib/ui/test
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/wdecor.c
r46bd63c9 r1af103e 62 62 }; 63 63 64 static void test_wdecor_sysmenu(ui_wdecor_t *, void *, sysarg_t); 64 65 static void test_wdecor_minimize(ui_wdecor_t *, void *); 65 66 static void test_wdecor_maximize(ui_wdecor_t *, void *); … … 72 73 73 74 static ui_wdecor_cb_t test_wdecor_cb = { 75 .sysmenu = test_wdecor_sysmenu, 74 76 .minimize = test_wdecor_minimize, 75 77 .maximize = test_wdecor_maximize, … … 102 104 103 105 typedef struct { 106 bool sysmenu; 104 107 bool minimize; 105 108 bool maximize; … … 109 112 gfx_coord2_t pos; 110 113 sysarg_t pos_id; 114 sysarg_t idev_id; 111 115 bool resize; 112 116 ui_wdecor_rsztype_t rsztype; … … 241 245 rc = gfx_context_delete(gc); 242 246 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 247 } 248 249 /** Test ui_wdecor_sysmenu() */ 250 PCUT_TEST(sysmenu) 251 { 252 errno_t rc; 253 ui_wdecor_t *wdecor; 254 test_cb_resp_t resp; 255 256 rc = ui_wdecor_create(NULL, "Hello", ui_wds_none, &wdecor); 257 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 258 259 /* Sysmenu callback with no callbacks set */ 260 ui_wdecor_sysmenu(wdecor, 42); 261 262 /* Sysmenu callback with sysmenu callback not implemented */ 263 ui_wdecor_set_cb(wdecor, &dummy_wdecor_cb, NULL); 264 ui_wdecor_sysmenu(wdecor, 42); 265 266 /* Sysmenu callback with real callback set */ 267 resp.sysmenu = false; 268 resp.idev_id = 0; 269 ui_wdecor_set_cb(wdecor, &test_wdecor_cb, &resp); 270 ui_wdecor_sysmenu(wdecor, 42); 271 PCUT_ASSERT_TRUE(resp.sysmenu); 272 PCUT_ASSERT_INT_EQUALS(42, resp.idev_id); 273 274 ui_wdecor_destroy(wdecor); 243 275 } 244 276 … … 544 576 PCUT_ASSERT_INT_EQUALS(event.hpos, resp.pos.x); 545 577 PCUT_ASSERT_INT_EQUALS(event.vpos, resp.pos.y); 578 579 ui_wdecor_destroy(wdecor); 580 ui_resource_destroy(resource); 581 582 rc = gfx_context_delete(gc); 583 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 584 } 585 586 /** Pressing F9 generates sysmenu event */ 587 PCUT_TEST(kbd_f9_sysmenu) 588 { 589 errno_t rc; 590 gfx_rect_t rect; 591 kbd_event_t event; 592 gfx_context_t *gc = NULL; 593 test_gc_t tgc; 594 test_cb_resp_t resp; 595 ui_resource_t *resource = NULL; 596 ui_wdecor_t *wdecor; 597 598 memset(&tgc, 0, sizeof(tgc)); 599 rc = gfx_context_new(&ops, &tgc, &gc); 600 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 601 602 rc = ui_resource_create(gc, false, &resource); 603 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 604 PCUT_ASSERT_NOT_NULL(resource); 605 606 rc = ui_wdecor_create(resource, "Hello", ui_wds_decorated, &wdecor); 607 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 608 609 rect.p0.x = 10; 610 rect.p0.y = 20; 611 rect.p1.x = 100; 612 rect.p1.y = 200; 613 614 ui_wdecor_set_rect(wdecor, &rect); 615 616 ui_wdecor_set_cb(wdecor, &test_wdecor_cb, (void *) &resp); 617 618 resp.move = false; 619 resp.pos.x = 0; 620 resp.pos.y = 0; 621 622 event.type = KEY_PRESS; 623 event.mods = 0; 624 event.key = KC_F9; 625 event.kbd_id = 42; 626 ui_wdecor_kbd_event(wdecor, &event); 627 628 PCUT_ASSERT_TRUE(resp.sysmenu); 629 PCUT_ASSERT_INT_EQUALS(event.kbd_id, resp.idev_id); 546 630 547 631 ui_wdecor_destroy(wdecor); … … 1111 1195 } 1112 1196 1197 static void test_wdecor_sysmenu(ui_wdecor_t *wdecor, void *arg, 1198 sysarg_t idev_id) 1199 { 1200 test_cb_resp_t *resp = (test_cb_resp_t *) arg; 1201 1202 resp->sysmenu = true; 1203 resp->idev_id = idev_id; 1204 } 1205 1113 1206 static void test_wdecor_minimize(ui_wdecor_t *wdecor, void *arg) 1114 1207 { -
uspace/lib/ui/test/window.c
r46bd63c9 r1af103e 45 45 PCUT_TEST_SUITE(window); 46 46 47 static void test_window_sysmenu(ui_window_t *, void *, sysarg_t); 47 48 static void test_window_minimize(ui_window_t *, void *); 48 49 static void test_window_maximize(ui_window_t *, void *); … … 56 57 57 58 static ui_window_cb_t test_window_cb = { 59 .sysmenu = test_window_sysmenu, 58 60 .minimize = test_window_minimize, 59 61 .maximize = test_window_maximize, … … 82 84 typedef struct { 83 85 errno_t rc; 86 bool sysmenu; 87 sysarg_t sysmenu_idev_id; 84 88 bool minimize; 85 89 bool maximize; … … 544 548 } 545 549 550 /** ui_window_send_sysmenu() calls sysmenu callback set via ui_window_set_cb() */ 551 PCUT_TEST(send_sysmenu) 552 { 553 errno_t rc; 554 ui_t *ui = NULL; 555 ui_wnd_params_t params; 556 ui_window_t *window = NULL; 557 test_cb_resp_t resp; 558 559 rc = ui_create_disp(NULL, &ui); 560 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 561 562 ui_wnd_params_init(¶ms); 563 params.caption = "Hello"; 564 565 rc = ui_window_create(ui, ¶ms, &window); 566 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 567 PCUT_ASSERT_NOT_NULL(window); 568 569 /* Sysmenu callback with no callbacks set */ 570 ui_window_send_sysmenu(window, 42); 571 572 /* Sysmenu callback with sysmenu callback not implemented */ 573 ui_window_set_cb(window, &dummy_window_cb, NULL); 574 ui_window_send_sysmenu(window, 42); 575 576 /* Sysmenu callback with real callback set */ 577 resp.sysmenu = false; 578 resp.sysmenu_idev_id = 0; 579 ui_window_set_cb(window, &test_window_cb, &resp); 580 ui_window_send_sysmenu(window, 42); 581 PCUT_ASSERT_TRUE(resp.sysmenu); 582 PCUT_ASSERT_INT_EQUALS(42, resp.sysmenu_idev_id); 583 584 ui_window_destroy(window); 585 ui_destroy(ui); 586 } 587 546 588 /** ui_window_send_minimize() calls minimize callback set via ui_window_set_cb() */ 547 589 PCUT_TEST(send_minimize) … … 894 936 } 895 937 938 static void test_window_sysmenu(ui_window_t *window, void *arg, sysarg_t idev_id) 939 { 940 test_cb_resp_t *resp = (test_cb_resp_t *) arg; 941 942 resp->sysmenu = true; 943 resp->sysmenu_idev_id = idev_id; 944 } 945 896 946 static void test_window_minimize(ui_window_t *window, void *arg) 897 947 {
Note:
See TracChangeset
for help on using the changeset viewer.