@@ -8,124 +8,161 @@ test.describe('Announce movement test', () => {
8
8
page =
9
9
context . pages ( ) . find ( ( page ) => page . url ( ) === 'about:blank' ) ||
10
10
( await context . newPage ( ) ) ;
11
- await page . goto ( 'mapml-viewer.html' ) ;
12
11
} ) ;
13
12
14
13
test . afterAll ( async function ( ) {
15
14
await context . close ( ) ;
16
15
} ) ;
17
16
18
- test ( 'Output values are correct during regular movement' , async ( ) => {
19
- await page . keyboard . press ( 'Tab' ) ;
20
- await page . waitForTimeout ( 500 ) ;
21
- await page . keyboard . press ( 'ArrowUp' ) ;
22
- await page . waitForTimeout ( 1000 ) ;
23
-
24
- const movedUp = await page . $eval (
25
- 'body > mapml-viewer div > output' ,
26
- ( output ) => output . innerHTML
27
- ) ;
28
- expect ( movedUp ) . toEqual ( 'zoom level 0' ) ;
29
-
30
- for ( let i = 0 ; i < 2 ; i ++ ) {
31
- await page . keyboard . press ( 'ArrowLeft' ) ;
32
- await page . waitForTimeout ( 1000 ) ;
33
- }
34
-
35
- const movedLeft = await page . $eval (
36
- 'body > mapml-viewer div > output' ,
37
- ( output ) => output . innerHTML
38
- ) ;
39
- expect ( movedLeft ) . toEqual ( 'zoom level 0' ) ;
40
-
41
- await page . keyboard . press ( 'Equal' ) ;
42
- await page . waitForTimeout ( 1000 ) ;
43
-
44
- const zoomedIn = await page . $eval (
45
- 'body > mapml-viewer div > output' ,
46
- ( output ) => output . innerHTML
17
+ let mapFiles = [ 'web-map.html' , 'mapml-viewer.html' ] ;
18
+
19
+ for ( let file of mapFiles ) {
20
+ test (
21
+ file + ': Output values are correct during regular movement' ,
22
+ async ( ) => {
23
+ await page . goto ( file ) ;
24
+ await page . keyboard . press ( 'Tab' ) ;
25
+ await page . waitForTimeout ( 500 ) ;
26
+ await page . keyboard . press ( 'ArrowUp' ) ;
27
+ await page . waitForTimeout ( 1000 ) ;
28
+ const map = await page . getByTestId ( 'testviewer' ) ;
29
+ const movedUp = await map . evaluate ( ( map ) => {
30
+ let output = map . shadowRoot
31
+ ? map . shadowRoot . querySelector ( 'output' )
32
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
33
+ return output . innerHTML ;
34
+ } ) ;
35
+ expect ( movedUp ) . toEqual ( 'zoom level 0' ) ;
36
+
37
+ for ( let i = 0 ; i < 2 ; i ++ ) {
38
+ await page . keyboard . press ( 'ArrowLeft' ) ;
39
+ await page . waitForTimeout ( 1000 ) ;
40
+ }
41
+
42
+ const movedLeft = await map . evaluate ( ( map ) => {
43
+ let output = map . shadowRoot
44
+ ? map . shadowRoot . querySelector ( 'output' )
45
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
46
+ return output . innerHTML ;
47
+ } ) ;
48
+ expect ( movedLeft ) . toEqual ( 'zoom level 0' ) ;
49
+
50
+ await page . keyboard . press ( 'Equal' ) ;
51
+ await page . waitForTimeout ( 1000 ) ;
52
+
53
+ const zoomedIn = await map . evaluate ( ( map ) => {
54
+ let output = map . shadowRoot
55
+ ? map . shadowRoot . querySelector ( 'output' )
56
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
57
+ return output . innerHTML ;
58
+ } ) ;
59
+ expect ( zoomedIn ) . toEqual ( 'zoom level 1' ) ;
60
+
61
+ await page . keyboard . press ( 'Minus' ) ;
62
+ await page . waitForTimeout ( 1000 ) ;
63
+
64
+ const zoomedOut = await map . evaluate ( ( map ) => {
65
+ let output = map . shadowRoot
66
+ ? map . shadowRoot . querySelector ( 'output' )
67
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
68
+ return output . innerHTML ;
69
+ } ) ;
70
+ expect ( zoomedOut ) . toEqual (
71
+ 'At minimum zoom level, zoom out disabled zoom level 0'
72
+ ) ;
73
+ // testing + button
74
+ await page . keyboard . press ( 'Tab' ) ;
75
+ await page . keyboard . press ( 'Enter' ) ;
76
+ await page . waitForTimeout ( 1000 ) ;
77
+
78
+ const zoomedBackIn = await map . evaluate ( ( map ) => {
79
+ let output = map . shadowRoot
80
+ ? map . shadowRoot . querySelector ( 'output' )
81
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
82
+ return output . innerHTML ;
83
+ } ) ;
84
+ expect ( zoomedBackIn ) . toEqual ( 'zoom level 1' ) ;
85
+ }
47
86
) ;
48
- expect ( zoomedIn ) . toEqual ( 'zoom level 1' ) ;
49
-
50
- await page . keyboard . press ( 'Minus' ) ;
51
- await page . waitForTimeout ( 1000 ) ;
52
87
53
- const zoomedOut = await page . $eval (
54
- 'body > mapml-viewer div > output' ,
55
- ( output ) => output . innerHTML
56
- ) ;
57
- expect ( zoomedOut ) . toEqual (
58
- 'At minimum zoom level, zoom out disabled zoom level 0'
88
+ test (
89
+ file + ': Output values are correct at bounds and bounces back' ,
90
+ async ( ) => {
91
+ //Zoom out to min layer bound
92
+ await page . keyboard . press ( 'Shift+Tab' ) ;
93
+ await page . keyboard . press ( 'Minus' ) ;
94
+ await page . waitForTimeout ( 1000 ) ;
95
+ const map = await page . getByTestId ( 'testviewer' ) ;
96
+
97
+ const minZoom = await map . evaluate ( ( map ) => {
98
+ let output = map . shadowRoot
99
+ ? map . shadowRoot . querySelector ( 'output' )
100
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
101
+ return output . innerHTML ;
102
+ } ) ;
103
+ expect ( minZoom ) . toEqual (
104
+ 'At minimum zoom level, zoom out disabled zoom level 0'
105
+ ) ;
106
+ await page . pause ( ) ;
107
+
108
+ //Pan out of west bounds, expect the map to bounce back
109
+ for ( let i = 0 ; i < 4 ; i ++ ) {
110
+ await page . waitForTimeout ( 1000 ) ;
111
+ await page . keyboard . press ( 'ArrowLeft' ) ;
112
+ }
113
+
114
+ const westBound = await page . waitForFunction (
115
+ ( ) => {
116
+ const map = document . querySelector ( 'mapml-viewer' )
117
+ ? document . querySelector ( 'mapml-viewer' )
118
+ : document . querySelector ( 'map' ) ;
119
+ let output = map . shadowRoot
120
+ ? map . shadowRoot . querySelector ( 'output' )
121
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
122
+ return (
123
+ output . innerHTML === 'Reached west bound, panning west disabled'
124
+ ) ;
125
+ } ,
126
+ { } ,
127
+ { timeout : 1000 }
128
+ ) ;
129
+ expect ( await westBound . jsonValue ( ) ) . toEqual ( true ) ;
130
+
131
+ await page . waitForTimeout ( 1000 ) ;
132
+ const bouncedBack = await map . evaluate ( ( map ) => {
133
+ let output = map . shadowRoot
134
+ ? map . shadowRoot . querySelector ( 'output' )
135
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
136
+ return output . innerHTML ;
137
+ } ) ;
138
+ expect ( bouncedBack ) . toEqual ( 'zoom level 0' ) ;
139
+
140
+ //Zoom in out of bounds, expect the map to zoom back
141
+ await page . keyboard . press ( 'Equal' ) ;
142
+
143
+ const zoomedOutOfBounds = await page . waitForFunction (
144
+ ( ) => {
145
+ const map = document . querySelector ( 'mapml-viewer' )
146
+ ? document . querySelector ( 'mapml-viewer' )
147
+ : document . querySelector ( 'map' ) ;
148
+ let output = map . shadowRoot
149
+ ? map . shadowRoot . querySelector ( 'output' )
150
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
151
+ return output . innerHTML === 'Zoomed out of bounds, returning to' ;
152
+ } ,
153
+ { timeout : 1000 }
154
+ ) ;
155
+ expect ( await zoomedOutOfBounds . jsonValue ( ) ) . toEqual ( true ) ;
156
+
157
+ await page . waitForTimeout ( 1000 ) ;
158
+ const zoomedBack = await map . evaluate ( ( map ) => {
159
+ let output = map . shadowRoot
160
+ ? map . shadowRoot . querySelector ( 'output' )
161
+ : map . querySelector ( 'div' ) . shadowRoot . querySelector ( 'output' ) ;
162
+ return output . innerHTML ;
163
+ } ) ;
164
+ expect ( zoomedBack ) . toEqual ( 'zoom level 0' ) ;
165
+ }
59
166
) ;
60
- // testing + button
61
- await page . keyboard . press ( 'Tab' ) ;
62
- await page . keyboard . press ( 'Enter' ) ;
63
- await page . waitForTimeout ( 1000 ) ;
64
-
65
- const zoomedBackIn = await page . $eval (
66
- 'body > mapml-viewer div > output' ,
67
- ( output ) => output . innerHTML
68
- ) ;
69
- expect ( zoomedBackIn ) . toEqual ( 'zoom level 1' ) ;
70
- } ) ;
71
-
72
- test ( 'Output values are correct at bounds and bounces back' , async ( ) => {
73
- //Zoom out to min layer bound
74
- await page . keyboard . press ( 'Shift+Tab' ) ;
75
- await page . keyboard . press ( 'Minus' ) ;
76
- await page . waitForTimeout ( 1000 ) ;
77
-
78
- const minZoom = await page . $eval (
79
- 'body > mapml-viewer div > output' ,
80
- ( output ) => output . innerHTML
81
- ) ;
82
- expect ( minZoom ) . toEqual (
83
- 'At minimum zoom level, zoom out disabled zoom level 0'
84
- ) ;
85
-
86
- //Pan out of west bounds, expect the map to bounce back
87
- for ( let i = 0 ; i < 4 ; i ++ ) {
88
- await page . waitForTimeout ( 1000 ) ;
89
- await page . keyboard . press ( 'ArrowLeft' ) ;
90
- }
91
-
92
- const westBound = await page . waitForFunction (
93
- ( ) =>
94
- document
95
- . querySelector ( 'body > mapml-viewer' )
96
- . shadowRoot . querySelector ( 'div > output' ) . innerHTML ===
97
- 'Reached west bound, panning west disabled' ,
98
- { } ,
99
- { timeout : 1000 }
100
- ) ;
101
- expect ( await westBound . jsonValue ( ) ) . toEqual ( true ) ;
102
-
103
- await page . waitForTimeout ( 1000 ) ;
104
- const bouncedBack = await page . $eval (
105
- 'body > mapml-viewer div > output' ,
106
- ( output ) => output . innerHTML
107
- ) ;
108
- expect ( bouncedBack ) . toEqual ( 'zoom level 0' ) ;
109
-
110
- //Zoom in out of bounds, expect the map to zoom back
111
- await page . keyboard . press ( 'Equal' ) ;
112
-
113
- const zoomedOutOfBounds = await page . waitForFunction (
114
- ( ) =>
115
- document
116
- . querySelector ( 'body > mapml-viewer' )
117
- . shadowRoot . querySelector ( 'div > output' ) . innerHTML ===
118
- 'Zoomed out of bounds, returning to' ,
119
- { } ,
120
- { timeout : 1000 }
121
- ) ;
122
- expect ( await zoomedOutOfBounds . jsonValue ( ) ) . toEqual ( true ) ;
123
-
124
- await page . waitForTimeout ( 1000 ) ;
125
- const zoomedBack = await page . $eval (
126
- 'body > mapml-viewer div > output' ,
127
- ( output ) => output . innerHTML
128
- ) ;
129
- expect ( zoomedBack ) . toEqual ( 'zoom level 0' ) ;
130
- } ) ;
167
+ }
131
168
} ) ;
0 commit comments