@@ -46,7 +46,7 @@ test.describe("Playwright Map Context Menu Tests", () => {
4646 const nameHandle = await page . evaluateHandle ( name => name . outerText , resultHandle ) ;
4747 let name = await nameHandle . jsonValue ( ) ;
4848 await nameHandle . dispose ( ) ;
49- expect ( name ) . toEqual ( "Back (B )" ) ;
49+ expect ( name ) . toEqual ( "Toggle Controls (T )" ) ;
5050 } ) ;
5151
5252 test ( "Context menu tab goes to next item" , async ( ) => {
@@ -57,7 +57,7 @@ test.describe("Playwright Map Context Menu Tests", () => {
5757 const nameHandle = await page . evaluateHandle ( name => name . outerText , resultHandle ) ;
5858 let name = await nameHandle . jsonValue ( ) ;
5959 await nameHandle . dispose ( ) ;
60- expect ( name ) . toEqual ( "Forward (F )" ) ;
60+ expect ( name ) . toEqual ( "Copy Coordinates (C )" ) ;
6161 } ) ;
6262
6363 test ( "Submenu opens on C with focus on first item" , async ( ) => {
@@ -100,21 +100,24 @@ test.describe("Playwright Map Context Menu Tests", () => {
100100 expect ( extent . topLeft . tilematrix [ 0 ] ) . toEqual ( expectedFirstTileMatrix [ 0 ] ) ;
101101 expect ( extent . topLeft . tcrs [ 0 ] ) . toEqual ( expectedFirstTCRS [ 0 ] ) ;
102102 } ) ;
103- test ( "Context menu, back item at intial location" , async ( ) => {
103+ test ( "Context menu, back and reload item at initial location disabled " , async ( ) => {
104104 await page . click ( "body > map" , { button : "right" } ) ;
105- await page . click ( "div > div.mapml-contextmenu > button:nth-child(1)" ) ;
106- await page . waitForTimeout ( 1000 ) ;
107- const extent = await page . $eval (
108- "body > map" ,
109- ( map ) => map . extent
105+ const backBtn = await page . $eval (
106+ "div > div.mapml-contextmenu > button:nth-child(1)" ,
107+ ( btn ) => btn . disabled
108+ ) ;
109+ const fwdBtn = await page . $eval (
110+ "div > div.mapml-contextmenu > button:nth-child(2)" ,
111+ ( btn ) => btn . disabled
112+ ) ;
113+ const reloadBtn = await page . $eval (
114+ "div > div.mapml-contextmenu > button:nth-child(3)" ,
115+ ( btn ) => btn . disabled
110116 ) ;
111117
112- expect ( extent . projection ) . toEqual ( "CBMTILE" ) ;
113- expect ( extent . zoom ) . toEqual ( { minZoom : 0 , maxZoom : 25 } ) ;
114- expect ( extent . topLeft . pcrs ) . toEqual ( expectedPCRS [ 0 ] ) ;
115- expect ( extent . topLeft . gcrs ) . toEqual ( expectedGCRS [ 0 ] ) ;
116- expect ( extent . topLeft . tilematrix [ 0 ] ) . toEqual ( expectedFirstTileMatrix [ 0 ] ) ;
117- expect ( extent . topLeft . tcrs [ 0 ] ) . toEqual ( expectedFirstTCRS [ 0 ] ) ;
118+ expect ( backBtn ) . toEqual ( true ) ;
119+ expect ( fwdBtn ) . toEqual ( false ) ;
120+ expect ( reloadBtn ) . toEqual ( true ) ;
118121 } ) ;
119122 test ( "Context menu, forward item" , async ( ) => {
120123 await page . click ( "body > map" , { button : "right" } ) ;
@@ -131,20 +134,24 @@ test.describe("Playwright Map Context Menu Tests", () => {
131134 expect ( extent . topLeft . tilematrix [ 0 ] ) . toEqual ( expectedFirstTileMatrix [ 1 ] ) ;
132135 expect ( extent . topLeft . tcrs [ 0 ] ) . toEqual ( expectedFirstTCRS [ 1 ] ) ;
133136 } ) ;
134- test ( "Context menu, forward item at most recent location" , async ( ) => {
137+ test ( "Context menu, forward item at most recent location disabled " , async ( ) => {
135138 await page . click ( "body > map" , { button : "right" } ) ;
136- await page . click ( "div > div.mapml-contextmenu > button:nth-child(2)" ) ;
137- await page . waitForTimeout ( 1000 ) ;
138- const extent = await page . $eval (
139- "body > map" ,
140- ( map ) => map . extent
139+ const backBtn = await page . $eval (
140+ "div > div.mapml-contextmenu > button:nth-child(1)" ,
141+ ( btn ) => btn . disabled
142+ ) ;
143+ const fwdBtn = await page . $eval (
144+ "div > div.mapml-contextmenu > button:nth-child(2)" ,
145+ ( btn ) => btn . disabled
146+ ) ;
147+ const reloadBtn = await page . $eval (
148+ "div > div.mapml-contextmenu > button:nth-child(3)" ,
149+ ( btn ) => btn . disabled
141150 ) ;
142151
143- expect ( extent . zoom ) . toEqual ( { minZoom : 0 , maxZoom : 25 } ) ;
144- expect ( extent . topLeft . pcrs ) . toEqual ( expectedPCRS [ 1 ] ) ;
145- expect ( extent . topLeft . gcrs ) . toEqual ( expectedGCRS [ 1 ] ) ;
146- expect ( extent . topLeft . tilematrix [ 0 ] ) . toEqual ( expectedFirstTileMatrix [ 1 ] ) ;
147- expect ( extent . topLeft . tcrs [ 0 ] ) . toEqual ( expectedFirstTCRS [ 1 ] ) ;
152+ expect ( backBtn ) . toEqual ( false ) ;
153+ expect ( fwdBtn ) . toEqual ( true ) ;
154+ expect ( reloadBtn ) . toEqual ( false ) ;
148155 } ) ;
149156
150157 test . describe ( "Context Menu, Toggle Controls " , ( ) => {
@@ -218,7 +225,7 @@ test.describe("Playwright Map Context Menu Tests", () => {
218225 await page . click ( "body > map" ) ;
219226 await page . keyboard . press ( "Shift+F10" ) ;
220227
221- for ( let i = 0 ; i < 4 ; i ++ )
228+ for ( let i = 0 ; i < 3 ; i ++ )
222229 await page . keyboard . press ( "Tab" ) ;
223230
224231 await page . keyboard . press ( "Enter" ) ;
@@ -338,4 +345,37 @@ test.describe("Playwright Map Context Menu Tests", () => {
338345 await page . hover ( "div > div.mapml-contextmenu > button:nth-child(5)" ) ;
339346 expect ( await submenu . isHidden ( ) ) . toBeTruthy ( ) ;
340347 } ) ;
348+
349+ test ( "Context menu, All buttons enabled when fwd and back history present" , async ( ) => {
350+ await page . click ( "body > map" ) ;
351+ await page . $eval (
352+ "body > map" ,
353+ ( map ) => map . zoomTo ( 81 , - 63 , 3 )
354+ ) ;
355+ await page . waitForTimeout ( 1000 ) ;
356+ await page . $eval (
357+ "body > map" ,
358+ ( map ) => map . zoomTo ( 81 , - 63 , 5 )
359+ ) ;
360+ await page . waitForTimeout ( 1000 ) ;
361+ await page . click ( "body > map" , { button : "right" } ) ;
362+ await page . click ( "div > div.mapml-contextmenu > button:nth-child(1)" ) ;
363+ await page . click ( "body > map" , { button : "right" } ) ;
364+ const backBtn = await page . $eval (
365+ "div > div.mapml-contextmenu > button:nth-child(1)" ,
366+ ( btn ) => btn . disabled
367+ ) ;
368+ const fwdBtn = await page . $eval (
369+ "div > div.mapml-contextmenu > button:nth-child(2)" ,
370+ ( btn ) => btn . disabled
371+ ) ;
372+ const reloadBtn = await page . $eval (
373+ "div > div.mapml-contextmenu > button:nth-child(3)" ,
374+ ( btn ) => btn . disabled
375+ ) ;
376+
377+ expect ( backBtn ) . toEqual ( false ) ;
378+ expect ( fwdBtn ) . toEqual ( false ) ;
379+ expect ( reloadBtn ) . toEqual ( false ) ;
380+ } ) ;
341381} ) ;
0 commit comments