Changes in uspace/lib/ui/test/menuentry.c [c68c18b9:46bd63c9] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/menuentry.c
rc68c18b9 r46bd63c9 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 35 35 #include <ui/menu.h> 36 36 #include <ui/menubar.h> 37 #include <ui/menudd.h> 37 38 #include <ui/menuentry.h> 38 39 #include <ui/ui.h> … … 75 76 PCUT_ASSERT_NOT_NULL(mbar); 76 77 77 rc = ui_menu_ create(mbar, "Test", &menu);78 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 78 79 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 79 80 PCUT_ASSERT_NOT_NULL(menu); … … 116 117 PCUT_ASSERT_NOT_NULL(mbar); 117 118 118 rc = ui_menu_ create(mbar, "Test", &menu);119 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 119 120 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 120 121 PCUT_ASSERT_NOT_NULL(menu); … … 164 165 PCUT_ASSERT_NOT_NULL(mbar); 165 166 166 rc = ui_menu_ create(mbar, "Test", &menu);167 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 167 168 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 168 169 PCUT_ASSERT_NOT_NULL(menu); … … 210 211 PCUT_ASSERT_NOT_NULL(mbar); 211 212 212 rc = ui_menu_ create(mbar, "Test", &menu);213 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 213 214 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 214 215 PCUT_ASSERT_NOT_NULL(menu); … … 229 230 230 231 e = ui_menu_entry_next(e); 232 PCUT_ASSERT_NULL(e); 233 234 ui_menu_bar_destroy(mbar); 235 ui_window_destroy(window); 236 ui_destroy(ui); 237 } 238 239 /** ui_menu_entry_last() / ui_menu_entry_prev() iterate over entries in reverse */ 240 PCUT_TEST(last_prev) 241 { 242 ui_t *ui = NULL; 243 ui_window_t *window = NULL; 244 ui_wnd_params_t params; 245 ui_menu_bar_t *mbar = NULL; 246 ui_menu_t *menu = NULL; 247 ui_menu_entry_t *entry1 = NULL; 248 ui_menu_entry_t *entry2 = NULL; 249 ui_menu_entry_t *e; 250 errno_t rc; 251 252 rc = ui_create_disp(NULL, &ui); 253 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 254 255 ui_wnd_params_init(¶ms); 256 params.caption = "Hello"; 257 258 rc = ui_window_create(ui, ¶ms, &window); 259 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 260 PCUT_ASSERT_NOT_NULL(window); 261 262 rc = ui_menu_bar_create(ui, window, &mbar); 263 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 264 PCUT_ASSERT_NOT_NULL(mbar); 265 266 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 267 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 268 PCUT_ASSERT_NOT_NULL(menu); 269 270 rc = ui_menu_entry_create(menu, "Foo", "F1", &entry1); 271 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 272 PCUT_ASSERT_NOT_NULL(entry1); 273 274 rc = ui_menu_entry_create(menu, "Bar", "F2", &entry2); 275 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 276 PCUT_ASSERT_NOT_NULL(entry2); 277 278 e = ui_menu_entry_last(menu); 279 PCUT_ASSERT_EQUALS(entry2, e); 280 281 e = ui_menu_entry_prev(e); 282 PCUT_ASSERT_EQUALS(entry1, e); 283 284 e = ui_menu_entry_prev(e); 231 285 PCUT_ASSERT_NULL(e); 232 286 … … 265 319 PCUT_ASSERT_NOT_NULL(mbar); 266 320 267 rc = ui_menu_ create(mbar, "Test", &menu);321 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 268 322 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 269 323 PCUT_ASSERT_NOT_NULL(menu); … … 315 369 PCUT_ASSERT_NOT_NULL(mbar); 316 370 317 rc = ui_menu_ create(mbar, "Test", &menu);371 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 318 372 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 319 373 PCUT_ASSERT_NOT_NULL(menu); … … 328 382 prect.p1.y = 0; 329 383 330 rc = ui_menu_open(menu, &prect );384 rc = ui_menu_open(menu, &prect, 0); 331 385 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 332 386 … … 341 395 } 342 396 397 /** ui_menu_entry_selectable() returns correct value based on entry type */ 398 PCUT_TEST(selectable) 399 { 400 ui_t *ui = NULL; 401 ui_window_t *window = NULL; 402 ui_wnd_params_t params; 403 ui_menu_bar_t *mbar = NULL; 404 ui_menu_t *menu = NULL; 405 ui_menu_entry_t *mentry = NULL; 406 errno_t rc; 407 408 rc = ui_create_disp(NULL, &ui); 409 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 410 411 ui_wnd_params_init(¶ms); 412 params.caption = "Hello"; 413 414 rc = ui_window_create(ui, ¶ms, &window); 415 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 416 PCUT_ASSERT_NOT_NULL(window); 417 418 rc = ui_menu_bar_create(ui, window, &mbar); 419 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 420 PCUT_ASSERT_NOT_NULL(mbar); 421 422 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 423 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 424 PCUT_ASSERT_NOT_NULL(menu); 425 426 /* Selectable entry */ 427 428 rc = ui_menu_entry_create(menu, "Foo", "F1", &mentry); 429 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 430 PCUT_ASSERT_NOT_NULL(mentry); 431 432 PCUT_ASSERT_TRUE(ui_menu_entry_selectable(mentry)); 433 434 ui_menu_entry_destroy(mentry); 435 436 /* Non-selectable separator entry */ 437 438 rc = ui_menu_entry_sep_create(menu, &mentry); 439 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 440 PCUT_ASSERT_NOT_NULL(mentry); 441 442 PCUT_ASSERT_FALSE(ui_menu_entry_selectable(mentry)); 443 444 ui_menu_entry_destroy(mentry); 445 446 ui_menu_bar_destroy(mbar); 447 ui_window_destroy(window); 448 ui_destroy(ui); 449 } 450 343 451 /** Press and release activates menu entry */ 344 452 PCUT_TEST(press_release) … … 369 477 PCUT_ASSERT_NOT_NULL(mbar); 370 478 371 rc = ui_menu_ create(mbar, "Test", &menu);479 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 372 480 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 373 481 PCUT_ASSERT_NOT_NULL(menu); … … 385 493 prect.p1.y = 0; 386 494 387 rc = ui_menu_open(menu, &prect );495 rc = ui_menu_open(menu, &prect, 0); 388 496 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 389 497 … … 432 540 PCUT_ASSERT_NOT_NULL(mbar); 433 541 434 rc = ui_menu_ create(mbar, "Test", &menu);542 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 435 543 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 436 544 PCUT_ASSERT_NOT_NULL(menu); … … 448 556 prect.p1.y = 0; 449 557 450 rc = ui_menu_open(menu, &prect );558 rc = ui_menu_open(menu, &prect, 0); 451 559 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 452 560 … … 500 608 PCUT_ASSERT_NOT_NULL(mbar); 501 609 502 rc = ui_menu_ create(mbar, "Test", &menu);610 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 503 611 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 504 612 PCUT_ASSERT_NOT_NULL(menu); … … 516 624 prect.p1.y = 0; 517 625 518 rc = ui_menu_open(menu, &prect );626 rc = ui_menu_open(menu, &prect, 0); 519 627 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 520 628 … … 545 653 } 546 654 547 /** Press event inside menu entry */ 548 PCUT_TEST(pos_press_inside) 549 { 550 ui_t *ui = NULL; 551 ui_window_t *window = NULL; 552 ui_wnd_params_t params; 553 ui_menu_bar_t *mbar = NULL; 554 ui_menu_t *menu = NULL; 555 ui_menu_entry_t *mentry = NULL; 556 gfx_coord2_t pos; 655 /** ui_menu_entry_activate() activates menu entry */ 656 PCUT_TEST(activate) 657 { 658 ui_t *ui = NULL; 659 ui_window_t *window = NULL; 660 ui_wnd_params_t params; 661 ui_menu_bar_t *mbar = NULL; 662 ui_menu_t *menu = NULL; 663 ui_menu_entry_t *mentry = NULL; 557 664 gfx_rect_t prect; 558 pos_event_t event;559 errno_t rc; 560 561 rc = ui_create_disp(NULL, &ui); 562 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 563 564 ui_wnd_params_init(¶ms); 565 params.caption = "Hello"; 566 567 rc = ui_window_create(ui, ¶ms, &window); 568 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 569 PCUT_ASSERT_NOT_NULL(window); 570 571 rc = ui_menu_bar_create(ui, window, &mbar); 572 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 573 PCUT_ASSERT_NOT_NULL(mbar); 574 575 rc = ui_menu_ create(mbar, "Test", &menu);665 test_resp_t resp; 666 errno_t rc; 667 668 rc = ui_create_disp(NULL, &ui); 669 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 670 671 ui_wnd_params_init(¶ms); 672 params.caption = "Hello"; 673 674 rc = ui_window_create(ui, ¶ms, &window); 675 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 676 PCUT_ASSERT_NOT_NULL(window); 677 678 rc = ui_menu_bar_create(ui, window, &mbar); 679 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 680 PCUT_ASSERT_NOT_NULL(mbar); 681 682 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 576 683 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 577 684 PCUT_ASSERT_NOT_NULL(menu); … … 580 687 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 581 688 PCUT_ASSERT_NOT_NULL(mentry); 689 690 ui_menu_entry_set_cb(mentry, test_entry_cb, &resp); 691 resp.activated = false; 582 692 583 693 prect.p0.x = 0; … … 586 696 prect.p1.y = 0; 587 697 588 rc = ui_menu_open(menu, &prect); 589 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 590 591 pos.x = 0; 592 pos.y = 0; 593 594 event.type = POS_PRESS; 595 event.hpos = 4; 596 event.vpos = 4; 597 598 ui_menu_entry_pos_event(mentry, &pos, &event); 599 PCUT_ASSERT_TRUE(mentry->inside); 600 PCUT_ASSERT_TRUE(mentry->held); 601 602 ui_menu_bar_destroy(mbar); 603 ui_window_destroy(window); 604 ui_destroy(ui); 605 } 606 607 /** Press event outside menu entry */ 608 PCUT_TEST(pos_press_outside) 698 rc = ui_menu_open(menu, &prect, 0); 699 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 700 701 PCUT_ASSERT_FALSE(resp.activated); 702 ui_menu_entry_activate(mentry); 703 704 ui_menu_entry_release(mentry); 705 PCUT_ASSERT_TRUE(resp.activated); 706 707 ui_menu_bar_destroy(mbar); 708 ui_window_destroy(window); 709 ui_destroy(ui); 710 } 711 712 /** Press event inside menu entry */ 713 PCUT_TEST(pos_press_inside) 609 714 { 610 715 ui_t *ui = NULL; … … 633 738 PCUT_ASSERT_NOT_NULL(mbar); 634 739 635 rc = ui_menu_ create(mbar, "Test", &menu);740 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 636 741 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 637 742 PCUT_ASSERT_NOT_NULL(menu); … … 646 751 prect.p1.y = 0; 647 752 648 rc = ui_menu_open(menu, &prect );753 rc = ui_menu_open(menu, &prect, 0); 649 754 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 650 755 … … 653 758 654 759 event.type = POS_PRESS; 655 event.hpos = 4 0;656 event.vpos = 20;760 event.hpos = 4; 761 event.vpos = 4; 657 762 658 763 ui_menu_entry_pos_event(mentry, &pos, &event); 659 PCUT_ASSERT_ FALSE(mentry->inside);660 PCUT_ASSERT_ FALSE(mentry->held);661 662 ui_menu_bar_destroy(mbar); 663 ui_window_destroy(window); 664 ui_destroy(ui); 665 } 666 667 /** P osition event moving out ofmenu entry */668 PCUT_TEST(pos_ move_out)764 PCUT_ASSERT_TRUE(mentry->inside); 765 PCUT_ASSERT_TRUE(mentry->held); 766 767 ui_menu_bar_destroy(mbar); 768 ui_window_destroy(window); 769 ui_destroy(ui); 770 } 771 772 /** Press event outside menu entry */ 773 PCUT_TEST(pos_press_outside) 669 774 { 670 775 ui_t *ui = NULL; … … 693 798 PCUT_ASSERT_NOT_NULL(mbar); 694 799 695 rc = ui_menu_ create(mbar, "Test", &menu);800 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 696 801 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 697 802 PCUT_ASSERT_NOT_NULL(menu); … … 706 811 prect.p1.y = 0; 707 812 708 rc = ui_menu_open(menu, &prect); 813 rc = ui_menu_open(menu, &prect, 0); 814 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 815 816 pos.x = 0; 817 pos.y = 0; 818 819 event.type = POS_PRESS; 820 event.hpos = 40; 821 event.vpos = 20; 822 823 ui_menu_entry_pos_event(mentry, &pos, &event); 824 PCUT_ASSERT_FALSE(mentry->inside); 825 PCUT_ASSERT_FALSE(mentry->held); 826 827 ui_menu_bar_destroy(mbar); 828 ui_window_destroy(window); 829 ui_destroy(ui); 830 } 831 832 /** Position event moving out of menu entry */ 833 PCUT_TEST(pos_move_out) 834 { 835 ui_t *ui = NULL; 836 ui_window_t *window = NULL; 837 ui_wnd_params_t params; 838 ui_menu_bar_t *mbar = NULL; 839 ui_menu_t *menu = NULL; 840 ui_menu_entry_t *mentry = NULL; 841 gfx_coord2_t pos; 842 gfx_rect_t prect; 843 pos_event_t event; 844 errno_t rc; 845 846 rc = ui_create_disp(NULL, &ui); 847 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 848 849 ui_wnd_params_init(¶ms); 850 params.caption = "Hello"; 851 852 rc = ui_window_create(ui, ¶ms, &window); 853 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 854 PCUT_ASSERT_NOT_NULL(window); 855 856 rc = ui_menu_bar_create(ui, window, &mbar); 857 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 858 PCUT_ASSERT_NOT_NULL(mbar); 859 860 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 861 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 862 PCUT_ASSERT_NOT_NULL(menu); 863 864 rc = ui_menu_entry_create(menu, "X", "Y", &mentry); 865 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 866 PCUT_ASSERT_NOT_NULL(mentry); 867 868 prect.p0.x = 0; 869 prect.p0.y = 0; 870 prect.p1.x = 0; 871 prect.p1.y = 0; 872 873 rc = ui_menu_open(menu, &prect, 0); 709 874 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 710 875 … … 756 921 PCUT_ASSERT_NOT_NULL(mbar); 757 922 758 rc = ui_menu_ create(mbar, "Test", &menu);923 rc = ui_menu_dd_create(mbar, "Test", NULL, &menu); 759 924 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 760 925 PCUT_ASSERT_NOT_NULL(menu); … … 769 934 prect.p1.y = 0; 770 935 771 rc = ui_menu_open(menu, &prect );936 rc = ui_menu_open(menu, &prect, 0); 772 937 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 773 938
Note:
See TracChangeset
for help on using the changeset viewer.