Changeset 35cffea in mainline for uspace/lib/ui/test/wdecor.c


Ignore:
Timestamp:
2022-05-19T08:02:31Z (2 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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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{
Note: See TracChangeset for help on using the changeset viewer.