@@ -1414,6 +1414,38 @@ describe('mapboxgl_WebMapV2', () => {
14141414 datavizWebmap . on ( 'mapcreatesucceeded' , callback ) ;
14151415 } ) ;
14161416
1417+ it ( 'updateOverlayLayer featureProjection' , ( done ) => {
1418+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1419+ if ( url . indexOf ( 'portal.json' ) > - 1 ) {
1420+ return Promise . resolve ( new Response ( JSON . stringify ( iportal_serviceProxy ) ) ) ;
1421+ } else if ( url . indexOf ( '1788054202/map.json' ) > - 1 ) {
1422+ return Promise . resolve ( new Response ( JSON . stringify ( uniqueLayer_polygon ) ) ) ;
1423+ } else if ( url . indexOf ( 'datas/1960447494/content.json' ) > - 1 ) {
1424+ return Promise . resolve ( new Response ( layerData_CSV ) ) ;
1425+ } else if ( url . indexOf ( 'datas/144371940/content.json' ) ) {
1426+ return Promise . resolve ( new Response ( JSON . stringify ( layerData_geojson [ 'LINE_GEOJSON' ] ) ) ) ;
1427+ }
1428+ } ) ;
1429+ datavizWebmap = new WebMap ( id , { ...commonOption , map : commonMap } , { ...commonMapOptions } ) ;
1430+
1431+ const callback = function ( data ) {
1432+ const spy = spyOn ( datavizWebmap . _handler , 'transformFeatures' ) . and . callThrough ( ) ;
1433+ datavizWebmap . updateOverlayLayer (
1434+ { id : 'test' , projection : 'EPSG:3857' } ,
1435+ {
1436+ type : 'FeatureCollection' ,
1437+ features : [ { type : 'Feature' , geometry : { type : 'Point' , coordinates : [ 110 , 10 ] } } ]
1438+ } ,
1439+ '' ,
1440+ 'EPSG:4326'
1441+ ) ;
1442+ expect ( spy ) . not . toHaveBeenCalled ( ) ;
1443+ done ( ) ;
1444+ } ;
1445+ datavizWebmap . on ( 'mapcreatesucceeded' , callback ) ;
1446+ done ( ) ;
1447+ } ) ;
1448+
14171449 it ( 'updateOverlayLayer unique' , ( done ) => {
14181450 spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
14191451 if ( url . indexOf ( 'portal.json' ) > - 1 ) {
@@ -2983,7 +3015,7 @@ describe('mapboxgl_WebMapV2', () => {
29833015 minzoom : 0
29843016 } ) ;
29853017 return Promise . resolve ( new Response ( JSON . stringify ( nextStyleJSON ) ) ) ;
2986- }
3018+ }
29873019 if ( url . indexOf ( 'China.json' ) > - 1 ) {
29883020 return Promise . resolve ( new Response ( JSON . stringify ( { } ) ) ) ;
29893021 }
@@ -3169,11 +3201,11 @@ describe('mapboxgl_WebMapV2', () => {
31693201 let style = map . getStyle ( ) ;
31703202 expect ( style . layers . length ) . toBeGreaterThan ( layers . length ) ;
31713203 const sourceIds = Object . keys ( style . sources ) ;
3172- const layerIds = style . layers . map ( item => item . id ) ;
3204+ const layerIds = style . layers . map ( ( item ) => item . id ) ;
31733205 webMap1 . cleanLayers ( ) ;
31743206 style = map . getStyle ( ) ;
3175- expect ( style . layers . some ( layer => layerIds . some ( id => id === layer . id ) ) ) . toBeFalsy ( ) ;
3176- expect ( Object . keys ( style . sources ) . some ( sourceId => sourceIds . some ( id => id === sourceId ) ) ) . toBeFalsy ( ) ;
3207+ expect ( style . layers . some ( ( layer ) => layerIds . some ( ( id ) => id === layer . id ) ) ) . toBeFalsy ( ) ;
3208+ expect ( Object . keys ( style . sources ) . some ( ( sourceId ) => sourceIds . some ( ( id ) => id === sourceId ) ) ) . toBeFalsy ( ) ;
31773209 const webMap2 = new WebMap ( 106007908 , { server, map : firstMap } ) ;
31783210 webMap2 . once ( 'mapcreatesucceeded' , ( { layers } ) => {
31793211 expect ( layers . length ) . toBe ( 2 ) ;
0 commit comments