Ignore:
File:
1 edited

Legend:

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

    r4034954c r5d380b6  
    3232#include <stdbool.h>
    3333#include <ui/control.h>
     34#include <ui/menu.h>
    3435#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"
    4139
    4240PCUT_INIT;
     
    4745PCUT_TEST(create_destroy)
    4846{
    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);
     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);
    7255}
    7356
     
    8164PCUT_TEST(ctl)
    8265{
    83         ui_t *ui = NULL;
    84         ui_window_t *window = NULL;
    85         ui_wnd_params_t params;
    8666        ui_menu_bar_t *mbar = NULL;
    8767        ui_control_t *control;
    8868        errno_t rc;
    8969
    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);
     70        rc = ui_menu_bar_create(NULL, NULL, &mbar);
    10171        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    10272        PCUT_ASSERT_NOT_NULL(mbar);
     
    10676
    10777        ui_control_destroy(control);
    108         ui_window_destroy(window);
    109         ui_destroy(ui);
    11078}
    11179
     
    214182        ui_menu_bar_set_rect(mbar, &rect);
    215183
    216         rc = ui_menu_dd_create(mbar, "Test", NULL, &menu);
     184        rc = ui_menu_create(mbar, "Test", &menu);
    217185        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    218186        PCUT_ASSERT_NOT_NULL(menu);
     
    238206        ui_menu_bar_t *mbar = NULL;
    239207        ui_menu_t *menu = NULL;
    240         ui_menu_dd_t *mdd = NULL;
    241208        gfx_rect_t rect;
    242209        errno_t rc;
     
    262229        ui_menu_bar_set_rect(mbar, &rect);
    263230
    264         rc = ui_menu_dd_create(mbar, "~T~est", &mdd, &menu);
    265         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    266         PCUT_ASSERT_NOT_NULL(mdd);
     231        rc = ui_menu_create(mbar, "~T~est", &menu);
     232        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    267233        PCUT_ASSERT_NOT_NULL(menu);
    268234
    269         PCUT_ASSERT_FALSE(ui_menu_dd_is_open(mdd));
     235        PCUT_ASSERT_FALSE(ui_menu_is_open(menu));
    270236
    271237        ui_menu_bar_press_accel(mbar, 't', 0);
    272238
    273         PCUT_ASSERT_TRUE(ui_menu_dd_is_open(mdd));
     239        PCUT_ASSERT_TRUE(ui_menu_is_open(menu));
    274240
    275241        ui_menu_bar_destroy(mbar);
     
    286252        ui_menu_bar_t *mbar = NULL;
    287253        ui_menu_t *menu = NULL;
    288         ui_menu_dd_t *mdd = NULL;
    289254        ui_evclaim_t claimed;
    290255        pos_event_t event;
     
    312277        ui_menu_bar_set_rect(mbar, &rect);
    313278
    314         rc = ui_menu_dd_create(mbar, "Test", &mdd, &menu);
     279        rc = ui_menu_create(mbar, "Test", &menu);
    315280        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    316281        PCUT_ASSERT_NOT_NULL(menu);
     
    323288        PCUT_ASSERT_EQUALS(ui_claimed, claimed);
    324289
    325         /* Clicking the menu bar entry should select menu drop-down */
    326         PCUT_ASSERT_EQUALS(mdd, mbar->selected);
     290        /* Clicking the menu bar entry should select menu */
     291        PCUT_ASSERT_EQUALS(menu, mbar->selected);
    327292
    328293        ui_menu_bar_destroy(mbar);
     
    338303        ui_wnd_params_t params;
    339304        ui_menu_bar_t *mbar = NULL;
    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);
     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);
    368333
    369334        /* Selecting different menu should select it */
    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 */
    379 PCUT_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 */
    423 PCUT_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);
     335        ui_menu_bar_select(mbar, menu2, true, 0);
     336        PCUT_ASSERT_EQUALS(menu2, mbar->selected);
    457337
    458338        ui_menu_bar_destroy(mbar);
     
    468348        ui_wnd_params_t params;
    469349        ui_menu_bar_t *mbar = NULL;
    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);
     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);
    490370
    491371        ui_menu_bar_activate(mbar);
    492         PCUT_ASSERT_EQUALS(mdd, mbar->selected);
     372        PCUT_ASSERT_EQUALS(menu, mbar->selected);
    493373
    494374        ui_menu_bar_deactivate(mbar);
Note: See TracChangeset for help on using the changeset viewer.