Changeset 344f8b9 in mainline for uspace/lib/ui/test/menubar.c
- Timestamp:
- 2021-05-20T15:34:03Z (4 years ago)
- Children:
- f2416ec3
- Parents:
- da15002
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/test/menubar.c
rda15002 r344f8b9 50 50 errno_t rc; 51 51 52 rc = ui_menu_bar_create(NULL, &mbar);52 rc = ui_menu_bar_create(NULL, NULL, &mbar); 53 53 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 54 54 PCUT_ASSERT_NOT_NULL(mbar); … … 70 70 errno_t rc; 71 71 72 rc = ui_menu_bar_create(NULL, &mbar);72 rc = ui_menu_bar_create(NULL, NULL, &mbar); 73 73 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 74 74 PCUT_ASSERT_NOT_NULL(mbar); … … 99 99 PCUT_ASSERT_NOT_NULL(resource); 100 100 101 rc = ui_menu_bar_create( resource, &mbar);101 rc = ui_menu_bar_create(NULL, resource, &mbar); 102 102 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 103 103 PCUT_ASSERT_NOT_NULL(mbar); … … 137 137 PCUT_ASSERT_NOT_NULL(resource); 138 138 139 rc = ui_menu_bar_create( resource, &mbar);139 rc = ui_menu_bar_create(NULL, resource, &mbar); 140 140 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 141 141 PCUT_ASSERT_NOT_NULL(mbar); … … 154 154 dummy_gc_t *dgc; 155 155 gfx_context_t *gc; 156 ui_t *ui = NULL; 156 157 ui_resource_t *resource = NULL; 157 158 ui_menu_bar_t *mbar = NULL; … … 167 168 gc = dummygc_get_ctx(dgc); 168 169 169 rc = ui_resource_create(gc, false, &resource); 170 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 171 PCUT_ASSERT_NOT_NULL(resource); 172 173 rc = ui_menu_bar_create(resource, &mbar); 170 rc = ui_create_disp(NULL, &ui); 171 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 172 173 rc = ui_resource_create(gc, false, &resource); 174 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 175 PCUT_ASSERT_NOT_NULL(resource); 176 177 rc = ui_menu_bar_create(ui, resource, &mbar); 174 178 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 175 179 PCUT_ASSERT_NOT_NULL(mbar); … … 197 201 ui_menu_bar_destroy(mbar); 198 202 ui_resource_destroy(resource); 199 dummygc_destroy(dgc); 200 } 201 202 /** Position event is forwarded to menu */ 203 PCUT_TEST(pos_event_menu) 204 { 205 dummy_gc_t *dgc; 206 gfx_context_t *gc; 203 ui_destroy(ui); 204 dummygc_destroy(dgc); 205 } 206 207 /** Calling ui_menu_bar_select() with the same menu twice deselects it */ 208 PCUT_TEST(select_same) 209 { 210 dummy_gc_t *dgc; 211 gfx_context_t *gc; 212 ui_t *ui = NULL; 207 213 ui_resource_t *resource = NULL; 208 214 ui_menu_bar_t *mbar = NULL; 209 215 ui_menu_t *menu = NULL; 210 ui_evclaim_t claimed;211 pos_event_t event;212 gfx_coord2_t pos;213 216 gfx_rect_t rect; 214 217 errno_t rc; … … 219 222 gc = dummygc_get_ctx(dgc); 220 223 221 rc = ui_resource_create(gc, false, &resource); 222 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 223 PCUT_ASSERT_NOT_NULL(resource); 224 225 rc = ui_menu_bar_create(resource, &mbar); 226 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 227 PCUT_ASSERT_NOT_NULL(mbar); 224 rc = ui_create_disp(NULL, &ui); 225 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 226 227 rc = ui_resource_create(gc, false, &resource); 228 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 229 PCUT_ASSERT_NOT_NULL(resource); 230 231 rc = ui_menu_bar_create(ui, resource, &mbar); 232 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 233 PCUT_ASSERT_NOT_NULL(mbar); 234 235 rc = ui_menu_create(mbar, "Test", &menu); 236 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 237 PCUT_ASSERT_NOT_NULL(menu); 228 238 229 239 rect.p0.x = 0; 230 240 rect.p0.y = 0; 231 rect.p1.x = 50; 232 rect.p1.y = 25; 233 ui_menu_bar_set_rect(mbar, &rect); 234 235 rc = ui_menu_create(mbar, "Test", &menu); 236 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 237 PCUT_ASSERT_NOT_NULL(menu); 238 239 pos.x = 0; 240 pos.y = 0; 241 ui_menu_bar_select(mbar, &pos, menu); 241 rect.p1.x = 0; 242 rect.p1.y = 0; 243 ui_menu_bar_select(mbar, &rect, menu); 242 244 PCUT_ASSERT_EQUALS(menu, mbar->selected); 243 245 244 event.type = POS_PRESS; 245 event.hpos = 4; 246 event.vpos = 30; 247 claimed = ui_menu_bar_pos_event(mbar, &event); 248 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 249 PCUT_ASSERT_EQUALS(ui_claimed, claimed); 250 251 ui_menu_bar_destroy(mbar); 252 ui_resource_destroy(resource); 253 dummygc_destroy(dgc); 254 } 255 256 /* Unfocusing window closes open menu */ 257 PCUT_TEST(unfocus) 258 { 259 dummy_gc_t *dgc; 260 gfx_context_t *gc; 261 ui_resource_t *resource = NULL; 262 ui_menu_bar_t *mbar = NULL; 263 ui_menu_t *menu = NULL; 264 gfx_coord2_t pos; 265 errno_t rc; 266 267 rc = dummygc_create(&dgc); 268 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 269 270 gc = dummygc_get_ctx(dgc); 271 272 rc = ui_resource_create(gc, false, &resource); 273 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 274 PCUT_ASSERT_NOT_NULL(resource); 275 276 rc = ui_menu_bar_create(resource, &mbar); 277 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 278 PCUT_ASSERT_NOT_NULL(mbar); 279 280 rc = ui_menu_create(mbar, "Test", &menu); 281 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 282 PCUT_ASSERT_NOT_NULL(menu); 283 284 /* 285 * Position does not matter here. Probably should get rid of this 286 * argument, storing the position in the menu itself. 287 */ 288 pos.x = 0; 289 pos.y = 0; 290 ui_menu_bar_select(mbar, &pos, menu); 291 PCUT_ASSERT_EQUALS(menu, mbar->selected); 292 293 /* This should unselect the menu */ 294 ui_menu_bar_unfocus(mbar); 246 /* Selecting again should unselect the menu */ 247 ui_menu_bar_select(mbar, &rect, menu); 295 248 PCUT_ASSERT_NULL(mbar->selected); 296 249 297 250 ui_menu_bar_destroy(mbar); 298 251 ui_resource_destroy(resource); 299 dummygc_destroy(dgc); 300 } 301 302 /** Calling ui_menu_bar_select() with the same menu twice deselects it */ 303 PCUT_TEST(select_same) 304 { 305 dummy_gc_t *dgc; 306 gfx_context_t *gc; 307 ui_resource_t *resource = NULL; 308 ui_menu_bar_t *mbar = NULL; 309 ui_menu_t *menu = NULL; 310 gfx_coord2_t pos; 311 errno_t rc; 312 313 rc = dummygc_create(&dgc); 314 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 315 316 gc = dummygc_get_ctx(dgc); 317 318 rc = ui_resource_create(gc, false, &resource); 319 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 320 PCUT_ASSERT_NOT_NULL(resource); 321 322 rc = ui_menu_bar_create(resource, &mbar); 323 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 324 PCUT_ASSERT_NOT_NULL(mbar); 325 326 rc = ui_menu_create(mbar, "Test", &menu); 327 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 328 PCUT_ASSERT_NOT_NULL(menu); 329 330 pos.x = 0; 331 pos.y = 0; 332 ui_menu_bar_select(mbar, &pos, menu); 333 PCUT_ASSERT_EQUALS(menu, mbar->selected); 334 335 /* Selecting again should unselect the menu */ 336 ui_menu_bar_select(mbar, &pos, menu); 337 PCUT_ASSERT_NULL(mbar->selected); 338 339 ui_menu_bar_destroy(mbar); 340 ui_resource_destroy(resource); 252 ui_destroy(ui); 341 253 dummygc_destroy(dgc); 342 254 } … … 347 259 dummy_gc_t *dgc; 348 260 gfx_context_t *gc; 261 ui_t *ui = NULL; 349 262 ui_resource_t *resource = NULL; 350 263 ui_menu_bar_t *mbar = NULL; 351 264 ui_menu_t *menu1 = NULL; 352 265 ui_menu_t *menu2 = NULL; 353 gfx_coord2_t pos; 354 errno_t rc; 355 356 rc = dummygc_create(&dgc); 357 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 358 359 gc = dummygc_get_ctx(dgc); 360 361 rc = ui_resource_create(gc, false, &resource); 362 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 363 PCUT_ASSERT_NOT_NULL(resource); 364 365 rc = ui_menu_bar_create(resource, &mbar); 266 gfx_rect_t rect; 267 errno_t rc; 268 269 rc = dummygc_create(&dgc); 270 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 271 272 gc = dummygc_get_ctx(dgc); 273 274 rc = ui_create_disp(NULL, &ui); 275 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 276 277 rc = ui_resource_create(gc, false, &resource); 278 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 279 PCUT_ASSERT_NOT_NULL(resource); 280 281 rc = ui_menu_bar_create(ui, resource, &mbar); 366 282 PCUT_ASSERT_ERRNO_VAL(EOK, rc); 367 283 PCUT_ASSERT_NOT_NULL(mbar); … … 375 291 PCUT_ASSERT_NOT_NULL(menu2); 376 292 377 pos.x = 0; 378 pos.y = 0; 379 ui_menu_bar_select(mbar, &pos, menu1); 293 rect.p0.x = 0; 294 rect.p0.y = 0; 295 rect.p1.x = 0; 296 rect.p1.y = 0; 297 ui_menu_bar_select(mbar, &rect, menu1); 380 298 PCUT_ASSERT_EQUALS(menu1, mbar->selected); 381 299 382 300 /* Selecting different menu should select it */ 383 ui_menu_bar_select(mbar, & pos, menu2);301 ui_menu_bar_select(mbar, &rect, menu2); 384 302 PCUT_ASSERT_EQUALS(menu2, mbar->selected); 385 303 386 304 ui_menu_bar_destroy(mbar); 387 305 ui_resource_destroy(resource); 306 ui_destroy(ui); 388 307 dummygc_destroy(dgc); 389 308 }
Note:
See TracChangeset
for help on using the changeset viewer.