@@ -303,4 +303,57 @@ describe('mapboxgl-webmap3.0', () => {
303
303
} ) ;
304
304
mapstudioWebmap . initializeMap ( mapInfo ) ;
305
305
} ) ;
306
+
307
+ it ( 'exclude source and layer' , ( done ) => {
308
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
309
+ if ( url . indexOf ( '/sprite' ) > - 1 ) {
310
+ return Promise . resolve ( new Response ( msSpriteInfo ) ) ;
311
+ }
312
+ return Promise . resolve ( ) ;
313
+ } ) ;
314
+ const mapInfo = JSON . parse ( mapstudioWebMap_symbol ) ;
315
+ mapstudioWebmap = new WebMapV3 ( mapInfo , {
316
+ server : server ,
317
+ target : 'map'
318
+ } ) ;
319
+ mapstudioWebmap . initializeMap ( mapInfo ) ;
320
+
321
+ mapstudioWebmap . on ( 'addlayerssucceeded' , ( { map } ) => {
322
+ expect ( map ) . not . toBeUndefined ( ) ;
323
+ expect ( mapstudioWebmap . map ) . toEqual ( map ) ;
324
+ const style = map . getStyle ( ) ;
325
+ expect ( style . layers . length ) . toBe ( mapInfo . layers . length ) ;
326
+ const appreciableLayers = mapstudioWebmap . getAppreciableLayers ( ) ;
327
+ const layerCatalogs = mapstudioWebmap . getLayerCatalog ( ) ;
328
+ expect ( appreciableLayers . length ) . toBeGreaterThanOrEqual ( mapInfo . layers . length ) ;
329
+ expect ( layerCatalogs . length ) . toBeLessThanOrEqual ( appreciableLayers . length ) ;
330
+ map . addLayer ( {
331
+ metadata : { } ,
332
+ paint : {
333
+ 'background-color' : '#242424'
334
+ } ,
335
+ id : 'layer-identify-SM-highlighted' ,
336
+ type : 'background'
337
+ } ) ;
338
+ map . addSource ( 'mapbox-gl-draw-hot' , {
339
+ type : 'geojson' ,
340
+ data : {
341
+ type : 'FeatureCollection' ,
342
+ features : [ ]
343
+ }
344
+ } ) ;
345
+ map . addLayer ( {
346
+ metadata : { } ,
347
+ paint : {
348
+ 'circle-color' : "#f75564"
349
+ } ,
350
+ id : 'draw-vertex-active.hot' ,
351
+ source : 'mapbox-gl-draw-hot' ,
352
+ type : 'circle'
353
+ } ) ;
354
+ expect ( mapstudioWebmap . getAppreciableLayers ( ) . length ) . toBe ( appreciableLayers . length ) ;
355
+ expect ( mapstudioWebmap . getLayerCatalog ( ) . length ) . toBe ( layerCatalogs . length ) ;
356
+ done ( ) ;
357
+ } ) ;
358
+ } ) ;
306
359
} ) ;
0 commit comments