@@ -303,4 +303,57 @@ describe('mapboxgl-webmap3.0', () => {
303303 } ) ;
304304 mapstudioWebmap . initializeMap ( mapInfo ) ;
305305 } ) ;
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+ } ) ;
306359} ) ;
0 commit comments