Changeset 06176e1 in mainline for uspace/lib/display/test


Ignore:
Timestamp:
2022-12-20T12:31:44Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4e7b0ad
Parents:
d46ac73
git-author:
Jiri Svoboda <jiri@…> (2022-12-19 18:31:30)
git-committer:
Jiri Svoboda <jiri@…> (2022-12-20 12:31:44)
Message:

Minimizing windows

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/display/test/display.c

    rd46ac73 r06176e1  
    6666static errno_t test_window_resize(void *, sysarg_t, gfx_coord2_t *,
    6767    gfx_rect_t *);
     68static errno_t test_window_minimize(void *, sysarg_t);
    6869static errno_t test_window_maximize(void *, sysarg_t);
    6970static errno_t test_window_unmaximize(void *, sysarg_t);
     
    8485        .window_resize_req = test_window_resize_req,
    8586        .window_resize = test_window_resize,
     87        .window_minimize = test_window_minimize,
    8688        .window_maximize = test_window_maximize,
    8789        .window_unmaximize = test_window_unmaximize,
     
    145147        sysarg_t resize_wnd_id;
    146148
     149        bool window_minimize_called;
    147150        bool window_maximize_called;
    148151        bool window_unmaximize_called;
     
    10501053        PCUT_ASSERT_INT_EQUALS(nrect.p1.x, resp.resize_nbound.p1.x);
    10511054        PCUT_ASSERT_INT_EQUALS(nrect.p1.y, resp.resize_nbound.p1.y);
     1055
     1056        display_window_destroy(wnd);
     1057        display_close(disp);
     1058        rc = loc_service_unregister(sid);
     1059        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1060}
     1061
     1062/** display_window_minimize() with server returning error response works. */
     1063PCUT_TEST(window_minimize_failure)
     1064{
     1065        errno_t rc;
     1066        service_id_t sid;
     1067        display_t *disp = NULL;
     1068        display_wnd_params_t params;
     1069        display_window_t *wnd;
     1070        test_response_t resp;
     1071
     1072        async_set_fallback_port_handler(test_display_conn, &resp);
     1073
     1074        // FIXME This causes this test to be non-reentrant!
     1075        rc = loc_server_register(test_display_server);
     1076        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1077
     1078        rc = loc_service_register(test_display_svc, &sid);
     1079        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1080
     1081        rc = display_open(test_display_svc, &disp);
     1082        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1083        PCUT_ASSERT_NOT_NULL(disp);
     1084
     1085        resp.rc = EOK;
     1086        display_wnd_params_init(&params);
     1087        params.rect.p0.x = 0;
     1088        params.rect.p0.y = 0;
     1089        params.rect.p0.x = 100;
     1090        params.rect.p0.y = 100;
     1091
     1092        rc = display_window_create(disp, &params, &test_display_wnd_cb,
     1093            (void *) &resp, &wnd);
     1094        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1095        PCUT_ASSERT_NOT_NULL(wnd);
     1096
     1097        resp.rc = EIO;
     1098        resp.window_minimize_called = false;
     1099
     1100        rc = display_window_minimize(wnd);
     1101        PCUT_ASSERT_TRUE(resp.window_minimize_called);
     1102        PCUT_ASSERT_ERRNO_VAL(resp.rc, rc);
     1103
     1104        display_window_destroy(wnd);
     1105        display_close(disp);
     1106        rc = loc_service_unregister(sid);
     1107        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1108}
     1109
     1110/** display_window_minimize() with server returning success response works. */
     1111PCUT_TEST(window_minimize_success)
     1112{
     1113        errno_t rc;
     1114        service_id_t sid;
     1115        display_t *disp = NULL;
     1116        display_wnd_params_t params;
     1117        display_window_t *wnd;
     1118        test_response_t resp;
     1119
     1120        async_set_fallback_port_handler(test_display_conn, &resp);
     1121
     1122        // FIXME This causes this test to be non-reentrant!
     1123        rc = loc_server_register(test_display_server);
     1124        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1125
     1126        rc = loc_service_register(test_display_svc, &sid);
     1127        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1128
     1129        rc = display_open(test_display_svc, &disp);
     1130        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1131        PCUT_ASSERT_NOT_NULL(disp);
     1132
     1133        resp.rc = EOK;
     1134        display_wnd_params_init(&params);
     1135        params.rect.p0.x = 0;
     1136        params.rect.p0.y = 0;
     1137        params.rect.p0.x = 100;
     1138        params.rect.p0.y = 100;
     1139
     1140        rc = display_window_create(disp, &params, &test_display_wnd_cb,
     1141            (void *) &resp, &wnd);
     1142        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     1143        PCUT_ASSERT_NOT_NULL(wnd);
     1144
     1145        resp.rc = EOK;
     1146        resp.window_minimize_called = false;
     1147
     1148        rc = display_window_minimize(wnd);
     1149        PCUT_ASSERT_TRUE(resp.window_minimize_called);
     1150        PCUT_ASSERT_ERRNO_VAL(resp.rc, rc);
    10521151
    10531152        display_window_destroy(wnd);
     
    21032202}
    21042203
     2204static errno_t test_window_minimize(void *arg, sysarg_t wnd_id)
     2205{
     2206        test_response_t *resp = (test_response_t *) arg;
     2207
     2208        resp->window_minimize_called = true;
     2209        resp->resize_wnd_id = wnd_id;
     2210        return resp->rc;
     2211}
     2212
    21052213static errno_t test_window_maximize(void *arg, sysarg_t wnd_id)
    21062214{
Note: See TracChangeset for help on using the changeset viewer.