1- import mapboxglMock from '../../tool/mock_mapboxgl_map' ;
21import mapboxgl from 'mapbox-gl' ;
2+ import mapboxglMock from '../../tool/mock_mapboxgl_map' ;
33import { FetchRequest } from '../../../src/common/util/FetchRequest' ;
44import cipher from 'node-forge/lib/cipher' ;
55import { MapExtend } from '../../../src/mapboxgl/core/MapExtend' ;
@@ -223,7 +223,7 @@ describe('MapExtend mapboxgl', () => {
223223 try {
224224 const source = {
225225 tiles : [
226- 'http://172.16.13.234 :8090/iserver/services/map-China107/rest/maps/A/tileFeature.mvt?returnAttributes=true&width=512&height=512&z={z}&x={x}&y={y}'
226+ 'http://fake :8090/iserver/services/map-China107/rest/maps/A/tileFeature.mvt?returnAttributes=true&width=512&height=512&z={z}&x={x}&y={y}'
227227 ] ,
228228 bounds : [ - 180 , - 90 , 180 , 90 ] ,
229229 type : 'vector'
@@ -240,16 +240,21 @@ describe('MapExtend mapboxgl', () => {
240240 expect ( error ) . toEqual ( new Error ( 'mapbox-gl cannot support plane coordinate system.' ) ) ;
241241 }
242242 } ) ;
243-
243+
244244 it ( 'overlayLayersManager' , ( done ) => {
245- const map1 = new mapboxgl . Map ( {
246- container : 'map' ,
245+ const originRemoveLayer = mapboxgl . Map . prototype . removeLayer ;
246+ spyOn ( mapboxgl , 'Map' ) . and . callFake ( mapboxglMock ) ;
247+ const testDiv2 = window . document . createElement ( 'div' ) ;
248+ testDiv2 . setAttribute ( 'id' , 'map2' ) ;
249+ window . document . body . appendChild ( testDiv2 ) ;
250+ const map2 = new mapboxgl . Map ( {
251+ container : 'map2' ,
247252 style : {
248253 version : 8 ,
249254 sources : {
250255 'raster-tiles' : {
251256 type : 'raster' ,
252- tiles : [ 'https://maptiles.supermapol.com/iserver/services/map_China/rest/maps/China_Dark ' ] ,
257+ tiles : [ 'base/resources/img/baiduTileTest.png ' ] ,
253258 tileSize : 256
254259 }
255260 } ,
@@ -266,22 +271,15 @@ describe('MapExtend mapboxgl', () => {
266271 center : [ 116.4 , 39.79 ] ,
267272 zoom : 3
268273 } ) ;
269- expect ( map1 . overlayLayersManager ) . toEqual ( { } ) ;
270- map1 . overlayLayersManager = { l7_layer_1 : { id : 'l7_layer_1' , type : 'custom' } , heatmap_1 : { id : 'heatmap_1' , removeFromMap : function ( ) { } } } ;
271- spyOn ( map1 . overlayLayersManager . heatmap_1 , 'removeFromMap' ) . and . callThrough ( ) ;
272- spyOn ( map1 . style , 'removeLayer' ) . and . callThrough ( ) ;
273- const removeFromMap = map1 . overlayLayersManager . heatmap_1 . removeFromMap ;
274- const testDiv2 = window . document . createElement ( 'div' ) ;
275- testDiv2 . setAttribute ( 'id' , 'map2' ) ;
276- window . document . body . appendChild ( testDiv2 ) ;
277- const map2 = new mapboxgl . Map ( {
278- container : 'map2' ,
274+ expect ( map2 . overlayLayersManager ) . toEqual ( { } ) ;
275+ const map1 = new mapboxgl . Map ( {
276+ container : 'map' ,
279277 style : {
280278 version : 8 ,
281279 sources : {
282280 'raster-tiles' : {
283281 type : 'raster' ,
284- tiles : [ 'https://maptiles.supermapol.com/iserver/services/map_China/rest/maps/China_Dark ' ] ,
282+ tiles : [ 'base/resources/img/baiduTileTest.png ' ] ,
285283 tileSize : 256
286284 }
287285 } ,
@@ -298,16 +296,26 @@ describe('MapExtend mapboxgl', () => {
298296 center : [ 116.4 , 39.79 ] ,
299297 zoom : 3
300298 } ) ;
301- expect ( map2 . overlayLayersManager ) . toEqual ( { } ) ;
299+
302300 map1 . on ( 'load' , ( ) => {
303- map1 . removeLayer ( 'heatmap_1' )
301+ map1 . removeLayer = originRemoveLayer ;
302+ expect ( map1 . overlayLayersManager ) . toEqual ( { } ) ;
303+ map1 . style . removeLayer = ( ) => { } ;
304+ map1 . overlayLayersManager = {
305+ l7_layer_1 : { id : 'l7_layer_1' , type : 'custom' } ,
306+ heatmap_1 : { id : 'heatmap_1' , removeFromMap : function ( ) { } }
307+ } ;
308+ spyOn ( map1 . overlayLayersManager . heatmap_1 , 'removeFromMap' ) . and . callThrough ( ) ;
309+ spyOn ( map1 . style , 'removeLayer' ) . and . callThrough ( ) ;
310+ const removeFromMap = map1 . overlayLayersManager . heatmap_1 . removeFromMap ;
311+ map1 . removeLayer ( 'heatmap_1' ) ;
304312 expect ( removeFromMap . calls . count ( ) ) . toEqual ( 1 ) ;
305313 map1 . removeLayer ( 'l7_layer_1' ) ;
306314 expect ( map1 . style . removeLayer . calls . count ( ) ) . toEqual ( 1 ) ;
307315 map1 . remove ( ) ;
308316 map2 . remove ( ) ;
309317 document . body . removeChild ( testDiv2 ) ;
310318 done ( ) ;
311- } )
319+ } ) ;
312320 } ) ;
313321} ) ;
0 commit comments