Changeset 1c6c3e1d in mainline for uspace/lib/ui/test/menubar.c


Ignore:
Timestamp:
2023-10-22T17:55:33Z (20 months ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
ticket/834-toolchain-update
Children:
350ec74
Parents:
315d487 (diff), 133461c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' into ticket

File:
1 edited

Legend:

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

    r315d487 r1c6c3e1d  
    3232#include <stdbool.h>
    3333#include <ui/control.h>
    34 #include <ui/menu.h>
    3534#include <ui/menubar.h>
     35#include <ui/menudd.h>
    3636#include <ui/ui.h>
    3737#include <ui/window.h>
    3838#include "../private/menubar.h"
     39#include "../private/wdecor.h"
     40#include "../private/window.h"
    3941
    4042PCUT_INIT;
     
    4547PCUT_TEST(create_destroy)
    4648{
    47         ui_menu_bar_t *mbar = NULL;
    48         errno_t rc;
    49 
    50         rc = ui_menu_bar_create(NULL, NULL, &mbar);
    51         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    52         PCUT_ASSERT_NOT_NULL(mbar);
    53 
    54         ui_menu_bar_destroy(mbar);
     49        ui_t *ui = NULL;
     50        ui_window_t *window = NULL;
     51        ui_wnd_params_t params;
     52        ui_menu_bar_t *mbar = NULL;
     53        errno_t rc;
     54
     55        rc = ui_create_disp(NULL, &ui);
     56        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     57
     58        ui_wnd_params_init(&params);
     59        params.caption = "Hello";
     60
     61        rc = ui_window_create(ui, &params, &window);
     62        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     63        PCUT_ASSERT_NOT_NULL(window);
     64
     65        rc = ui_menu_bar_create(ui, window, &mbar);
     66        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     67        PCUT_ASSERT_NOT_NULL(mbar);
     68
     69        ui_menu_bar_destroy(mbar);
     70        ui_window_destroy(window);
     71        ui_destroy(ui);
    5572}
    5673
     
    6481PCUT_TEST(ctl)
    6582{
     83        ui_t *ui = NULL;
     84        ui_window_t *window = NULL;
     85        ui_wnd_params_t params;
    6686        ui_menu_bar_t *mbar = NULL;
    6787        ui_control_t *control;
    6888        errno_t rc;
    6989
    70         rc = ui_menu_bar_create(NULL, NULL, &mbar);
     90        rc = ui_create_disp(NULL, &ui);
     91        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     92
     93        ui_wnd_params_init(&params);
     94        params.caption = "Hello";
     95
     96        rc = ui_window_create(ui, &params, &window);
     97        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     98        PCUT_ASSERT_NOT_NULL(window);
     99
     100        rc = ui_menu_bar_create(ui, window, &mbar);
    71101        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    72102        PCUT_ASSERT_NOT_NULL(mbar);
     
    76106
    77107        ui_control_destroy(control);
     108        ui_window_destroy(window);
     109        ui_destroy(ui);
    78110}
    79111
     
    182214        ui_menu_bar_set_rect(mbar, &rect);
    183215
    184         rc = ui_menu_create(mbar, "Test", &menu);
     216        rc = ui_menu_dd_create(mbar, "Test", NULL, &menu);
    185217        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    186218        PCUT_ASSERT_NOT_NULL(menu);
     
    206238        ui_menu_bar_t *mbar = NULL;
    207239        ui_menu_t *menu = NULL;
     240        ui_menu_dd_t *mdd = NULL;
    208241        gfx_rect_t rect;
    209242        errno_t rc;
     
    229262        ui_menu_bar_set_rect(mbar, &rect);
    230263
    231         rc = ui_menu_create(mbar, "~T~est", &menu);
    232         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     264        rc = ui_menu_dd_create(mbar, "~T~est", &mdd, &menu);
     265        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     266        PCUT_ASSERT_NOT_NULL(mdd);
    233267        PCUT_ASSERT_NOT_NULL(menu);
    234268
    235         PCUT_ASSERT_FALSE(ui_menu_is_open(menu));
     269        PCUT_ASSERT_FALSE(ui_menu_dd_is_open(mdd));
    236270
    237271        ui_menu_bar_press_accel(mbar, 't', 0);
    238272
    239         PCUT_ASSERT_TRUE(ui_menu_is_open(menu));
     273        PCUT_ASSERT_TRUE(ui_menu_dd_is_open(mdd));
    240274
    241275        ui_menu_bar_destroy(mbar);
     
    252286        ui_menu_bar_t *mbar = NULL;
    253287        ui_menu_t *menu = NULL;
     288        ui_menu_dd_t *mdd = NULL;
    254289        ui_evclaim_t claimed;
    255290        pos_event_t event;
     
    277312        ui_menu_bar_set_rect(mbar, &rect);
    278313
    279         rc = ui_menu_create(mbar, "Test", &menu);
     314        rc = ui_menu_dd_create(mbar, "Test", &mdd, &menu);
    280315        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    281316        PCUT_ASSERT_NOT_NULL(menu);
     
    288323        PCUT_ASSERT_EQUALS(ui_claimed, claimed);
    289324
    290         /* Clicking the menu bar entry should select menu */
    291         PCUT_ASSERT_EQUALS(menu, mbar->selected);
     325        /* Clicking the menu bar entry should select menu drop-down */
     326        PCUT_ASSERT_EQUALS(mdd, mbar->selected);
    292327
    293328        ui_menu_bar_destroy(mbar);
     
    303338        ui_wnd_params_t params;
    304339        ui_menu_bar_t *mbar = NULL;
    305         ui_menu_t *menu1 = NULL;
    306         ui_menu_t *menu2 = NULL;
    307         errno_t rc;
    308 
    309         rc = ui_create_disp(NULL, &ui);
    310         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    311 
    312         ui_wnd_params_init(&params);
    313         params.caption = "Hello";
    314 
    315         rc = ui_window_create(ui, &params, &window);
    316         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    317         PCUT_ASSERT_NOT_NULL(window);
    318 
    319         rc = ui_menu_bar_create(ui, window, &mbar);
    320         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    321         PCUT_ASSERT_NOT_NULL(mbar);
    322 
    323         rc = ui_menu_create(mbar, "Test 1", &menu1);
    324         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    325         PCUT_ASSERT_NOT_NULL(menu1);
    326 
    327         rc = ui_menu_create(mbar, "Test 2", &menu2);
    328         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    329         PCUT_ASSERT_NOT_NULL(menu2);
    330 
    331         ui_menu_bar_select(mbar, menu1, true, 0);
    332         PCUT_ASSERT_EQUALS(menu1, mbar->selected);
     340        ui_menu_dd_t *mdd1 = NULL;
     341        ui_menu_dd_t *mdd2 = NULL;
     342        errno_t rc;
     343
     344        rc = ui_create_disp(NULL, &ui);
     345        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     346
     347        ui_wnd_params_init(&params);
     348        params.caption = "Hello";
     349
     350        rc = ui_window_create(ui, &params, &window);
     351        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     352        PCUT_ASSERT_NOT_NULL(window);
     353
     354        rc = ui_menu_bar_create(ui, window, &mbar);
     355        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     356        PCUT_ASSERT_NOT_NULL(mbar);
     357
     358        rc = ui_menu_dd_create(mbar, "Test 1", &mdd1, NULL);
     359        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     360        PCUT_ASSERT_NOT_NULL(mdd1);
     361
     362        rc = ui_menu_dd_create(mbar, "Test 2", &mdd2, NULL);
     363        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     364        PCUT_ASSERT_NOT_NULL(mdd2);
     365
     366        ui_menu_bar_select(mbar, mdd1, true, 0);
     367        PCUT_ASSERT_EQUALS(mdd1, mbar->selected);
    333368
    334369        /* Selecting different menu should select it */
    335         ui_menu_bar_select(mbar, menu2, true, 0);
    336         PCUT_ASSERT_EQUALS(menu2, mbar->selected);
     370        ui_menu_bar_select(mbar, mdd2, true, 0);
     371        PCUT_ASSERT_EQUALS(mdd2, mbar->selected);
     372
     373        ui_menu_bar_destroy(mbar);
     374        ui_window_destroy(window);
     375        ui_destroy(ui);
     376}
     377
     378/** ui_menu_bar_select_first/last() selects first/last drop-down */
     379PCUT_TEST(select_first_last)
     380{
     381        ui_t *ui = NULL;
     382        ui_window_t *window = NULL;
     383        ui_wnd_params_t params;
     384        ui_menu_bar_t *mbar = NULL;
     385        ui_menu_dd_t *mdd1 = NULL;
     386        ui_menu_dd_t *mdd2 = NULL;
     387        errno_t rc;
     388
     389        rc = ui_create_disp(NULL, &ui);
     390        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     391
     392        ui_wnd_params_init(&params);
     393        params.caption = "Hello";
     394
     395        rc = ui_window_create(ui, &params, &window);
     396        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     397        PCUT_ASSERT_NOT_NULL(window);
     398
     399        rc = ui_menu_bar_create(ui, window, &mbar);
     400        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     401        PCUT_ASSERT_NOT_NULL(mbar);
     402
     403        rc = ui_menu_dd_create(mbar, "Test 1", &mdd1, NULL);
     404        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     405        PCUT_ASSERT_NOT_NULL(mdd1);
     406
     407        rc = ui_menu_dd_create(mbar, "Test 2", &mdd2, NULL);
     408        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     409        PCUT_ASSERT_NOT_NULL(mdd2);
     410
     411        ui_menu_bar_select_first(mbar, true, 0);
     412        PCUT_ASSERT_EQUALS(mdd1, mbar->selected);
     413
     414        ui_menu_bar_select_last(mbar, true, 0);
     415        PCUT_ASSERT_EQUALS(mdd2, mbar->selected);
     416
     417        ui_menu_bar_destroy(mbar);
     418        ui_window_destroy(window);
     419        ui_destroy(ui);
     420}
     421
     422/** ui_menu_bar_select_sysmenu() activates system menu */
     423PCUT_TEST(select_sysmenu)
     424{
     425        ui_t *ui = NULL;
     426        ui_window_t *window = NULL;
     427        ui_wnd_params_t params;
     428        ui_menu_bar_t *mbar = NULL;
     429        ui_menu_dd_t *mdd1 = NULL;
     430        ui_menu_dd_t *mdd2 = NULL;
     431        errno_t rc;
     432
     433        rc = ui_create_disp(NULL, &ui);
     434        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     435
     436        ui_wnd_params_init(&params);
     437        params.caption = "Hello";
     438
     439        rc = ui_window_create(ui, &params, &window);
     440        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     441        PCUT_ASSERT_NOT_NULL(window);
     442
     443        rc = ui_menu_bar_create(ui, window, &mbar);
     444        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     445        PCUT_ASSERT_NOT_NULL(mbar);
     446
     447        rc = ui_menu_dd_create(mbar, "Test 1", &mdd1, NULL);
     448        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     449        PCUT_ASSERT_NOT_NULL(mdd1);
     450
     451        rc = ui_menu_dd_create(mbar, "Test 2", &mdd2, NULL);
     452        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     453        PCUT_ASSERT_NOT_NULL(mdd2);
     454
     455        ui_menu_bar_select_sysmenu(mbar, false, 0);
     456        PCUT_ASSERT_TRUE(window->wdecor->sysmenu_hdl_active);
    337457
    338458        ui_menu_bar_destroy(mbar);
     
    348468        ui_wnd_params_t params;
    349469        ui_menu_bar_t *mbar = NULL;
    350         ui_menu_t *menu = NULL;
    351         errno_t rc;
    352 
    353         rc = ui_create_disp(NULL, &ui);
    354         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    355 
    356         ui_wnd_params_init(&params);
    357         params.caption = "Hello";
    358 
    359         rc = ui_window_create(ui, &params, &window);
    360         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    361         PCUT_ASSERT_NOT_NULL(window);
    362 
    363         rc = ui_menu_bar_create(ui, window, &mbar);
    364         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    365         PCUT_ASSERT_NOT_NULL(mbar);
    366 
    367         rc = ui_menu_create(mbar, "Test", &menu);
    368         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    369         PCUT_ASSERT_NOT_NULL(menu);
     470        ui_menu_dd_t *mdd = NULL;
     471        errno_t rc;
     472
     473        rc = ui_create_disp(NULL, &ui);
     474        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     475
     476        ui_wnd_params_init(&params);
     477        params.caption = "Hello";
     478
     479        rc = ui_window_create(ui, &params, &window);
     480        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     481        PCUT_ASSERT_NOT_NULL(window);
     482
     483        rc = ui_menu_bar_create(ui, window, &mbar);
     484        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     485        PCUT_ASSERT_NOT_NULL(mbar);
     486
     487        rc = ui_menu_dd_create(mbar, "Test", &mdd, NULL);
     488        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     489        PCUT_ASSERT_NOT_NULL(mdd);
    370490
    371491        ui_menu_bar_activate(mbar);
    372         PCUT_ASSERT_EQUALS(menu, mbar->selected);
     492        PCUT_ASSERT_EQUALS(mdd, mbar->selected);
    373493
    374494        ui_menu_bar_deactivate(mbar);
Note: See TracChangeset for help on using the changeset viewer.