1+ import { test , expect } from '@playwright/test' ;
2+
3+ const getModal = ( page ) => page . locator ( '[data-name="modal-main"]' ) ;
4+
5+ test ( 'F3 on a .jpg file opens the image viewer' , async ( { page} ) => {
6+ await page . goto ( '/' ) ;
7+ await page . getByText ( 'photo.jpg' ) . first ( ) . click ( ) ;
8+ await page . keyboard . press ( 'F3' ) ;
9+
10+ const modal = getModal ( page ) ;
11+ await expect ( modal ) . toBeVisible ( ) ;
12+ } ) ;
13+
14+ test ( 'F3 on a .jpg file does not open the text viewer' , async ( { page} ) => {
15+ await page . goto ( '/' ) ;
16+ await page . getByText ( 'photo.jpg' ) . first ( ) . click ( ) ;
17+ await page . keyboard . press ( 'F3' ) ;
18+
19+ const modal = getModal ( page ) ;
20+ const modalText = await modal . textContent ( ) ;
21+ await expect ( modalText ) . not . toContain ( 'JFIF' ) ;
22+ } ) ;
23+
24+ test ( 'double-click on a .jpg file opens the image viewer' , async ( { page} ) => {
25+ await page . goto ( '/' ) ;
26+ await page . getByText ( 'photo.jpg' ) . first ( ) . dblclick ( ) ;
27+
28+ const modal = getModal ( page ) ;
29+ await expect ( modal ) . toBeVisible ( ) ;
30+ } ) ;
31+
32+ test ( 'double-click on a .jpg file does not open the text viewer' , async ( { page} ) => {
33+ await page . goto ( '/' ) ;
34+ await page . getByText ( 'photo.jpg' ) . first ( ) . dblclick ( ) ;
35+
36+ const modal = getModal ( page ) ;
37+ const modalText = await modal . textContent ( ) ;
38+ await expect ( modalText ) . not . toContain ( 'JFIF' ) ;
39+ } ) ;
40+
41+ test ( 'F3 on a .txt file opens the text viewer' , async ( { page} ) => {
42+ await page . goto ( '/' ) ;
43+ await page . getByText ( 'copy.txt' ) . first ( ) . click ( ) ;
44+ await page . keyboard . press ( 'F3' ) ;
45+
46+ const modal = getModal ( page ) ;
47+ await expect ( modal ) . toBeVisible ( ) ;
48+ } ) ;
49+
50+ test ( 'F3 on a .txt file shows file content' , async ( { page} ) => {
51+ await page . goto ( '/' ) ;
52+ await page . getByText ( 'copy.txt' ) . first ( ) . click ( ) ;
53+ await page . keyboard . press ( 'F3' ) ;
54+
55+ const modal = getModal ( page ) ;
56+ const modalText = await modal . textContent ( ) ;
57+ await expect ( modalText . length ) . toBeGreaterThan ( 0 ) ;
58+ } ) ;
0 commit comments