@@ -38,6 +38,7 @@ describe('maplibregl-webmap3.0', () => {
38
38
originalTimeout = jasmine . DEFAULT_TIMEOUT_INTERVAL ;
39
39
jasmine . DEFAULT_TIMEOUT_INTERVAL = 50000 ;
40
40
maplibregl . Map . prototype . overlayLayersManager = { } ;
41
+ mbglmap . prototype . getL7Scene = maplibregl . Map . prototype . getL7Scene ;
41
42
} ) ;
42
43
afterEach ( ( ) => {
43
44
if ( mapstudioWebmap && mapstudioWebmap . map ) {
@@ -47,6 +48,7 @@ describe('maplibregl-webmap3.0', () => {
47
48
}
48
49
window . document . body . removeChild ( testDiv ) ;
49
50
jasmine . DEFAULT_TIMEOUT_INTERVAL = originalTimeout ;
51
+ mbglmap . prototype . getL7Scene = undefined ;
50
52
} ) ;
51
53
52
54
it ( 'initialize_background' , ( done ) => {
@@ -1196,4 +1198,65 @@ describe('maplibregl-webmap3.0', () => {
1196
1198
} ;
1197
1199
mapstudioWebmap . once ( 'mapcreatesucceeded' , callback ) ;
1198
1200
} ) ;
1201
+
1202
+ it ( 'test webmap with l7layers append l7layers' , ( done ) => {
1203
+ spyOn ( MapManagerUtil , 'default' ) . and . callFake ( mbglmap ) ;
1204
+ const mapInfo = JSON . parse ( mapstudioWebMap_L7Layers ) ;
1205
+ spyOn ( L7 , 'PointLayer' ) . and . callFake ( mockL7 . PointLayer ) ;
1206
+ spyOn ( L7 , 'LineLayer' ) . and . callFake ( mockL7 . PointLayer ) ;
1207
+ spyOn ( L7 , 'PolygonLayer' ) . and . callFake ( mockL7 . PointLayer ) ;
1208
+ spyOn ( L7 , 'HeatmapLayer' ) . and . callFake ( mockL7 . PointLayer ) ;
1209
+ spyOn ( L7 , 'Scene' ) . and . callFake ( mockL7 . Scene ) ;
1210
+ spyOn ( L7 , 'Maplibre' ) . and . callFake ( mockL7 . Maplibre ) ;
1211
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1212
+ if ( url . indexOf ( 'web/config/portal.json' ) > - 1 ) {
1213
+ return Promise . resolve ( new Response ( JSON . stringify ( iportal_serviceProxy ) ) ) ;
1214
+ }
1215
+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1216
+ return Promise . resolve ( new Response ( JSON . stringify ( { ...mapInfo , crs : 'EPSG:3857' } ) ) ) ;
1217
+ }
1218
+ if ( url . indexOf ( '617580084.json' ) > - 1 ) {
1219
+ return Promise . resolve ( new Response ( msProjectINfo_L7Layers ) ) ;
1220
+ }
1221
+ if ( url . indexOf ( '/sprite' ) > - 1 ) {
1222
+ return Promise . resolve ( new Response ( msSpriteInfo ) ) ;
1223
+ }
1224
+ if ( url . indexOf ( '/web/datas/1052943054/structureddata/ogc-features/collections/all/items.json' ) > - 1 ) {
1225
+ return Promise . resolve ( new Response ( l7StructureData1052943054Items ) ) ;
1226
+ }
1227
+ if ( url . indexOf ( '/web/datas/1052943054/structureddata.json' ) > - 1 ) {
1228
+ return Promise . resolve ( new Response ( l7StructureData1052943054 ) ) ;
1229
+ }
1230
+ if ( url . indexOf ( '/web/datas/1767084124/structureddata/ogc-features/collections/all/items.json' ) > - 1 ) {
1231
+ return Promise . resolve ( new Response ( l7StructureData1767084124Items ) ) ;
1232
+ }
1233
+ if ( url . indexOf ( '/web/datas/1767084124/structureddata.json' ) > - 1 ) {
1234
+ return Promise . resolve ( new Response ( l7StructureData1767084124 ) ) ;
1235
+ }
1236
+ return Promise . resolve ( ) ;
1237
+ } ) ;
1238
+ mapstudioWebmap = new WebMap (
1239
+ id ,
1240
+ {
1241
+ server : server
1242
+ }
1243
+ ) ;
1244
+ mapstudioWebmap . once ( 'mapcreatesucceeded' , ( { map : firstMap , layers : firstLayersList } ) => {
1245
+ expect ( firstMap ) . not . toBeUndefined ( ) ;
1246
+ const style = firstMap . getStyle ( ) ;
1247
+ expect ( style . layers . length ) . toEqual ( mapInfo . layers . length ) ;
1248
+ const webMap1 = new WebMap ( id , { server, map : firstMap } ) ;
1249
+ webMap1 . once ( 'mapcreatesucceeded' , ( { map, layers } ) => {
1250
+ expect ( map ) . toEqual ( firstMap ) ;
1251
+ expect ( layers . length ) . toBe ( firstLayersList . length ) ;
1252
+ expect ( map . $l7scene ) . not . toBeUndefined ( ) ;
1253
+ const mapSpy = spyOn ( map , 'remove' ) ;
1254
+ const sceneSpy = spyOn ( map . $l7scene , 'removeAllLayer' ) ;
1255
+ webMap1 . cleanLayers ( ) ;
1256
+ expect ( mapSpy ) . not . toHaveBeenCalled ( ) ;
1257
+ expect ( sceneSpy ) . not . toHaveBeenCalled ( ) ;
1258
+ done ( ) ;
1259
+ } ) ;
1260
+ } ) ;
1261
+ } ) ;
1199
1262
} ) ;
0 commit comments