Changes in uspace/lib/ui/test/window.c [09b01ed0:3d10a2f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/window.c
r09b01ed0 r3d10a2f 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 45 45 PCUT_TEST_SUITE(window); 46 46 47 static void test_window_sysmenu(ui_window_t *, void *, sysarg_t);48 static void test_window_minimize(ui_window_t *, void *);49 static void test_window_maximize(ui_window_t *, void *);50 static void test_window_unmaximize(ui_window_t *, void *);51 47 static void test_window_close(ui_window_t *, void *); 52 static void test_window_focus(ui_window_t *, void * , unsigned);48 static void test_window_focus(ui_window_t *, void *); 53 49 static void test_window_kbd(ui_window_t *, void *, kbd_event_t *); 54 50 static errno_t test_window_paint(ui_window_t *, void *); 55 51 static void test_window_pos(ui_window_t *, void *, pos_event_t *); 56 static void test_window_unfocus(ui_window_t *, void * , unsigned);52 static void test_window_unfocus(ui_window_t *, void *); 57 53 58 54 static ui_window_cb_t test_window_cb = { 59 .sysmenu = test_window_sysmenu,60 .minimize = test_window_minimize,61 .maximize = test_window_maximize,62 .unmaximize = test_window_unmaximize,63 55 .close = test_window_close, 64 56 .focus = test_window_focus, … … 74 66 static errno_t test_ctl_paint(void *); 75 67 static ui_evclaim_t test_ctl_pos_event(void *, pos_event_t *); 76 static void test_ctl_unfocus(void * , unsigned);68 static void test_ctl_unfocus(void *); 77 69 78 70 static ui_control_ops_t test_ctl_ops = { … … 84 76 typedef struct { 85 77 errno_t rc; 86 bool sysmenu;87 sysarg_t sysmenu_idev_id;88 bool minimize;89 bool maximize;90 bool unmaximize;91 78 bool close; 92 79 bool focus; 93 unsigned focus_nfocus;94 80 bool kbd; 95 81 kbd_event_t kbd_event; … … 98 84 pos_event_t pos_event; 99 85 bool unfocus; 100 unsigned unfocus_nfocus;101 86 } test_cb_resp_t; 102 87 … … 108 93 pos_event_t pos_event; 109 94 bool unfocus; 110 unsigned unfocus_nfocus;111 95 } test_ctl_resp_t; 112 96 … … 537 521 resp.unfocus = false; 538 522 539 ui_window_def_unfocus(window , 42);523 ui_window_def_unfocus(window); 540 524 PCUT_ASSERT_TRUE(resp.unfocus); 541 PCUT_ASSERT_INT_EQUALS(42, resp.unfocus_nfocus);542 525 543 526 /* Need to remove first because we didn't implement the destructor */ 544 527 ui_window_remove(window, control); 545 546 ui_window_destroy(window);547 ui_destroy(ui);548 }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 588 /** ui_window_send_minimize() calls minimize callback set via ui_window_set_cb() */589 PCUT_TEST(send_minimize)590 {591 errno_t rc;592 ui_t *ui = NULL;593 ui_wnd_params_t params;594 ui_window_t *window = NULL;595 test_cb_resp_t resp;596 597 rc = ui_create_disp(NULL, &ui);598 PCUT_ASSERT_ERRNO_VAL(EOK, rc);599 600 ui_wnd_params_init(¶ms);601 params.caption = "Hello";602 603 rc = ui_window_create(ui, ¶ms, &window);604 PCUT_ASSERT_ERRNO_VAL(EOK, rc);605 PCUT_ASSERT_NOT_NULL(window);606 607 /* Minimize callback with no callbacks set */608 ui_window_send_minimize(window);609 610 /* Minimize callback with minimize callback not implemented */611 ui_window_set_cb(window, &dummy_window_cb, NULL);612 ui_window_send_minimize(window);613 614 /* Minimize callback with real callback set */615 resp.minimize = false;616 ui_window_set_cb(window, &test_window_cb, &resp);617 ui_window_send_minimize(window);618 PCUT_ASSERT_TRUE(resp.minimize);619 620 ui_window_destroy(window);621 ui_destroy(ui);622 }623 624 /** ui_window_send_maximize() calls maximize callback set via ui_window_set_cb() */625 PCUT_TEST(send_maximize)626 {627 errno_t rc;628 ui_t *ui = NULL;629 ui_wnd_params_t params;630 ui_window_t *window = NULL;631 test_cb_resp_t resp;632 633 rc = ui_create_disp(NULL, &ui);634 PCUT_ASSERT_ERRNO_VAL(EOK, rc);635 636 ui_wnd_params_init(¶ms);637 params.caption = "Hello";638 639 rc = ui_window_create(ui, ¶ms, &window);640 PCUT_ASSERT_ERRNO_VAL(EOK, rc);641 PCUT_ASSERT_NOT_NULL(window);642 643 /* Maximize callback with no callbacks set */644 ui_window_send_maximize(window);645 646 /* Maximize callback with maximize callback not implemented */647 ui_window_set_cb(window, &dummy_window_cb, NULL);648 ui_window_send_maximize(window);649 650 /* Maximize callback with real callback set */651 resp.maximize = false;652 ui_window_set_cb(window, &test_window_cb, &resp);653 ui_window_send_maximize(window);654 PCUT_ASSERT_TRUE(resp.maximize);655 656 ui_window_destroy(window);657 ui_destroy(ui);658 }659 660 /** ui_window_send_unmaximize() calls unmaximize callback set via ui_window_set_cb() */661 PCUT_TEST(send_unmaximize)662 {663 errno_t rc;664 ui_t *ui = NULL;665 ui_wnd_params_t params;666 ui_window_t *window = NULL;667 test_cb_resp_t resp;668 669 rc = ui_create_disp(NULL, &ui);670 PCUT_ASSERT_ERRNO_VAL(EOK, rc);671 672 ui_wnd_params_init(¶ms);673 params.caption = "Hello";674 675 rc = ui_window_create(ui, ¶ms, &window);676 PCUT_ASSERT_ERRNO_VAL(EOK, rc);677 PCUT_ASSERT_NOT_NULL(window);678 679 /* Unmaximize callback with no callbacks set */680 ui_window_send_unmaximize(window);681 682 /* Unmaximize callback with unmaximize callback not implemented */683 ui_window_set_cb(window, &dummy_window_cb, NULL);684 ui_window_send_unmaximize(window);685 686 /* Unmaximize callback with real callback set */687 resp.unmaximize = false;688 ui_window_set_cb(window, &test_window_cb, &resp);689 ui_window_send_unmaximize(window);690 PCUT_ASSERT_TRUE(resp.unmaximize);691 528 692 529 ui_window_destroy(window); … … 750 587 751 588 /* Focus callback with no callbacks set */ 752 ui_window_send_focus(window , 42);589 ui_window_send_focus(window); 753 590 754 591 /* Focus callback with focus callback not implemented */ 755 592 ui_window_set_cb(window, &dummy_window_cb, NULL); 756 ui_window_send_focus(window , 42);593 ui_window_send_focus(window); 757 594 758 595 /* Focus callback with real callback set */ 759 596 resp.focus = false; 760 597 ui_window_set_cb(window, &test_window_cb, &resp); 761 ui_window_send_focus(window , 42);598 ui_window_send_focus(window); 762 599 PCUT_ASSERT_TRUE(resp.focus); 763 PCUT_ASSERT_INT_EQUALS(42, resp.focus_nfocus);764 600 765 601 ui_window_destroy(window); … … 787 623 PCUT_ASSERT_NOT_NULL(window); 788 624 789 kbd_event.type = KEY_PRESS;625 kbd_event.type = POS_PRESS; 790 626 kbd_event.key = KC_X; 791 627 kbd_event.mods = 0; … … 919 755 920 756 /* Unfocus callback with no callbacks set */ 921 ui_window_send_unfocus(window , 42);757 ui_window_send_unfocus(window); 922 758 923 759 /* Unfocus callback with unfocus callback not implemented */ 924 760 ui_window_set_cb(window, &dummy_window_cb, NULL); 925 ui_window_send_unfocus(window , 42);761 ui_window_send_unfocus(window); 926 762 927 763 /* Unfocus callback with real callback set */ 928 764 resp.close = false; 929 765 ui_window_set_cb(window, &test_window_cb, &resp); 930 ui_window_send_unfocus(window , 42);766 ui_window_send_unfocus(window); 931 767 PCUT_ASSERT_TRUE(resp.unfocus); 932 PCUT_ASSERT_INT_EQUALS(42, resp.unfocus_nfocus); 933 934 ui_window_destroy(window); 935 ui_destroy(ui); 936 } 937 938 static void test_window_sysmenu(ui_window_t *window, void *arg, sysarg_t idev_id) 768 769 ui_window_destroy(window); 770 ui_destroy(ui); 771 } 772 773 static void test_window_close(ui_window_t *window, void *arg) 939 774 { 940 775 test_cb_resp_t *resp = (test_cb_resp_t *) arg; 941 776 942 resp->sysmenu = true; 943 resp->sysmenu_idev_id = idev_id; 944 } 945 946 static void test_window_minimize(ui_window_t *window, void *arg) 777 resp->close = true; 778 } 779 780 static void test_window_focus(ui_window_t *window, void *arg) 947 781 { 948 782 test_cb_resp_t *resp = (test_cb_resp_t *) arg; 949 783 950 resp->minimize = true;951 }952 953 static void test_window_maximize(ui_window_t *window, void *arg)954 {955 test_cb_resp_t *resp = (test_cb_resp_t *) arg;956 957 resp->maximize = true;958 }959 960 static void test_window_unmaximize(ui_window_t *window, void *arg)961 {962 test_cb_resp_t *resp = (test_cb_resp_t *) arg;963 964 resp->unmaximize = true;965 }966 967 static void test_window_close(ui_window_t *window, void *arg)968 {969 test_cb_resp_t *resp = (test_cb_resp_t *) arg;970 971 resp->close = true;972 }973 974 static void test_window_focus(ui_window_t *window, void *arg, unsigned nfocus)975 {976 test_cb_resp_t *resp = (test_cb_resp_t *) arg;977 978 784 resp->focus = true; 979 resp->focus_nfocus = nfocus;980 785 } 981 786 … … 1006 811 } 1007 812 1008 static void test_window_unfocus(ui_window_t *window, void *arg , unsigned nfocus)813 static void test_window_unfocus(ui_window_t *window, void *arg) 1009 814 { 1010 815 test_cb_resp_t *resp = (test_cb_resp_t *) arg; 1011 816 1012 817 resp->unfocus = true; 1013 resp->unfocus_nfocus = nfocus;1014 818 } 1015 819 … … 1032 836 } 1033 837 1034 static void test_ctl_unfocus(void *arg , unsigned nfocus)838 static void test_ctl_unfocus(void *arg) 1035 839 { 1036 840 test_ctl_resp_t *resp = (test_ctl_resp_t *) arg; 1037 841 1038 842 resp->unfocus = true; 1039 resp->unfocus_nfocus = nfocus;1040 843 } 1041 844
Note:
See TracChangeset
for help on using the changeset viewer.