@@ -48,7 +48,9 @@ test.describe('Search Pages', () => {
4848 // Wait for navigation to /search (debounce is 250ms)
4949 await expect ( page ) . toHaveURL ( / \/ s e a r c h / , { timeout : 10000 } )
5050
51- await expect ( page . locator ( '[data-result-index="0"]' ) . first ( ) ) . toBeVisible ( { timeout : 15000 } )
51+ await expect ( page . locator ( '[data-result-index="0"]' ) . first ( ) ) . toBeVisible ( {
52+ timeout : 15000 ,
53+ } )
5254
5355 // Home search input should be gone (we're on /search now)
5456 await expect ( homeSearchInput ) . not . toBeVisible ( )
@@ -70,7 +72,9 @@ test.describe('Search Pages', () => {
7072
7173 await expect ( page ) . toHaveURL ( / \/ s e a r c h / , { timeout : 10000 } )
7274
73- await expect ( page . locator ( '[data-result-index="0"]' ) . first ( ) ) . toBeVisible ( { timeout : 15000 } )
75+ await expect ( page . locator ( '[data-result-index="0"]' ) . first ( ) ) . toBeVisible ( {
76+ timeout : 15000 ,
77+ } )
7478
7579 const headerSearchInput = page . locator ( '#header-search' )
7680 await expect ( headerSearchInput ) . toBeFocused ( )
@@ -86,6 +90,21 @@ test.describe('Keyboard Shortcuts', () => {
8690 await expect ( page ) . toHaveURL ( / \/ c o m p a r e / )
8791 } )
8892
93+ test ( '"c" does not navigate when any modifier key is pressed' , async ( { page, goto } ) => {
94+ await goto ( '/settings' , { waitUntil : 'hydration' } )
95+
96+ await page . keyboard . press ( 'Shift+c' )
97+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
98+ await page . keyboard . press ( 'Control+c' )
99+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
100+ await page . keyboard . press ( 'Alt+c' )
101+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
102+ await page . keyboard . press ( 'Meta+c' )
103+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
104+ await page . keyboard . press ( 'ControlOrMeta+Shift+c' )
105+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
106+ } )
107+
89108 test ( '"c" on package page navigates to /compare with package pre-filled' , async ( {
90109 page,
91110 goto,
@@ -113,6 +132,24 @@ test.describe('Keyboard Shortcuts', () => {
113132 await expect ( searchInput ) . toHaveValue ( 'c' )
114133 } )
115134
135+ test ( '"c" on package page does not navigate when any modifier key is pressed' , async ( {
136+ page,
137+ goto,
138+ } ) => {
139+ await goto ( '/vue' , { waitUntil : 'hydration' } )
140+
141+ await page . keyboard . press ( 'Shift+c' )
142+ await expect ( page ) . toHaveURL ( / \/ v u e / )
143+ await page . keyboard . press ( 'Control+c' )
144+ await expect ( page ) . toHaveURL ( / \/ v u e / )
145+ await page . keyboard . press ( 'Alt+c' )
146+ await expect ( page ) . toHaveURL ( / \/ v u e / )
147+ await page . keyboard . press ( 'Meta+c' )
148+ await expect ( page ) . toHaveURL ( / \/ v u e / )
149+ await page . keyboard . press ( 'ControlOrMeta+Shift+c' )
150+ await expect ( page ) . toHaveURL ( / \/ v u e / )
151+ } )
152+
116153 test ( '"," navigates to /settings' , async ( { page, goto } ) => {
117154 await goto ( '/compare' , { waitUntil : 'hydration' } )
118155
@@ -121,6 +158,25 @@ test.describe('Keyboard Shortcuts', () => {
121158 await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
122159 } )
123160
161+ test ( '"," does not navigate when any modifier key is pressed' , async ( { page, goto } ) => {
162+ await goto ( '/settings' , { waitUntil : 'hydration' } )
163+
164+ const searchInput = page . locator ( '#header-search' )
165+ await searchInput . focus ( )
166+ await expect ( searchInput ) . toBeFocused ( )
167+
168+ await page . keyboard . press ( 'Shift+,' )
169+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
170+ await page . keyboard . press ( 'Control+,' )
171+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
172+ await page . keyboard . press ( 'Alt+,' )
173+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
174+ await page . keyboard . press ( 'Meta+,' )
175+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
176+ await page . keyboard . press ( 'ControlOrMeta+Shift+,' )
177+ await expect ( page ) . toHaveURL ( / \/ s e t t i n g s / )
178+ } )
179+
124180 test ( '"," does not navigate when search input is focused' , async ( { page, goto } ) => {
125181 await goto ( '/compare' , { waitUntil : 'hydration' } )
126182
0 commit comments