@@ -47,27 +47,27 @@ describe('Tabs.Accessibility', () => {
47
47
expect ( firstTab ) . toHaveFocus ( ) ;
48
48
49
49
await user . keyboard ( '{ArrowRight}' ) ;
50
- expect ( secondTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
50
+ expect ( secondTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
51
51
52
52
// skip disabled tab
53
53
await user . keyboard ( '{ArrowRight}' ) ;
54
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
54
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
55
55
56
56
// cycle to first tab
57
57
await user . keyboard ( '{ArrowRight}' ) ;
58
- expect ( firstTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
58
+ expect ( firstTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
59
59
60
60
// cycle to last tab
61
61
await user . keyboard ( '{ArrowLeft}' ) ;
62
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
62
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
63
63
64
64
// jump to first tab
65
65
await user . keyboard ( '{Home}' ) ;
66
- expect ( firstTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
66
+ expect ( firstTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
67
67
68
68
// jump to last tab
69
69
await user . keyboard ( '{End}' ) ;
70
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
70
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
71
71
} ) ;
72
72
73
73
it ( 'should support vertical keyboard navigation' , async ( ) => {
@@ -82,11 +82,11 @@ describe('Tabs.Accessibility', () => {
82
82
// move to second tab
83
83
await user . keyboard ( '{ArrowDown}' ) ;
84
84
const secondTab = getByRole ( 'tab' , { name : 'Tab 2' } ) ;
85
- expect ( secondTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
85
+ expect ( secondTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
86
86
87
87
// move to first tab
88
88
await user . keyboard ( '{ArrowUp}' ) ;
89
- expect ( firstTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
89
+ expect ( firstTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
90
90
} ) ;
91
91
92
92
it ( 'should activate tab on Enter/Space' , async ( ) => {
@@ -122,7 +122,7 @@ describe('Tabs.Accessibility', () => {
122
122
await user . keyboard ( '{ArrowRight}' ) ;
123
123
124
124
const fourthTab = getByRole ( 'tab' , { name : 'Tab 4' } ) ;
125
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
125
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
126
126
} ) ;
127
127
128
128
it ( 'should distinguish between keyboard and mouse navigation' , async ( ) => {
@@ -134,19 +134,19 @@ describe('Tabs.Accessibility', () => {
134
134
135
135
// mouse click should not add focus style
136
136
await user . click ( secondTab ) ;
137
- expect ( secondTab . parentElement ) . not . toHaveClass ( 'rc-tabs-tab-focus' ) ;
137
+ expect ( secondTab ) . not . toHaveClass ( 'rc-tabs-tab-focus' ) ;
138
138
139
139
// clear focus
140
140
await user . click ( document . body ) ;
141
141
142
142
// keyboard navigation should add focus style
143
143
await user . tab ( ) ;
144
144
// default focus active tab
145
- expect ( secondTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
145
+ expect ( secondTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
146
146
147
147
await user . keyboard ( '{ArrowRight}' ) ;
148
148
// skip disabled tab
149
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
149
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
150
150
} ) ;
151
151
152
152
it ( 'should support keyboard delete tab' , async ( ) => {
@@ -194,28 +194,28 @@ describe('Tabs.Accessibility', () => {
194
194
195
195
// focus to first tab
196
196
await user . tab ( ) ;
197
- const firstTab = getByRole ( 'tab' , { name : 'Tab 1' } ) ;
197
+ const firstTab = getByRole ( 'tab' , { name : 'Tab 1 × ' } ) ;
198
198
expect ( firstTab ) . toHaveFocus ( ) ;
199
199
200
200
// delete first tab
201
201
await user . keyboard ( '{Backspace}' ) ;
202
- expect ( queryByRole ( 'tab' , { name : 'Tab 1' } ) ) . toBeNull ( ) ;
202
+ expect ( queryByRole ( 'tab' , { name : 'Tab 1 × ' } ) ) . toBeNull ( ) ;
203
203
204
204
// focus should move to next tab
205
- const secondTab = getByRole ( 'tab' , { name : 'Tab 2' } ) ;
205
+ const secondTab = getByRole ( 'tab' , { name : 'Tab 2 × ' } ) ;
206
206
expect ( secondTab ) . toHaveFocus ( ) ;
207
207
208
208
// delete second tab
209
209
await user . keyboard ( '{Backspace}' ) ;
210
- expect ( queryByRole ( 'tab' , { name : 'Tab 2' } ) ) . toBeNull ( ) ;
210
+ expect ( queryByRole ( 'tab' , { name : 'Tab 2 × ' } ) ) . toBeNull ( ) ;
211
211
212
212
// focus should move to next tab
213
- const fourthTab = getByRole ( 'tab' , { name : 'Tab 4' } ) ;
213
+ const fourthTab = getByRole ( 'tab' , { name : 'Tab 4 × ' } ) ;
214
214
expect ( fourthTab ) . toHaveFocus ( ) ;
215
215
216
216
// keyboard navigation should work
217
217
await user . keyboard ( '{ArrowRight}' ) ;
218
- expect ( fourthTab . parentElement ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
218
+ expect ( fourthTab ) . toHaveClass ( 'rc-tabs-tab-focus' ) ;
219
219
} ) ;
220
220
221
221
it ( 'should focus previous tab when deleting the last tab' , async ( ) => {
@@ -256,16 +256,16 @@ describe('Tabs.Accessibility', () => {
256
256
const { getByRole, queryByRole } = render ( < Demo /> ) ;
257
257
258
258
await user . tab ( ) ;
259
- const lastTab = getByRole ( 'tab' , { name : 'Tab 2' } ) ;
260
- expect ( lastTab ) . toHaveFocus ( ) ;
259
+ const secondTab = getByRole ( 'tab' , { name : 'Tab 2 × ' } ) ;
260
+ expect ( secondTab ) . toHaveFocus ( ) ;
261
261
262
262
await user . keyboard ( '{Backspace}' ) ;
263
- expect ( queryByRole ( 'tab' , { name : 'Tab 2' } ) ) . toBeNull ( ) ;
263
+ expect ( queryByRole ( 'tab' , { name : 'Tab 2 × ' } ) ) . toBeNull ( ) ;
264
264
265
265
await user . keyboard ( '{Delete}' ) ;
266
- expect ( queryByRole ( 'tab' , { name : 'Tab 3' } ) ) . toBeNull ( ) ;
266
+ expect ( queryByRole ( 'tab' , { name : 'Tab 3 × ' } ) ) . toBeNull ( ) ;
267
267
268
- const firstTab = getByRole ( 'tab' , { name : 'Tab 1' } ) ;
268
+ const firstTab = getByRole ( 'tab' , { name : 'Tab 1 × ' } ) ;
269
269
expect ( firstTab ) . toHaveFocus ( ) ;
270
270
} ) ;
271
271
} ) ;
0 commit comments