@@ -11,8 +11,8 @@ const imgData =
1111var url = 'http://supermapiserver:8090/iserver/services/map-world/rest/maps/World' ;
1212describe ( 'leaflet_GraphicLayer' , ( ) => {
1313 var originalTimeout ;
14+ var testDiv , map ;
1415 function createMap ( ) {
15- var testDiv , map ;
1616 testDiv = window . document . createElement ( 'div' ) ;
1717 testDiv . setAttribute ( 'id' , 'map' ) ;
1818 testDiv . style . styleFloat = 'left' ;
@@ -40,6 +40,14 @@ describe('leaflet_GraphicLayer', () => {
4040 jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
4141 } ) ;
4242 afterEach ( ( ) => {
43+ if ( map ) {
44+ map . remove ( ) ;
45+ map = null ;
46+ }
47+ if ( testDiv ) {
48+ window . document . body . removeChild ( testDiv ) ;
49+ testDiv = null ;
50+ }
4351 jasmine . DEFAULT_TIMEOUT_INTERVAL = originalTimeout ;
4452 } ) ;
4553 it ( 'initialize' , ( done ) => {
@@ -80,8 +88,6 @@ describe('leaflet_GraphicLayer', () => {
8088 layer . on ( 'remove' , ( ) => {
8189 var requestAnimId = map . getRenderer ( layer ) . _redrawRequest ;
8290 requestAnimId != null && L . Util . cancelAnimFrame ( requestAnimId ) ;
83- map . remove ( ) ;
84- window . document . body . removeChild ( testDiv ) ;
8591 done ( ) ;
8692 } ) ;
8793 layer . remove ( ) ;
@@ -109,8 +115,6 @@ describe('leaflet_GraphicLayer', () => {
109115 layer . on ( 'remove' , ( ) => {
110116 var requestAnimId = map . getRenderer ( layer ) . _redrawRequest ;
111117 requestAnimId != null && L . Util . cancelAnimFrame ( requestAnimId ) ;
112- map . remove ( ) ;
113- window . document . body . removeChild ( testDiv ) ;
114118 done ( ) ;
115119 } ) ;
116120 layer . remove ( ) ;
@@ -163,8 +167,6 @@ describe('leaflet_GraphicLayer', () => {
163167 layer . on ( 'remove' , ( ) => {
164168 var requestAnimId = map . getRenderer ( layer ) . _redrawRequest ;
165169 requestAnimId != null && L . Util . cancelAnimFrame ( requestAnimId ) ;
166- map . remove ( ) ;
167- window . document . body . removeChild ( testDiv ) ;
168170 done ( ) ;
169171 } ) ;
170172 layer . remove ( ) ;
@@ -205,9 +207,10 @@ describe('leaflet_GraphicLayer', () => {
205207
206208 const graphic1 = layer . getGraphicById ( 1 ) ;
207209 expect ( graphic1 . getId ( ) ) . toEqual ( 1 ) ;
208- map . remove ( ) ;
209- window . document . body . removeChild ( testDiv ) ;
210- done ( ) ;
210+ layer . on ( 'remove' , ( ) => {
211+ done ( ) ;
212+ } )
213+ layer . remove ( )
211214 } , 0 ) ;
212215 } ) ;
213216
@@ -218,9 +221,10 @@ describe('leaflet_GraphicLayer', () => {
218221 const graphic = layer . getGraphicsByAttribute ( 'name' , 'graphic_1' ) ;
219222 expect ( graphic ) . not . toBeNull ( ) ;
220223 expect ( graphic [ 0 ] . getAttributes ( ) . name ) . toBe ( 'graphic_1' ) ;
221- map . remove ( ) ;
222- window . document . body . removeChild ( testDiv ) ;
223- done ( ) ;
224+ layer . on ( 'remove' , ( ) => {
225+ done ( ) ;
226+ } )
227+ layer . remove ( )
224228 } , 0 ) ;
225229 } ) ;
226230
@@ -242,9 +246,10 @@ describe('leaflet_GraphicLayer', () => {
242246 //默认
243247 layer . removeGraphics ( ) ;
244248 expect ( layer . graphics . length ) . toEqual ( 0 ) ;
245- map . remove ( ) ;
246- window . document . body . removeChild ( testDiv ) ;
247- done ( ) ;
249+ layer . on ( 'remove' , ( ) => {
250+ done ( ) ;
251+ } )
252+ layer . remove ( )
248253 } , 0 ) ;
249254 } ) ;
250255
@@ -257,9 +262,10 @@ describe('leaflet_GraphicLayer', () => {
257262 expect ( state ) . not . toBeNull ( ) ;
258263 expect ( layer . getRenderer ( ) ) . not . toBeNull ( ) ;
259264 expect ( state . color ) . toBe ( '#3388ff' ) ;
260- map . remove ( ) ;
261- window . document . body . removeChild ( testDiv ) ;
262- done ( ) ;
265+ layer . on ( 'remove' , ( ) => {
266+ done ( ) ;
267+ } )
268+ layer . remove ( )
263269 } , 0 ) ;
264270 } ) ;
265271
@@ -273,9 +279,10 @@ describe('leaflet_GraphicLayer', () => {
273279 expect ( layer . options . color ) . toEqual ( [ 0 , 0 , 0 , 255 ] ) ;
274280 layer . setStyle ( { color : 'blue' } ) ;
275281 expect ( layer . options . color ) . toEqual ( 'blue' ) ;
276- map . remove ( ) ;
277- window . document . body . removeChild ( testDiv ) ;
278- done ( ) ;
282+ layer . on ( 'remove' , ( ) => {
283+ done ( ) ;
284+ } )
285+ layer . remove ( )
279286 } , 0 ) ;
280287 } ) ;
281288
@@ -286,9 +293,10 @@ describe('leaflet_GraphicLayer', () => {
286293 setTimeout ( ( ) => {
287294 layer . addGraphics ( graphics ) ;
288295 expect ( layer . graphics . length ) . toEqual ( 10 ) ;
289- map . remove ( ) ;
290- window . document . body . removeChild ( testDiv ) ;
291- done ( ) ;
296+ layer . on ( 'remove' , ( ) => {
297+ done ( ) ;
298+ } )
299+ layer . remove ( )
292300 } , 0 ) ;
293301 } ) ;
294302
@@ -309,25 +317,30 @@ describe('leaflet_GraphicLayer', () => {
309317 }
310318 layer . setGraphics ( graphics ) ;
311319 expect ( layer . graphics . length ) . toEqual ( 5 ) ;
312- map . remove ( ) ;
313- window . document . body . removeChild ( testDiv ) ;
314- done ( ) ;
320+ layer . on ( 'remove' , ( ) => {
321+ done ( ) ;
322+ } )
323+ layer . remove ( )
315324 } , 0 ) ;
316325 } ) ;
317326
318327 //特定条件下,期望的函数被调用、
319- it ( '_moveEnd_expect_ICL_1042' , ( ) => {
328+ it ( '_moveEnd_expect_ICL_1042' , ( done ) => {
320329 let { map, testDiv } = createMap ( ) ;
321330
322331 spyOn ( Detector , 'supportWebGL2' ) . and . callFake ( ( ) => {
323332 return true ;
324333 } ) ;
325334 let layer = graphicLayer ( graphics , { render : 'webgl' } ) . addTo ( map ) ;
326- spyOn ( layer , '_update' ) ;
327- layer . _moveEnd ( ) ;
328- expect ( layer . _update ) . toHaveBeenCalled ( ) ;
329- map . remove ( ) ;
330- window . document . body . removeChild ( testDiv ) ;
335+ setTimeout ( ( ) => {
336+ spyOn ( layer , '_update' ) ;
337+ layer . _moveEnd ( ) ;
338+ expect ( layer . _update ) . toHaveBeenCalled ( ) ;
339+ layer . on ( 'remove' , ( ) => {
340+ done ( ) ;
341+ } )
342+ layer . remove ( )
343+ } , 0 )
331344 } ) ;
332345 it ( 'CRS_4326_ICL_1134' , ( done ) => {
333346 let { map, testDiv } = createMap ( ) ;
@@ -341,9 +354,10 @@ describe('leaflet_GraphicLayer', () => {
341354 expect ( webglRenderLayer ) . not . toBeNull ( ) ;
342355 expect ( webglRenderLayer . props . coordinateSystem ) . toEqual ( window . DeckGL . COORDINATE_SYSTEM . LNGLAT_OFFSETS ) ;
343356 expect ( webglRenderLayer . props . isGeographicCoordinateSystem ) . toBeTrue ( ) ;
344- map . remove ( ) ;
345- window . document . body . removeChild ( testDiv ) ;
346- done ( ) ;
357+ layer . on ( 'remove' , ( ) => {
358+ done ( ) ;
359+ } )
360+ layer . remove ( )
347361 } , 0 ) ;
348362 } ) ;
349363 it ( 'CRS_4326_ICL_1349' , ( done ) => {
@@ -359,9 +373,10 @@ describe('leaflet_GraphicLayer', () => {
359373 expect ( webglRenderLayer ) . not . toBeNull ( ) ;
360374 expect ( webglRenderLayer . props . coordinateSystem ) . toEqual ( window . DeckGL . COORDINATE_SYSTEM . LNGLAT ) ;
361375 expect ( webglRenderLayer . props . isGeographicCoordinateSystem ) . toBeFalse ( ) ;
362- map . remove ( ) ;
363- window . document . body . removeChild ( testDiv ) ;
364- done ( ) ;
376+ layer . on ( 'remove' , ( ) => {
377+ done ( ) ;
378+ } )
379+ layer . remove ( )
365380 } , 0 ) ;
366381 } ) ;
367382 it ( 'CRS_4326_ICL_1349' , ( done ) => {
@@ -377,9 +392,10 @@ describe('leaflet_GraphicLayer', () => {
377392 expect ( webglRenderLayer ) . not . toBeNull ( ) ;
378393 expect ( webglRenderLayer . props . coordinateSystem ) . toEqual ( window . DeckGL . COORDINATE_SYSTEM . LNGLAT_OFFSETS ) ;
379394 expect ( webglRenderLayer . props . isGeographicCoordinateSystem ) . toBeTrue ( ) ;
380- map . remove ( ) ;
381- window . document . body . removeChild ( testDiv ) ;
382- done ( ) ;
395+ layer . on ( 'remove' , ( ) => {
396+ done ( ) ;
397+ } )
398+ layer . remove ( )
383399 } , 0 ) ;
384400 } ) ;
385401 } ) ;
0 commit comments