@@ -71,6 +71,85 @@ test.describe('Using arrow keys to navigate context menu', () => {
7171 expect ( hide ) . toEqual ( true ) ;
7272 } ) ;
7373
74+ test ( 'Testing Extent layer contextmenu' , async ( ) => {
75+ await page . pause ( )
76+ await page . waitForTimeout ( 500 ) ;
77+ await page . click ( 'body > mapml-viewer' ) ;
78+ await page . waitForTimeout ( 500 ) ;
79+ await page . keyboard . press ( 'Tab' ) ;
80+ await page . keyboard . press ( 'Tab' ) ;
81+ await page . keyboard . press ( 'Tab' ) ;
82+ await page . keyboard . press ( 'Tab' ) ;
83+ await page . keyboard . press ( 'Tab' ) ;
84+ // opening layer control
85+ await page . keyboard . press ( 'Enter' ) ;
86+ await page . waitForTimeout ( 500 ) ;
87+ await page . keyboard . press ( 'Tab' ) ;
88+ await page . keyboard . press ( 'Tab' ) ;
89+ await page . keyboard . press ( 'Tab' ) ;
90+ await page . keyboard . press ( 'Tab' ) ;
91+ await page . keyboard . press ( 'Tab' ) ;
92+ // expanding layer to reveal extents
93+ await page . keyboard . press ( 'Enter' ) ;
94+ // tabbing to extent layer
95+ await page . keyboard . press ( 'Tab' ) ;
96+ await page . keyboard . press ( 'Tab' ) ;
97+
98+ await page . keyboard . press ( 'Shift+F10' ) ;
99+
100+ let activeElement = await page . evaluate (
101+ ( ) => document . activeElement . shadowRoot . activeElement . innerHTML
102+ ) ;
103+ expect ( activeElement ) . toEqual ( 'Zoom To Sub-layer (<kbd>Z</kbd>)' ) ;
104+ await page . keyboard . press ( 'Tab' ) ;
105+ activeElement = await page . evaluate (
106+ ( ) => document . activeElement . shadowRoot . activeElement . innerHTML
107+ ) ;
108+ expect ( activeElement ) . toEqual ( 'Copy Sub-layer (<kbd>L</kbd>)' ) ;
109+ await page . keyboard . press ( 'ArrowUp' ) ;
110+ activeElement = await page . evaluate (
111+ ( ) => document . activeElement . shadowRoot . activeElement . innerHTML
112+ ) ;
113+ expect ( activeElement ) . toEqual ( 'Zoom To Sub-layer (<kbd>Z</kbd>)' ) ;
114+
115+ await page . keyboard . press ( 'Escape' ) ;
116+ let hide = await page . $eval (
117+ 'body > mapml-viewer' ,
118+ ( viewer ) => viewer . _map . contextMenu . _extentLayerMenu . hidden
119+ ) ;
120+ expect ( hide ) . toEqual ( true ) ;
121+
122+ await page . keyboard . press ( 'Shift+F10' ) ;
123+
124+ await page . click ( 'body > mapml-viewer' ) ;
125+ hide = await page . $eval (
126+ 'body > mapml-viewer' ,
127+ ( viewer ) => viewer . _map . contextMenu . _extentLayerMenu . hidden
128+ ) ;
129+ expect ( hide ) . toEqual ( true ) ;
130+
131+ // Ensuring the extent is still being revealed after layercontrol was closed and reopened
132+ await page . keyboard . press ( 'Tab' ) ;
133+ await page . keyboard . press ( 'Tab' ) ;
134+ await page . keyboard . press ( 'Tab' ) ;
135+ await page . keyboard . press ( 'Tab' ) ;
136+ await page . keyboard . press ( 'Tab' ) ;
137+ // opening layer control
138+ await page . keyboard . press ( 'Enter' ) ;
139+ await page . keyboard . press ( 'Tab' ) ;
140+ await page . keyboard . press ( 'Tab' ) ;
141+ await page . keyboard . press ( 'Tab' ) ;
142+ await page . keyboard . press ( 'Tab' ) ;
143+ await page . keyboard . press ( 'Tab' ) ;
144+ await page . keyboard . press ( 'Tab' ) ;
145+ await page . keyboard . press ( 'Tab' ) ;
146+ await page . keyboard . press ( 'Shift+F10' ) ;
147+ activeElement = await page . evaluate (
148+ ( ) => document . activeElement . shadowRoot . activeElement . innerHTML
149+ ) ;
150+ expect ( activeElement ) . toEqual ( 'Zoom To Sub-layer (<kbd>Z</kbd>)' ) ;
151+ } ) ;
152+
74153 test ( '(partial) Up and Down Arrow keys to navigate the contextmenu' , async ( ) => {
75154 await page . click ( 'body > mapml-viewer' , { button : 'right' } ) ;
76155 await page . keyboard . press ( 'ArrowDown' ) ;
0 commit comments