Changeset 35cffea in mainline for uspace/lib/ui/test


Ignore:
Timestamp:
2022-05-19T08:02:31Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ad698f4
Parents:
fd05ea6
git-author:
Jiri Svoboda <jiri@…> (2022-05-18 17:02:12)
git-committer:
Jiri Svoboda <jiri@…> (2022-05-19 08:02:31)
Message:

Maximizing/unmaximizing a window

Location:
uspace/lib/ui/test
Files:
3 edited

Legend:

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

    rfd05ea6 r35cffea  
    354354}
    355355
     356/** Paint maximize icon */
     357PCUT_TEST(maxicon)
     358{
     359        errno_t rc;
     360        gfx_context_t *gc = NULL;
     361        ui_resource_t *resource = NULL;
     362        test_gc_t tgc;
     363        gfx_coord2_t center;
     364
     365        memset(&tgc, 0, sizeof(tgc));
     366        rc = gfx_context_new(&ops, &tgc, &gc);
     367        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     368
     369        rc = ui_resource_create(gc, false, &resource);
     370        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     371        PCUT_ASSERT_NOT_NULL(resource);
     372
     373        center.x = 0;
     374        center.y = 0;
     375
     376        rc = ui_paint_maxicon(resource, &center, 8, 6);
     377        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     378
     379        ui_resource_destroy(resource);
     380        rc = gfx_context_delete(gc);
     381        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     382}
     383
     384/** Paint unmaximize icon */
     385PCUT_TEST(unmaxicon)
     386{
     387        errno_t rc;
     388        gfx_context_t *gc = NULL;
     389        ui_resource_t *resource = NULL;
     390        test_gc_t tgc;
     391        gfx_coord2_t center;
     392
     393        memset(&tgc, 0, sizeof(tgc));
     394        rc = gfx_context_new(&ops, &tgc, &gc);
     395        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     396
     397        rc = ui_resource_create(gc, false, &resource);
     398        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     399        PCUT_ASSERT_NOT_NULL(resource);
     400
     401        center.x = 0;
     402        center.y = 0;
     403
     404        rc = ui_paint_unmaxicon(resource, &center, 8, 8, 3, 3);
     405        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     406
     407        ui_resource_destroy(resource);
     408        rc = gfx_context_delete(gc);
     409        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     410}
     411
    356412/** Paint text box */
    357413PCUT_TEST(text_box)
  • uspace/lib/ui/test/wdecor.c

    rfd05ea6 r35cffea  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2022 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    6262};
    6363
     64static void test_wdecor_maximize(ui_wdecor_t *, void *);
     65static void test_wdecor_unmaximize(ui_wdecor_t *, void *);
    6466static void test_wdecor_close(ui_wdecor_t *, void *);
    6567static void test_wdecor_move(ui_wdecor_t *, void *, gfx_coord2_t *);
     
    6971
    7072static ui_wdecor_cb_t test_wdecor_cb = {
     73        .maximize = test_wdecor_maximize,
     74        .unmaximize = test_wdecor_unmaximize,
    7175        .close = test_wdecor_close,
    7276        .move = test_wdecor_move,
     
    96100
    97101typedef struct {
     102        bool maximize;
     103        bool unmaximize;
    98104        bool close;
    99105        bool move;
     
    168174}
    169175
     176/** Set window decoration maximized sets internal field */
     177PCUT_TEST(set_maximized)
     178{
     179        ui_wdecor_t *wdecor;
     180        errno_t rc;
     181
     182        rc = ui_wdecor_create(NULL, "Hello", ui_wds_none, &wdecor);
     183        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     184
     185        PCUT_ASSERT_TRUE(wdecor->active);
     186
     187        ui_wdecor_set_maximized(wdecor, false);
     188        PCUT_ASSERT_FALSE(wdecor->maximized);
     189
     190        ui_wdecor_set_maximized(wdecor, true);
     191        PCUT_ASSERT_TRUE(wdecor->maximized);
     192
     193        ui_wdecor_destroy(wdecor);
     194}
     195
    170196/** Paint button */
    171197PCUT_TEST(paint)
     
    196222        rc = gfx_context_delete(gc);
    197223        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     224}
     225
     226/** Test ui_wdecor_maximize() */
     227PCUT_TEST(maximize)
     228{
     229        errno_t rc;
     230        ui_wdecor_t *wdecor;
     231        test_cb_resp_t resp;
     232
     233        rc = ui_wdecor_create(NULL, "Hello", ui_wds_none, &wdecor);
     234        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     235
     236        /* Maximize callback with no callbacks set */
     237        ui_wdecor_maximize(wdecor);
     238
     239        /* Maxmimize callback with maximize callback not implemented */
     240        ui_wdecor_set_cb(wdecor, &dummy_wdecor_cb, NULL);
     241        ui_wdecor_maximize(wdecor);
     242
     243        /* Maximize callback with real callback set */
     244        resp.maximize = false;
     245        ui_wdecor_set_cb(wdecor, &test_wdecor_cb, &resp);
     246        ui_wdecor_maximize(wdecor);
     247        PCUT_ASSERT_TRUE(resp.maximize);
     248
     249        ui_wdecor_destroy(wdecor);
     250}
     251
     252/** Test ui_wdecor_unmaximize() */
     253PCUT_TEST(unmaximize)
     254{
     255        errno_t rc;
     256        ui_wdecor_t *wdecor;
     257        test_cb_resp_t resp;
     258
     259        rc = ui_wdecor_create(NULL, "Hello", ui_wds_none, &wdecor);
     260        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     261
     262        /* Unmaximize callback with no callbacks set */
     263        ui_wdecor_unmaximize(wdecor);
     264
     265        /* Unmaximize callback with unmaximize callback not implemented */
     266        ui_wdecor_set_cb(wdecor, &dummy_wdecor_cb, NULL);
     267        ui_wdecor_unmaximize(wdecor);
     268
     269        /* Unmaximize callback with real callback set */
     270        resp.unmaximize = false;
     271        ui_wdecor_set_cb(wdecor, &test_wdecor_cb, &resp);
     272        ui_wdecor_unmaximize(wdecor);
     273        PCUT_ASSERT_TRUE(resp.unmaximize);
     274
     275        ui_wdecor_destroy(wdecor);
    198276}
    199277
     
    9361014}
    9371015
     1016static void test_wdecor_maximize(ui_wdecor_t *wdecor, void *arg)
     1017{
     1018        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     1019
     1020        resp->maximize = true;
     1021}
     1022
     1023static void test_wdecor_unmaximize(ui_wdecor_t *wdecor, void *arg)
     1024{
     1025        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     1026
     1027        resp->unmaximize = true;
     1028}
     1029
    9381030static void test_wdecor_close(ui_wdecor_t *wdecor, void *arg)
    9391031{
  • uspace/lib/ui/test/window.c

    rfd05ea6 r35cffea  
    11/*
    2  * Copyright (c) 2021 Jiri Svoboda
     2 * Copyright (c) 2022 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    4545PCUT_TEST_SUITE(window);
    4646
     47static void test_window_maximize(ui_window_t *, void *);
     48static void test_window_unmaximize(ui_window_t *, void *);
    4749static void test_window_close(ui_window_t *, void *);
    4850static void test_window_focus(ui_window_t *, void *);
     
    5355
    5456static ui_window_cb_t test_window_cb = {
     57        .maximize = test_window_maximize,
     58        .unmaximize = test_window_unmaximize,
    5559        .close = test_window_close,
    5660        .focus = test_window_focus,
     
    7680typedef struct {
    7781        errno_t rc;
     82        bool maximize;
     83        bool unmaximize;
    7884        bool close;
    7985        bool focus;
     
    526532        /* Need to remove first because we didn't implement the destructor */
    527533        ui_window_remove(window, control);
     534
     535        ui_window_destroy(window);
     536        ui_destroy(ui);
     537}
     538
     539/** ui_window_send_maximize() calls maximize callback set via ui_window_set_cb() */
     540PCUT_TEST(send_maximize)
     541{
     542        errno_t rc;
     543        ui_t *ui = NULL;
     544        ui_wnd_params_t params;
     545        ui_window_t *window = NULL;
     546        test_cb_resp_t resp;
     547
     548        rc = ui_create_disp(NULL, &ui);
     549        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     550
     551        ui_wnd_params_init(&params);
     552        params.caption = "Hello";
     553
     554        rc = ui_window_create(ui, &params, &window);
     555        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     556        PCUT_ASSERT_NOT_NULL(window);
     557
     558        /* Maximize callback with no callbacks set */
     559        ui_window_send_maximize(window);
     560
     561        /* Maximize callback with maximize callback not implemented */
     562        ui_window_set_cb(window, &dummy_window_cb, NULL);
     563        ui_window_send_maximize(window);
     564
     565        /* Maximize callback with real callback set */
     566        resp.maximize = false;
     567        ui_window_set_cb(window, &test_window_cb, &resp);
     568        ui_window_send_maximize(window);
     569        PCUT_ASSERT_TRUE(resp.maximize);
     570
     571        ui_window_destroy(window);
     572        ui_destroy(ui);
     573}
     574
     575/** ui_window_send_unmaximize() calls unmaximize callback set via ui_window_set_cb() */
     576PCUT_TEST(send_unmaximize)
     577{
     578        errno_t rc;
     579        ui_t *ui = NULL;
     580        ui_wnd_params_t params;
     581        ui_window_t *window = NULL;
     582        test_cb_resp_t resp;
     583
     584        rc = ui_create_disp(NULL, &ui);
     585        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     586
     587        ui_wnd_params_init(&params);
     588        params.caption = "Hello";
     589
     590        rc = ui_window_create(ui, &params, &window);
     591        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     592        PCUT_ASSERT_NOT_NULL(window);
     593
     594        /* Unmaximize callback with no callbacks set */
     595        ui_window_send_unmaximize(window);
     596
     597        /* Unmaximize callback with unmaximize callback not implemented */
     598        ui_window_set_cb(window, &dummy_window_cb, NULL);
     599        ui_window_send_unmaximize(window);
     600
     601        /* Unmaximize callback with real callback set */
     602        resp.unmaximize = false;
     603        ui_window_set_cb(window, &test_window_cb, &resp);
     604        ui_window_send_unmaximize(window);
     605        PCUT_ASSERT_TRUE(resp.unmaximize);
    528606
    529607        ui_window_destroy(window);
     
    771849}
    772850
     851static void test_window_maximize(ui_window_t *window, void *arg)
     852{
     853        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     854
     855        resp->maximize = true;
     856}
     857
     858static void test_window_unmaximize(ui_window_t *window, void *arg)
     859{
     860        test_cb_resp_t *resp = (test_cb_resp_t *) arg;
     861
     862        resp->unmaximize = true;
     863}
     864
    773865static void test_window_close(ui_window_t *window, void *arg)
    774866{
Note: See TracChangeset for help on using the changeset viewer.