Skip to content

Commit 09e7f44

Browse files
committed
Merge branch 'main' of github.com:adobe/react-spectrum
2 parents 1b4236c + 80f8a2b commit 09e7f44

File tree

15 files changed

+25
-33
lines changed

15 files changed

+25
-33
lines changed

packages/@react-aria/test-utils/src/menu.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ export class MenuTester {
266266
let menu = this.menu;
267267
if (menu) {
268268
if (typeof submenuTrigger === 'string') {
269-
submenuTrigger = within(menu).getByText(submenuTrigger);
269+
submenuTrigger = (within(menu!).getByText(submenuTrigger).closest('[role=menuitem]'))! as HTMLElement;
270270
}
271271

272272
let submenuTriggerTester = new MenuTester({user: this.user, interactionType: this._interactionType, root: submenuTrigger, isSubmenu: true});
@@ -292,7 +292,8 @@ export class MenuTester {
292292
private async keyboardNavigateToOption(opts: {option: HTMLElement}) {
293293
let {option} = opts;
294294
let options = this.options();
295-
let targetIndex = options.indexOf(option);
295+
let targetIndex = options.findIndex(opt => (opt === option) || opt.contains(option));
296+
296297
if (targetIndex === -1) {
297298
throw new Error('Option provided is not in the menu');
298299
}

packages/@react-aria/test-utils/src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export interface UserOpts {
3434

3535
export interface BaseTesterOpts extends UserOpts {
3636
/** @private */
37-
user: any,
37+
user?: any,
3838
/** The base element for the given tester (e.g. the table, menu trigger button, etc). */
3939
root: HTMLElement
4040
}

packages/@react-spectrum/list/docs/ListView.mdx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,25 +1211,22 @@ it('ListView can select a row via keyboard', async function () {
12111211
// Render your test component/app and initialize the gridlist tester
12121212
let {getByTestId} = render(
12131213
<Provider theme={defaultTheme}>
1214-
<ListView data-testid="test-gridlist">
1214+
<ListView data-testid="test-gridlist" selectionMode="single">
12151215
...
12161216
</ListView>
12171217
</Provider>
12181218
);
1219-
let gridlistTester = testUtilUser.createTester('GridList', {root: getByTestId('test-gridlist'), interactionType: 'keyboard'});
1219+
let gridListTester = testUtilUser.createTester('GridList', {root: getByTestId('test-gridlist'), interactionType: 'keyboard'});
12201220

12211221
let row = gridListTester.rows[0];
1222-
expect(row).not.toHaveClass('selected');
12231222
expect(within(row).getByRole('checkbox')).not.toBeChecked();
12241223
expect(gridListTester.selectedRows).toHaveLength(0);
12251224

12261225
await gridListTester.toggleRowSelection({row: 0});
1227-
expect(row).toHaveClass('selected');
12281226
expect(within(row).getByRole('checkbox')).toBeChecked();
12291227
expect(gridListTester.selectedRows).toHaveLength(1);
12301228

12311229
await gridListTester.toggleRowSelection({row: 0});
1232-
expect(row).not.toHaveClass('selected');
12331230
expect(within(row).getByRole('checkbox')).not.toBeChecked();
12341231
expect(gridListTester.selectedRows).toHaveLength(0);
12351232
});

packages/@react-spectrum/listbox/docs/ListBox.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ it('ListBox can select an option via keyboard', async function () {
429429
// Render your test component/app and initialize the listbox tester
430430
let {getByTestId} = render(
431431
<Provider theme={defaultTheme}>
432-
<ListBox data-testid="test-listbox">
432+
<ListBox selectionMode="single" data-testid="test-listbox">
433433
...
434434
</ListBox>
435435
</Provider>
@@ -438,7 +438,6 @@ it('ListBox can select an option via keyboard', async function () {
438438

439439
await listboxTester.toggleOptionSelection({option: 4});
440440
expect(listboxTester.options()[4]).toHaveAttribute('aria-selected', 'true');
441-
expect(onSelectionChange).toBeCalledTimes(1);
442441
});
443442
```
444443

packages/@react-spectrum/menu/docs/MenuTrigger.mdx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ it('Menu can open its submenu via keyboard', async function () {
276276
// Render your test component/app and initialize the menu tester
277277
let {getByTestId} = render(
278278
<Provider theme={defaultTheme}>
279-
<MenuTrigger data-testid="test-menutrigger">
279+
<MenuTrigger>
280+
<Button data-testid="test-menutrigger">Menu trigger</Button>
280281
...
281282
</MenuTrigger>
282283
</Provider>
@@ -291,9 +292,9 @@ it('Menu can open its submenu via keyboard', async function () {
291292
let submenuTester = await menuTester.openSubmenu({submenuTrigger: 'Share…'});
292293
expect(submenuTester.menu).toBeInTheDocument();
293294

294-
await submenuTester.selectOption({option: submenuUtil.options()[0]});
295-
expect(submenuTester.menu).toBeInTheDocument();
296-
expect(menuTester.menu).toBeInTheDocument();
295+
await submenuTester.selectOption({option: submenuTester.options()[0]});
296+
expect(submenuTester.menu).not.toBeInTheDocument();
297+
expect(menuTester.menu).not.toBeInTheDocument();
297298
});
298299
```
299300

packages/@react-spectrum/picker/docs/Picker.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -615,8 +615,7 @@ it('Picker can select an option via keyboard', async function () {
615615
);
616616
let selectTester = testUtilUser.createTester('Select', {root: getByTestId('test-select'), interactionType: 'keyboard'});
617617
let trigger = selectTester.trigger;
618-
expect(trigger).toHaveTextContent('Select an item');
619-
expect(trigger).not.toHaveAttribute('data-pressed');
618+
expect(trigger).toHaveTextContent('Select…');
620619

621620
await selectTester.selectOption({option: 'Cat'});
622621
expect(trigger).toHaveTextContent('Cat');

packages/@react-spectrum/table/docs/TableView.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1977,7 +1977,7 @@ it('TableView can toggle row selection', async function () {
19771977
// Render your test component/app and initialize the table tester
19781978
let {getByTestId} = render(
19791979
<Provider theme={defaultTheme}>
1980-
<TableView data-testid="test-table">
1980+
<TableView data-testid="test-table" selectionMode="multiple">
19811981
...
19821982
</TableView>
19831983
</Provider>

packages/@react-spectrum/tabs/docs/Tabs.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,6 @@ it('Tabs can change selection via keyboard', async function () {
666666
expect(tabsTester.selectedTab).toBe(tabs[0]);
667667

668668
await tabsTester.triggerTab({tab: 1});
669-
expect(onSelectionChange).toBeCalledTimes(1);
670669
expect(tabsTester.selectedTab).toBe(tabs[1]);
671670
});
672671
```

packages/@react-spectrum/tree/docs/TreeView.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ it('TreeView can select a row via keyboard', async function () {
476476
// Render your test component/app and initialize the Tree tester
477477
let {getByTestId} = render(
478478
<Provider theme={defaultTheme}>
479-
<TreeView data-testid="test-tree">
479+
<TreeView data-testid="test-tree" selectionMode="multiple">
480480
...
481481
</TreeView>
482482
</Provider>

packages/react-aria-components/docs/GridList.mdx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1885,24 +1885,21 @@ let testUtilUser = new User({interactionType: 'mouse'});
18851885
it('GridList can select a row via keyboard', async function () {
18861886
// Render your test component/app and initialize the gridlist tester
18871887
let {getByTestId} = render(
1888-
<GridList data-testid="test-gridlist">
1888+
<GridList data-testid="test-gridlist" selectionMode="single">
18891889
...
18901890
</GridList>
18911891
);
1892-
let gridlistTester = testUtilUser.createTester('GridList', {root: getByTestId('test-gridlist'), interactionType: 'keyboard'});
1892+
let gridListTester = testUtilUser.createTester('GridList', {root: getByTestId('test-gridlist'), interactionType: 'keyboard'});
18931893

18941894
let row = gridListTester.rows[0];
1895-
expect(row).not.toHaveClass('selected');
18961895
expect(within(row).getByRole('checkbox')).not.toBeChecked();
18971896
expect(gridListTester.selectedRows).toHaveLength(0);
18981897

18991898
await gridListTester.toggleRowSelection({row: 0});
1900-
expect(row).toHaveClass('selected');
19011899
expect(within(row).getByRole('checkbox')).toBeChecked();
19021900
expect(gridListTester.selectedRows).toHaveLength(1);
19031901

19041902
await gridListTester.toggleRowSelection({row: 0});
1905-
expect(row).not.toHaveClass('selected');
19061903
expect(within(row).getByRole('checkbox')).not.toBeChecked();
19071904
expect(gridListTester.selectedRows).toHaveLength(0);
19081905
});

0 commit comments

Comments
 (0)