Changes in uspace/srv/hid/display/test/client.c [195b7b3:46a47c0] in mainline
- File:
-
- 1 edited
-
uspace/srv/hid/display/test/client.c (modified) (28 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/display/test/client.c
r195b7b3 r46a47c0 1 1 /* 2 * Copyright (c) 20 19Jiri Svoboda2 * Copyright (c) 2023 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 34 34 #include "../client.h" 35 35 #include "../display.h" 36 #include "../seat.h" 36 37 #include "../window.h" 37 38 … … 78 79 ds_display_t *disp; 79 80 ds_client_t *client; 81 ds_seat_t *seat; 80 82 ds_window_t *w0; 81 83 ds_window_t *w1; 82 84 ds_window_t *wnd; 83 85 display_wnd_params_t params; 84 errno_t rc; 85 86 rc = ds_display_create(NULL, df_none, &disp); 87 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 88 89 rc = ds_client_create(disp, &test_ds_client_cb, NULL, &client); 86 bool called_cb = NULL; 87 errno_t rc; 88 89 rc = ds_display_create(NULL, df_none, &disp); 90 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 91 92 rc = ds_client_create(disp, &test_ds_client_cb, &called_cb, &client); 93 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 94 95 rc = ds_seat_create(disp, "Alice", &seat); 90 96 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 91 97 … … 114 120 ds_window_destroy(w0); 115 121 ds_window_destroy(w1); 122 ds_seat_destroy(seat); 116 123 ds_client_destroy(client); 117 124 ds_display_destroy(disp); … … 123 130 ds_display_t *disp; 124 131 ds_client_t *client; 132 ds_seat_t *seat; 125 133 ds_window_t *w0; 126 134 ds_window_t *w1; 127 135 ds_window_t *wnd; 128 136 display_wnd_params_t params; 129 errno_t rc; 130 131 rc = ds_display_create(NULL, df_none, &disp); 132 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 133 134 rc = ds_client_create(disp, &test_ds_client_cb, NULL, &client); 137 bool called_cb = NULL; 138 errno_t rc; 139 140 rc = ds_display_create(NULL, df_none, &disp); 141 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 142 143 rc = ds_client_create(disp, &test_ds_client_cb, &called_cb, &client); 144 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 145 146 rc = ds_seat_create(disp, "Alice", &seat); 135 147 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 136 148 … … 156 168 ds_window_destroy(w0); 157 169 ds_window_destroy(w1); 170 ds_seat_destroy(seat); 158 171 ds_client_destroy(client); 159 172 ds_display_destroy(disp); … … 165 178 ds_display_t *disp; 166 179 ds_client_t *client; 180 ds_seat_t *seat; 167 181 ds_window_t *wnd; 168 182 display_wnd_params_t params; … … 178 192 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 179 193 180 display_wnd_params_init(¶ms); 181 params.rect.p0.x = params.rect.p0.y = 0; 182 params.rect.p1.x = params.rect.p1.y = 1; 183 184 rc = ds_window_create(client, ¶ms, &wnd); 185 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 186 187 PCUT_ASSERT_FALSE(called_cb); 194 rc = ds_seat_create(disp, "Alice", &seat); 195 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 196 197 display_wnd_params_init(¶ms); 198 params.rect.p0.x = params.rect.p0.y = 0; 199 params.rect.p1.x = params.rect.p1.y = 1; 200 201 rc = ds_window_create(client, ¶ms, &wnd); 202 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 203 204 /* New window gets focused event */ 205 PCUT_ASSERT_TRUE(called_cb); 206 207 rc = ds_client_get_event(client, &rwindow, &revent); 208 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 209 210 called_cb = false; 188 211 189 212 rc = ds_client_get_event(client, &rwindow, &revent); … … 203 226 204 227 ds_window_destroy(wnd); 228 ds_seat_destroy(seat); 205 229 ds_client_destroy(client); 206 230 ds_display_destroy(disp); … … 212 236 ds_display_t *disp; 213 237 ds_client_t *client; 238 ds_seat_t *seat; 214 239 ds_window_t *wnd; 215 240 display_wnd_params_t params; 216 241 ds_window_t *rwindow; 242 display_wnd_focus_ev_t efocus; 217 243 display_wnd_ev_t revent; 218 244 bool called_cb = NULL; … … 225 251 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 226 252 227 display_wnd_params_init(¶ms); 228 params.rect.p0.x = params.rect.p0.y = 0; 229 params.rect.p1.x = params.rect.p1.y = 1; 230 231 rc = ds_window_create(client, ¶ms, &wnd); 232 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 233 234 PCUT_ASSERT_FALSE(called_cb); 235 236 rc = ds_client_get_event(client, &rwindow, &revent); 237 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 238 239 rc = ds_client_post_focus_event(client, wnd); 253 rc = ds_seat_create(disp, "Alice", &seat); 254 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 255 256 display_wnd_params_init(¶ms); 257 params.rect.p0.x = params.rect.p0.y = 0; 258 params.rect.p1.x = params.rect.p1.y = 1; 259 260 rc = ds_window_create(client, ¶ms, &wnd); 261 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 262 263 /* New window gets focused event */ 264 PCUT_ASSERT_TRUE(called_cb); 265 266 rc = ds_client_get_event(client, &rwindow, &revent); 267 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 268 269 called_cb = false; 270 271 rc = ds_client_get_event(client, &rwindow, &revent); 272 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 273 274 efocus.nfocus = 42; 275 276 rc = ds_client_post_focus_event(client, wnd, &efocus); 240 277 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 241 278 PCUT_ASSERT_TRUE(called_cb); … … 245 282 PCUT_ASSERT_EQUALS(wnd, rwindow); 246 283 PCUT_ASSERT_EQUALS(wev_focus, revent.etype); 284 PCUT_ASSERT_INT_EQUALS(efocus.nfocus, revent.ev.focus.nfocus); 247 285 248 286 rc = ds_client_get_event(client, &rwindow, &revent); … … 250 288 251 289 ds_window_destroy(wnd); 290 ds_seat_destroy(seat); 252 291 ds_client_destroy(client); 253 292 ds_display_destroy(disp); … … 259 298 ds_display_t *disp; 260 299 ds_client_t *client; 300 ds_seat_t *seat; 261 301 ds_window_t *wnd; 262 302 display_wnd_params_t params; … … 273 313 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 274 314 275 display_wnd_params_init(¶ms); 276 params.rect.p0.x = params.rect.p0.y = 0; 277 params.rect.p1.x = params.rect.p1.y = 1; 278 279 rc = ds_window_create(client, ¶ms, &wnd); 280 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 315 rc = ds_seat_create(disp, "Alice", &seat); 316 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 317 318 display_wnd_params_init(¶ms); 319 params.rect.p0.x = params.rect.p0.y = 0; 320 params.rect.p1.x = params.rect.p1.y = 1; 321 322 rc = ds_window_create(client, ¶ms, &wnd); 323 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 324 325 /* New window gets focused event */ 326 PCUT_ASSERT_TRUE(called_cb); 327 328 rc = ds_client_get_event(client, &rwindow, &revent); 329 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 330 331 called_cb = false; 332 333 rc = ds_client_get_event(client, &rwindow, &revent); 334 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 281 335 282 336 event.type = KEY_PRESS; … … 284 338 event.mods = 0; 285 339 event.c = L'\0'; 286 287 PCUT_ASSERT_FALSE(called_cb);288 289 rc = ds_client_get_event(client, &rwindow, &revent);290 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc);291 340 292 341 rc = ds_client_post_kbd_event(client, wnd, &event); … … 307 356 308 357 ds_window_destroy(wnd); 358 ds_seat_destroy(seat); 309 359 ds_client_destroy(client); 310 360 ds_display_destroy(disp); … … 316 366 ds_display_t *disp; 317 367 ds_client_t *client; 368 ds_seat_t *seat; 318 369 ds_window_t *wnd; 319 370 display_wnd_params_t params; … … 330 381 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 331 382 332 display_wnd_params_init(¶ms); 333 params.rect.p0.x = params.rect.p0.y = 0; 334 params.rect.p1.x = params.rect.p1.y = 1; 335 336 rc = ds_window_create(client, ¶ms, &wnd); 337 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 383 rc = ds_seat_create(disp, "Alice", &seat); 384 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 385 386 display_wnd_params_init(¶ms); 387 params.rect.p0.x = params.rect.p0.y = 0; 388 params.rect.p1.x = params.rect.p1.y = 1; 389 390 rc = ds_window_create(client, ¶ms, &wnd); 391 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 392 393 /* New window gets focused event */ 394 PCUT_ASSERT_TRUE(called_cb); 395 396 rc = ds_client_get_event(client, &rwindow, &revent); 397 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 398 399 called_cb = false; 400 401 PCUT_ASSERT_FALSE(called_cb); 402 403 rc = ds_client_get_event(client, &rwindow, &revent); 404 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 338 405 339 406 event.type = POS_PRESS; 340 407 event.hpos = 1; 341 408 event.vpos = 2; 342 343 PCUT_ASSERT_FALSE(called_cb);344 345 rc = ds_client_get_event(client, &rwindow, &revent);346 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc);347 409 348 410 rc = ds_client_post_pos_event(client, wnd, &event); … … 362 424 363 425 ds_window_destroy(wnd); 426 ds_seat_destroy(seat); 364 427 ds_client_destroy(client); 365 428 ds_display_destroy(disp); … … 371 434 ds_display_t *disp; 372 435 ds_client_t *client; 436 ds_seat_t *seat; 373 437 ds_window_t *wnd; 374 438 display_wnd_params_t params; … … 385 449 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 386 450 387 display_wnd_params_init(¶ms); 388 params.rect.p0.x = params.rect.p0.y = 0; 389 params.rect.p1.x = params.rect.p1.y = 1; 390 391 rc = ds_window_create(client, ¶ms, &wnd); 392 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 451 rc = ds_seat_create(disp, "Alice", &seat); 452 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 453 454 display_wnd_params_init(¶ms); 455 params.rect.p0.x = params.rect.p0.y = 0; 456 params.rect.p1.x = params.rect.p1.y = 1; 457 458 rc = ds_window_create(client, ¶ms, &wnd); 459 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 460 461 /* New window gets focused event */ 462 PCUT_ASSERT_TRUE(called_cb); 463 464 rc = ds_client_get_event(client, &rwindow, &revent); 465 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 466 467 called_cb = false; 468 469 PCUT_ASSERT_FALSE(called_cb); 470 471 rc = ds_client_get_event(client, &rwindow, &revent); 472 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 393 473 394 474 rect.p0.x = 1; … … 396 476 rect.p1.x = 3; 397 477 rect.p1.y = 4; 398 399 PCUT_ASSERT_FALSE(called_cb);400 401 rc = ds_client_get_event(client, &rwindow, &revent);402 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc);403 478 404 479 rc = ds_client_post_resize_event(client, wnd, &rect); … … 419 494 420 495 ds_window_destroy(wnd); 496 ds_seat_destroy(seat); 421 497 ds_client_destroy(client); 422 498 ds_display_destroy(disp); … … 428 504 ds_display_t *disp; 429 505 ds_client_t *client; 506 ds_seat_t *seat; 507 ds_window_t *wnd; 508 display_wnd_params_t params; 509 ds_window_t *rwindow; 510 display_wnd_unfocus_ev_t eunfocus; 511 display_wnd_ev_t revent; 512 bool called_cb = NULL; 513 errno_t rc; 514 515 rc = ds_display_create(NULL, df_none, &disp); 516 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 517 518 rc = ds_client_create(disp, &test_ds_client_cb, &called_cb, &client); 519 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 520 521 rc = ds_seat_create(disp, "Alice", &seat); 522 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 523 524 display_wnd_params_init(¶ms); 525 params.rect.p0.x = params.rect.p0.y = 0; 526 params.rect.p1.x = params.rect.p1.y = 1; 527 528 rc = ds_window_create(client, ¶ms, &wnd); 529 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 530 531 /* New window gets focused event */ 532 PCUT_ASSERT_TRUE(called_cb); 533 534 rc = ds_client_get_event(client, &rwindow, &revent); 535 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 536 537 called_cb = false; 538 539 rc = ds_client_get_event(client, &rwindow, &revent); 540 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 541 542 eunfocus.nfocus = 42; 543 544 rc = ds_client_post_unfocus_event(client, wnd, &eunfocus); 545 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 546 PCUT_ASSERT_TRUE(called_cb); 547 548 rc = ds_client_get_event(client, &rwindow, &revent); 549 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 550 PCUT_ASSERT_EQUALS(wnd, rwindow); 551 PCUT_ASSERT_EQUALS(wev_unfocus, revent.etype); 552 PCUT_ASSERT_INT_EQUALS(eunfocus.nfocus, revent.ev.unfocus.nfocus); 553 554 rc = ds_client_get_event(client, &rwindow, &revent); 555 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 556 557 ds_window_destroy(wnd); 558 ds_seat_destroy(seat); 559 ds_client_destroy(client); 560 ds_display_destroy(disp); 561 } 562 563 /** Test ds_client_purge_window_events() */ 564 PCUT_TEST(client_purge_window_events) 565 { 566 ds_display_t *disp; 567 ds_client_t *client; 568 ds_seat_t *seat; 430 569 ds_window_t *wnd; 431 570 display_wnd_params_t params; … … 441 580 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 442 581 443 display_wnd_params_init(¶ms); 444 params.rect.p0.x = params.rect.p0.y = 0; 445 params.rect.p1.x = params.rect.p1.y = 1; 446 447 rc = ds_window_create(client, ¶ms, &wnd); 448 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 449 450 PCUT_ASSERT_FALSE(called_cb); 451 452 rc = ds_client_get_event(client, &rwindow, &revent); 453 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 454 455 rc = ds_client_post_unfocus_event(client, wnd); 456 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 457 PCUT_ASSERT_TRUE(called_cb); 458 459 rc = ds_client_get_event(client, &rwindow, &revent); 460 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 461 PCUT_ASSERT_EQUALS(wnd, rwindow); 462 PCUT_ASSERT_EQUALS(wev_unfocus, revent.etype); 463 582 rc = ds_seat_create(disp, "Alice", &seat); 583 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 584 585 display_wnd_params_init(¶ms); 586 params.rect.p0.x = params.rect.p0.y = 0; 587 params.rect.p1.x = params.rect.p1.y = 1; 588 589 rc = ds_window_create(client, ¶ms, &wnd); 590 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 591 592 /* New window gets focused event */ 593 PCUT_ASSERT_TRUE(called_cb); 594 595 /* Purge it */ 596 ds_client_purge_window_events(client, wnd); 597 598 /* The queue should be empty now */ 464 599 rc = ds_client_get_event(client, &rwindow, &revent); 465 600 PCUT_ASSERT_ERRNO_VAL(ENOENT, rc); 466 601 467 602 ds_window_destroy(wnd); 603 ds_seat_destroy(seat); 468 604 ds_client_destroy(client); 469 605 ds_display_destroy(disp); … … 479 615 ds_display_t *disp; 480 616 ds_client_t *client; 617 ds_seat_t *seat; 481 618 ds_window_t *wnd; 482 619 display_wnd_params_t params; … … 489 626 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 490 627 491 display_wnd_params_init(¶ms); 492 params.rect.p0.x = params.rect.p0.y = 0; 493 params.rect.p1.x = params.rect.p1.y = 1; 494 495 rc = ds_window_create(client, ¶ms, &wnd); 496 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 497 628 rc = ds_seat_create(disp, "Alice", &seat); 629 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 630 631 display_wnd_params_init(¶ms); 632 params.rect.p0.x = params.rect.p0.y = 0; 633 params.rect.p1.x = params.rect.p1.y = 1; 634 635 rc = ds_window_create(client, ¶ms, &wnd); 636 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 637 638 ds_seat_destroy(seat); 498 639 ds_client_destroy(client); 499 640 ds_display_destroy(disp);
Note:
See TracChangeset
for help on using the changeset viewer.
