Skip to content

Commit 324fd01

Browse files
committed
fixup! fix(aria/menu): update unit tests to use ngMenuContent
1 parent ffb5877 commit 324fd01

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

src/aria/menu/menu.spec.ts

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -227,25 +227,24 @@ describe('Standalone Menu Pattern', () => {
227227
const apple = getItem('Apple');
228228
const banana = getItem('Banana');
229229
const berries = getItem('Berries');
230-
const blueberry = getItem('Blueberry');
231230

232231
keydown(apple!, 'ArrowDown');
233232
keydown(banana!, 'ArrowDown');
234233
keydown(berries!, 'ArrowRight');
235234

236235
expect(isSubmenuExpanded()).toBe(true);
237-
expect(document.activeElement).toBe(blueberry);
236+
expect(document.activeElement).toBe(getItem('Blueberry'));
238237
});
239238

240239
it('should close submenu on arrow left', () => {
241240
const apple = getItem('Apple');
242241
const banana = getItem('Banana');
243242
const berries = getItem('Berries');
244-
const blueberry = getItem('Blueberry');
245243

246244
keydown(apple!, 'ArrowDown');
247245
keydown(banana!, 'ArrowDown');
248246
keydown(berries!, 'ArrowRight');
247+
const blueberry = getItem('Blueberry');
249248
keydown(blueberry!, 'ArrowLeft');
250249

251250
expect(isSubmenuExpanded()).toBe(false);
@@ -254,54 +253,51 @@ describe('Standalone Menu Pattern', () => {
254253

255254
it('should close submenu on click outside', () => {
256255
const berries = getItem('Berries');
257-
const blueberry = getItem('Blueberry');
258256

259257
click(berries!);
260258
expect(isSubmenuExpanded()).toBe(true);
261259

262-
focusout(blueberry!, document.body);
260+
focusout(getItem('Blueberry')!, document.body);
263261
expect(isSubmenuExpanded()).toBe(false);
264262
});
265263

266264
it('should expand submenu on enter', () => {
267265
const apple = getItem('Apple');
268266
const banana = getItem('Banana');
269267
const berries = getItem('Berries');
270-
const blueberry = getItem('Blueberry');
271268

272269
keydown(apple!, 'ArrowDown');
273270
keydown(banana!, 'ArrowDown');
274271
keydown(berries!, 'Enter');
275272

276273
expect(isSubmenuExpanded()).toBe(true);
277-
expect(document.activeElement).toBe(blueberry);
274+
expect(document.activeElement).toBe(getItem('Blueberry'));
278275
});
279276

280277
it('should expand submenu on space', () => {
281278
const apple = getItem('Apple');
282279
const banana = getItem('Banana');
283280
const berries = getItem('Berries');
284-
const blueberry = getItem('Blueberry');
285281

286282
keydown(apple!, 'ArrowDown');
287283
keydown(banana!, 'ArrowDown');
288284
keydown(berries!, ' ');
289285

290286
expect(isSubmenuExpanded()).toBe(true);
291-
expect(document.activeElement).toBe(blueberry);
287+
expect(document.activeElement).toBe(getItem('Blueberry'));
292288
});
293289

294290
it('should close submenu on escape', () => {
295291
const apple = getItem('Apple');
296292
const banana = getItem('Banana');
297293
const berries = getItem('Berries');
298-
const blueberry = getItem('Blueberry');
299294

300295
keydown(apple!, 'ArrowDown');
301296
keydown(banana!, 'ArrowDown');
302297
keydown(berries!, 'ArrowRight');
303298

304299
expect(isSubmenuExpanded()).toBe(true);
300+
const blueberry = getItem('Blueberry');
305301
expect(document.activeElement).toBe(blueberry);
306302

307303
keydown(blueberry!, 'Escape');
@@ -332,11 +328,11 @@ describe('Standalone Menu Pattern', () => {
332328
const apple = getItem('Apple');
333329
const banana = getItem('Banana');
334330
const berries = getItem('Berries');
335-
const blueberry = getItem('Blueberry');
336331

337332
keydown(apple!, 'ArrowDown');
338333
keydown(banana!, 'ArrowDown');
339334
keydown(berries!, 'Enter'); // open submenu
335+
const blueberry = getItem('Blueberry');
340336

341337
expect(document.activeElement).toBe(blueberry);
342338

@@ -351,11 +347,11 @@ describe('Standalone Menu Pattern', () => {
351347
const apple = getItem('Apple');
352348
const banana = getItem('Banana');
353349
const berries = getItem('Berries');
354-
const blueberry = getItem('Blueberry');
355350

356351
keydown(apple!, 'ArrowDown');
357352
keydown(banana!, 'ArrowDown');
358353
keydown(berries!, ' '); // open submenu
354+
const blueberry = getItem('Blueberry');
359355

360356
expect(document.activeElement).toBe(blueberry);
361357

@@ -369,12 +365,12 @@ describe('Standalone Menu Pattern', () => {
369365
const apple = getItem('Apple');
370366
const banana = getItem('Banana');
371367
const berries = getItem('Berries');
372-
const blueberry = getItem('Blueberry');
373368

374369
keydown(apple!, 'ArrowDown');
375370
keydown(banana!, 'ArrowDown');
376371
keydown(berries!, 'ArrowRight');
377372
expect(isSubmenuExpanded()).toBe(true);
373+
const blueberry = getItem('Blueberry');
378374
expect(document.activeElement).toBe(blueberry);
379375

380376
const externalElement = document.createElement('button');
@@ -424,25 +420,24 @@ describe('Standalone Menu Pattern', () => {
424420
const apple = getItem('Apple');
425421
const banana = getItem('Banana');
426422
const berries = getItem('Berries');
427-
const blueberry = getItem('Blueberry');
428423

429424
keydown(apple!, 'ArrowDown');
430425
keydown(banana!, 'ArrowDown');
431426
keydown(berries!, 'ArrowLeft');
432427

433428
expect(isSubmenuExpanded()).toBe(true);
434-
expect(document.activeElement).toBe(blueberry);
429+
expect(document.activeElement).toBe(getItem('Blueberry'));
435430
});
436431

437432
it('should close submenu on arrow right', () => {
438433
const apple = getItem('Apple');
439434
const banana = getItem('Banana');
440435
const berries = getItem('Berries');
441-
const blueberry = getItem('Blueberry');
442436

443437
keydown(apple!, 'ArrowDown');
444438
keydown(banana!, 'ArrowDown');
445439
keydown(berries!, 'ArrowLeft');
440+
const blueberry = getItem('Blueberry');
446441
keydown(blueberry!, 'ArrowRight');
447442

448443
expect(isSubmenuExpanded()).toBe(false);
@@ -454,7 +449,13 @@ describe('Standalone Menu Pattern', () => {
454449
describe('Menu Trigger Pattern', () => {
455450
let fixture: ComponentFixture<MenuTriggerExample>;
456451

452+
const focusin = (element: Element) => {
453+
element.dispatchEvent(new FocusEvent('focusin', {bubbles: true}));
454+
fixture.detectChanges();
455+
};
456+
457457
const keydown = (element: Element, key: string, modifierKeys: {} = {}) => {
458+
focusin(element);
458459
element.dispatchEvent(
459460
new KeyboardEvent('keydown', {
460461
key,
@@ -466,6 +467,7 @@ describe('Menu Trigger Pattern', () => {
466467
};
467468

468469
const click = (element: Element, eventInit?: PointerEventInit) => {
470+
focusin(element);
469471
element.dispatchEvent(new PointerEvent('click', {bubbles: true, ...eventInit}));
470472
fixture.detectChanges();
471473
};
@@ -479,7 +481,6 @@ describe('Menu Trigger Pattern', () => {
479481
TestBed.configureTestingModule({});
480482
fixture = TestBed.createComponent(MenuTriggerExample);
481483
fixture.detectChanges();
482-
getItem('Apple')?.focus();
483484
}
484485

485486
function getTrigger(): HTMLElement {
@@ -598,7 +599,7 @@ describe('Menu Trigger Pattern', () => {
598599
expect(isExpanded()).toBe(false);
599600
});
600601

601-
it('should close on selecting an item on space', () => {
602+
it('should close on selecting an item on space', async () => {
602603
click(getTrigger());
603604
keydown(getItem('Apple')!, ' ');
604605
expect(isExpanded()).toBe(false);

0 commit comments

Comments
 (0)