Changes in uspace/srv/hid/display/test/window.c [17c0f5d:35cffea] in mainline
- File:
-
- 1 edited
-
uspace/srv/hid/display/test/window.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/display/test/window.c
r17c0f5d r35cffea 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2022 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 51 51 }; 52 52 53 /** Test creating and destroying window */54 PCUT_TEST(create_destroy)55 {56 ds_display_t *disp;57 ds_client_t *client;58 ds_seat_t *seat;59 ds_window_t *wnd;60 display_wnd_params_t params;61 errno_t rc;62 63 rc = ds_display_create(NULL, df_none, &disp);64 PCUT_ASSERT_ERRNO_VAL(EOK, rc);65 66 rc = ds_client_create(disp, NULL, NULL, &client);67 PCUT_ASSERT_ERRNO_VAL(EOK, rc);68 69 rc = ds_seat_create(disp, &seat);70 PCUT_ASSERT_ERRNO_VAL(EOK, rc);71 72 display_wnd_params_init(¶ms);73 params.rect.p0.x = params.rect.p0.y = 0;74 params.rect.p1.x = params.rect.p1.y = 10;75 76 rc = ds_window_create(client, ¶ms, &wnd);77 PCUT_ASSERT_ERRNO_VAL(EOK, rc);78 79 ds_window_destroy(wnd);80 ds_seat_destroy(seat);81 ds_client_destroy(client);82 ds_display_destroy(disp);83 }84 85 /** Test ds_window_bring_to_top() brings window to top */86 PCUT_TEST(bring_to_top)87 {88 ds_display_t *disp;89 ds_client_t *client;90 ds_seat_t *seat;91 ds_window_t *w1;92 ds_window_t *w2;93 display_wnd_params_t params;94 errno_t rc;95 96 rc = ds_display_create(NULL, df_none, &disp);97 PCUT_ASSERT_ERRNO_VAL(EOK, rc);98 99 rc = ds_client_create(disp, NULL, NULL, &client);100 PCUT_ASSERT_ERRNO_VAL(EOK, rc);101 102 rc = ds_seat_create(disp, &seat);103 PCUT_ASSERT_ERRNO_VAL(EOK, rc);104 105 display_wnd_params_init(¶ms);106 params.rect.p0.x = params.rect.p0.y = 0;107 params.rect.p1.x = params.rect.p1.y = 10;108 109 rc = ds_window_create(client, ¶ms, &w1);110 PCUT_ASSERT_ERRNO_VAL(EOK, rc);111 112 rc = ds_window_create(client, ¶ms, &w2);113 PCUT_ASSERT_ERRNO_VAL(EOK, rc);114 115 /* w2 should be on the top */116 PCUT_ASSERT_EQUALS(w2, ds_display_first_window(disp));117 118 /* Bring w1 to top */119 ds_window_bring_to_top(w1);120 121 /* Now w1 should be on the top */122 PCUT_ASSERT_EQUALS(w1, ds_display_first_window(disp));123 124 ds_window_destroy(w1);125 ds_window_destroy(w2);126 ds_seat_destroy(seat);127 ds_client_destroy(client);128 ds_display_destroy(disp);129 }130 131 53 /** Test ds_window_resize(). */ 132 54 PCUT_TEST(window_resize) … … 261 183 } 262 184 263 /** Test ds_window_minimize(). */264 PCUT_TEST(window_minimize)265 {266 ds_display_t *disp;267 ds_client_t *client;268 ds_seat_t *seat;269 ds_window_t *wnd;270 display_wnd_params_t params;271 errno_t rc;272 273 rc = ds_display_create(NULL, df_none, &disp);274 PCUT_ASSERT_ERRNO_VAL(EOK, rc);275 276 rc = ds_client_create(disp, NULL, NULL, &client);277 PCUT_ASSERT_ERRNO_VAL(EOK, rc);278 279 rc = ds_seat_create(disp, &seat);280 PCUT_ASSERT_ERRNO_VAL(EOK, rc);281 282 display_wnd_params_init(¶ms);283 params.rect.p0.x = params.rect.p0.y = 0;284 params.rect.p1.x = params.rect.p1.y = 10;285 286 rc = ds_window_create(client, ¶ms, &wnd);287 PCUT_ASSERT_ERRNO_VAL(EOK, rc);288 289 rc = ds_window_minimize(wnd);290 PCUT_ASSERT_ERRNO_VAL(EOK, rc);291 292 PCUT_ASSERT_INT_EQUALS(wndf_minimized, wnd->flags & wndf_minimized);293 294 ds_window_destroy(wnd);295 ds_seat_destroy(seat);296 ds_client_destroy(client);297 ds_display_destroy(disp);298 }299 300 /** Test ds_window_unminimize(). */301 PCUT_TEST(window_unminimize)302 {303 ds_display_t *disp;304 ds_client_t *client;305 ds_seat_t *seat;306 ds_window_t *wnd;307 display_wnd_params_t params;308 errno_t rc;309 310 rc = ds_display_create(NULL, df_none, &disp);311 PCUT_ASSERT_ERRNO_VAL(EOK, rc);312 313 rc = ds_client_create(disp, NULL, NULL, &client);314 PCUT_ASSERT_ERRNO_VAL(EOK, rc);315 316 rc = ds_seat_create(disp, &seat);317 PCUT_ASSERT_ERRNO_VAL(EOK, rc);318 319 display_wnd_params_init(¶ms);320 params.flags |= wndf_minimized;321 params.rect.p0.x = params.rect.p0.y = 0;322 params.rect.p1.x = params.rect.p1.y = 10;323 324 rc = ds_window_create(client, ¶ms, &wnd);325 PCUT_ASSERT_ERRNO_VAL(EOK, rc);326 327 rc = ds_window_unminimize(wnd);328 PCUT_ASSERT_ERRNO_VAL(EOK, rc);329 330 PCUT_ASSERT_INT_EQUALS(0, wnd->flags & wndf_minimized);331 332 ds_window_destroy(wnd);333 ds_seat_destroy(seat);334 ds_client_destroy(client);335 ds_display_destroy(disp);336 }337 338 185 /** Test ds_window_maximize(). */ 339 186 PCUT_TEST(window_maximize) … … 448 295 gc = ds_window_get_ctx(wnd); 449 296 PCUT_ASSERT_NOT_NULL(gc); 450 451 ds_window_destroy(wnd);452 ds_seat_destroy(seat);453 ds_client_destroy(client);454 ds_display_destroy(disp);455 }456 457 /** Test ds_window_is_visible() */458 PCUT_TEST(is_visible)459 {460 ds_display_t *disp;461 ds_client_t *client;462 ds_seat_t *seat;463 ds_window_t *wnd;464 display_wnd_params_t params;465 errno_t rc;466 467 rc = ds_display_create(NULL, df_none, &disp);468 PCUT_ASSERT_ERRNO_VAL(EOK, rc);469 470 rc = ds_client_create(disp, NULL, NULL, &client);471 PCUT_ASSERT_ERRNO_VAL(EOK, rc);472 473 rc = ds_seat_create(disp, &seat);474 PCUT_ASSERT_ERRNO_VAL(EOK, rc);475 476 display_wnd_params_init(¶ms);477 params.rect.p0.x = params.rect.p0.y = 0;478 params.rect.p1.x = params.rect.p1.y = 10;479 480 rc = ds_window_create(client, ¶ms, &wnd);481 PCUT_ASSERT_ERRNO_VAL(EOK, rc);482 483 PCUT_ASSERT_TRUE(ds_window_is_visible(wnd));484 485 wnd->flags |= wndf_minimized;486 487 PCUT_ASSERT_FALSE(ds_window_is_visible(wnd));488 297 489 298 ds_window_destroy(wnd); … … 616 425 PCUT_ASSERT_INT_EQUALS(13, wnd->dpos.x); 617 426 PCUT_ASSERT_INT_EQUALS(14, wnd->dpos.y); 618 619 ds_window_destroy(wnd);620 ds_seat_destroy(seat);621 ds_client_destroy(client);622 ds_display_destroy(disp);623 }624 625 /** Test ds_window_post_focus_event() */626 PCUT_TEST(window_post_focus_event)627 {628 gfx_context_t *gc;629 ds_display_t *disp;630 ds_client_t *client;631 ds_seat_t *seat;632 ds_window_t *wnd;633 display_wnd_params_t params;634 errno_t rc;635 636 rc = gfx_context_new(&dummy_ops, NULL, &gc);637 PCUT_ASSERT_ERRNO_VAL(EOK, rc);638 639 rc = ds_display_create(gc, df_none, &disp);640 PCUT_ASSERT_ERRNO_VAL(EOK, rc);641 642 rc = ds_client_create(disp, NULL, NULL, &client);643 PCUT_ASSERT_ERRNO_VAL(EOK, rc);644 645 rc = ds_seat_create(disp, &seat);646 PCUT_ASSERT_ERRNO_VAL(EOK, rc);647 648 display_wnd_params_init(¶ms);649 params.rect.p0.x = params.rect.p0.y = 0;650 params.rect.p1.x = params.rect.p1.y = 1;651 652 rc = ds_window_create(client, ¶ms, &wnd);653 PCUT_ASSERT_ERRNO_VAL(EOK, rc);654 655 rc = ds_window_post_focus_event(wnd);656 PCUT_ASSERT_ERRNO_VAL(EOK, rc);657 658 ds_window_destroy(wnd);659 ds_seat_destroy(seat);660 ds_client_destroy(client);661 ds_display_destroy(disp);662 }663 664 /** Test ds_window_post_unfocus_event() */665 PCUT_TEST(window_post_unfocus_event)666 {667 gfx_context_t *gc;668 ds_display_t *disp;669 ds_client_t *client;670 ds_seat_t *seat;671 ds_window_t *wnd;672 display_wnd_params_t params;673 errno_t rc;674 675 rc = gfx_context_new(&dummy_ops, NULL, &gc);676 PCUT_ASSERT_ERRNO_VAL(EOK, rc);677 678 rc = ds_display_create(gc, df_none, &disp);679 PCUT_ASSERT_ERRNO_VAL(EOK, rc);680 681 rc = ds_client_create(disp, NULL, NULL, &client);682 PCUT_ASSERT_ERRNO_VAL(EOK, rc);683 684 rc = ds_seat_create(disp, &seat);685 PCUT_ASSERT_ERRNO_VAL(EOK, rc);686 687 display_wnd_params_init(¶ms);688 params.rect.p0.x = params.rect.p0.y = 0;689 params.rect.p1.x = params.rect.p1.y = 1;690 691 rc = ds_window_create(client, ¶ms, &wnd);692 PCUT_ASSERT_ERRNO_VAL(EOK, rc);693 694 rc = ds_window_post_focus_event(wnd);695 PCUT_ASSERT_ERRNO_VAL(EOK, rc);696 427 697 428 ds_window_destroy(wnd); … … 1120 851 } 1121 852 1122 /** Test ds_window_set_caption() */1123 PCUT_TEST(window_set_caption)1124 {1125 gfx_context_t *gc;1126 ds_display_t *disp;1127 ds_client_t *client;1128 ds_seat_t *seat;1129 ds_window_t *wnd;1130 display_wnd_params_t params;1131 errno_t rc;1132 1133 rc = gfx_context_new(&dummy_ops, NULL, &gc);1134 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1135 1136 rc = ds_display_create(gc, df_none, &disp);1137 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1138 1139 rc = ds_client_create(disp, NULL, NULL, &client);1140 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1141 1142 rc = ds_seat_create(disp, &seat);1143 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1144 1145 display_wnd_params_init(¶ms);1146 params.rect.p0.x = params.rect.p0.y = 0;1147 params.rect.p1.x = params.rect.p1.y = 1;1148 1149 rc = ds_window_create(client, ¶ms, &wnd);1150 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1151 1152 PCUT_ASSERT_EQUALS(wnd->display->cursor[dcurs_arrow], wnd->cursor);1153 1154 rc = ds_window_set_caption(wnd, "Hello");1155 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1156 PCUT_ASSERT_INT_EQUALS(0, str_cmp("Hello", wnd->caption));1157 1158 ds_window_destroy(wnd);1159 ds_seat_destroy(seat);1160 ds_client_destroy(client);1161 ds_display_destroy(disp);1162 }1163 1164 /** ds_window_find_alt() finds alternate window by flags */1165 PCUT_TEST(window_find_alt)1166 {1167 gfx_context_t *gc;1168 ds_display_t *disp;1169 ds_client_t *client;1170 ds_seat_t *seat;1171 ds_window_t *w0;1172 ds_window_t *w1;1173 ds_window_t *w2;1174 ds_window_t *wnd;1175 display_wnd_params_t params;1176 errno_t rc;1177 1178 rc = gfx_context_new(&dummy_ops, NULL, &gc);1179 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1180 1181 rc = ds_display_create(gc, df_none, &disp);1182 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1183 1184 rc = ds_client_create(disp, NULL, NULL, &client);1185 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1186 1187 rc = ds_seat_create(disp, &seat);1188 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1189 1190 display_wnd_params_init(¶ms);1191 params.rect.p0.x = params.rect.p0.y = 0;1192 params.rect.p1.x = params.rect.p1.y = 1;1193 1194 rc = ds_window_create(client, ¶ms, &w0);1195 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1196 1197 rc = ds_window_create(client, ¶ms, &w1);1198 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1199 w1->flags |= wndf_minimized;1200 1201 rc = ds_window_create(client, ¶ms, &w2);1202 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1203 w2->flags |= wndf_system;1204 1205 wnd = ds_window_find_alt(w0, wndf_minimized);1206 PCUT_ASSERT_EQUALS(w1, wnd);1207 1208 wnd = ds_window_find_alt(w0, wndf_system);1209 PCUT_ASSERT_EQUALS(w2, wnd);1210 1211 wnd = ds_window_find_alt(w0, wndf_maximized);1212 PCUT_ASSERT_NULL(wnd);1213 1214 ds_window_destroy(w0);1215 ds_window_destroy(w1);1216 ds_window_destroy(w2);1217 ds_seat_destroy(seat);1218 ds_client_destroy(client);1219 ds_display_destroy(disp);1220 }1221 1222 /** ds_window_unfocus() switches to another window */1223 PCUT_TEST(window_unfocus)1224 {1225 gfx_context_t *gc;1226 ds_display_t *disp;1227 ds_client_t *client;1228 ds_seat_t *seat;1229 ds_window_t *w0;1230 ds_window_t *w1;1231 display_wnd_params_t params;1232 errno_t rc;1233 1234 rc = gfx_context_new(&dummy_ops, NULL, &gc);1235 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1236 1237 rc = ds_display_create(gc, df_none, &disp);1238 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1239 1240 rc = ds_client_create(disp, NULL, NULL, &client);1241 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1242 1243 rc = ds_seat_create(disp, &seat);1244 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1245 1246 display_wnd_params_init(¶ms);1247 params.rect.p0.x = params.rect.p0.y = 0;1248 params.rect.p1.x = params.rect.p1.y = 1;1249 1250 rc = ds_window_create(client, ¶ms, &w1);1251 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1252 1253 rc = ds_window_create(client, ¶ms, &w0);1254 PCUT_ASSERT_ERRNO_VAL(EOK, rc);1255 1256 PCUT_ASSERT_EQUALS(w0, seat->focus);1257 1258 ds_window_unfocus(w0);1259 1260 PCUT_ASSERT_EQUALS(w1, seat->focus);1261 1262 ds_window_destroy(w0);1263 ds_window_destroy(w1);1264 ds_seat_destroy(seat);1265 ds_client_destroy(client);1266 ds_display_destroy(disp);1267 }1268 1269 853 static errno_t dummy_set_color(void *arg, gfx_color_t *color) 1270 854 {
Note:
See TracChangeset
for help on using the changeset viewer.
