Skip to content

Commit 86863fa

Browse files
committed
【fix】UT
1 parent b469673 commit 86863fa

File tree

4 files changed

+75
-32
lines changed

4 files changed

+75
-32
lines changed

test/karma.conf.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,13 @@ module.exports = function (config) {
4343
'../node_modules/xlsx/**',
4444
'../node_modules/@turf/**',
4545
'../node_modules/lodash/**',
46+
'../node_modules/echarts/dist/echarts.js',
4647
'../src/mapboxgl/overlay/L7/l7-render.js',
4748
'../src/maplibregl/overlay/L7/l7-render.js',
49+
'../node_modules/video.js/dist/video.cjs.js',
4850
'../src/common/util/UGCWasmAll.js',
49-
'../node_modules/echarts/dist/echarts.js'
51+
'../node_modules/@mapbox/mapbox-gl-style-spec'
52+
5053
],
5154
plugins: ['istanbul', '@babel/plugin-transform-runtime']
5255
}

test/mapboxgl/core/MapExtendSpec.js

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import mapboxglMock from '../../tool/mock_mapboxgl_map';
21
import mapboxgl from 'mapbox-gl';
2+
import mapboxglMock from '../../tool/mock_mapboxgl_map';
33
import { FetchRequest } from '../../../src/common/util/FetchRequest';
44
import cipher from 'node-forge/lib/cipher';
55
import { 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
});

test/maplibregl/core/MapExtendSpec.js

Lines changed: 42 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import maplibregl from 'maplibre-gl';
2+
import mbglmap from '../../tool/mock_mapboxgl_map';
23
import '../../../src/maplibregl/core/MapExtend';
34
import { FetchRequest } from '../../../src/common/util/FetchRequest';
45

@@ -127,12 +128,11 @@ describe('maplibregl MapExtend', () => {
127128
done();
128129
});
129130

130-
xit('overlayLayersManager', (done) => {
131-
expect(map.overlayLayersManager).toEqual({});
132-
map.overlayLayersManager = { l7_layer_1: { id: 'l7_layer_1', type: 'custom' }, heatmap_1: { id: 'heatmap_1', removeFromMap: function() {} } };
133-
spyOn(map.overlayLayersManager.heatmap_1, 'removeFromMap').and.callThrough();
134-
spyOn(map.style, 'removeLayer').and.callThrough();
135-
const removeFromMap = map.overlayLayersManager.heatmap_1.removeFromMap;
131+
it('overlayLayersManager', (done) => {
132+
const originRemoveLayer = maplibregl.Map.prototype.removeLayer;
133+
spyOn(maplibregl, 'Map').and.callFake(mbglmap);
134+
135+
136136
const testDiv2 = window.document.createElement('div');
137137
testDiv2.setAttribute('id', 'map2');
138138
window.document.body.appendChild(testDiv2);
@@ -143,7 +143,7 @@ describe('maplibregl MapExtend', () => {
143143
sources: {
144144
'raster-tiles': {
145145
type: 'raster',
146-
tiles: ['https://maptiles.supermapol.com/iserver/services/map_China/rest/maps/China_Dark'],
146+
tiles: ['base/resources/img/baiduTileTest.png'],
147147
tileSize: 256
148148
}
149149
},
@@ -161,11 +161,42 @@ describe('maplibregl MapExtend', () => {
161161
zoom: 3
162162
});
163163
expect(map2.overlayLayersManager).toEqual({});
164-
map.on('load', () => {
165-
map.removeLayer('heatmap_1')
164+
var map1 = new maplibregl.Map({
165+
container: 'map',
166+
style: {
167+
version: 8,
168+
sources: {
169+
'raster-tiles': {
170+
type: 'raster',
171+
tiles: ['base/resources/img/baiduTileTest.png'],
172+
tileSize: 256
173+
}
174+
},
175+
layers: [
176+
{
177+
id: 'simple-tiles',
178+
type: 'raster',
179+
source: 'raster-tiles',
180+
minzoom: 0,
181+
maxzoom: 22
182+
}
183+
]
184+
},
185+
center: [116.4, 39.79],
186+
zoom: 3
187+
});
188+
map1.on('load', () => {
189+
expect(map1.overlayLayersManager).toEqual({});
190+
map1.style.removeLayer = () => {};
191+
map1.overlayLayersManager = { l7_layer_1: { id: 'l7_layer_1', type: 'custom' }, heatmap_1: { id: 'heatmap_1', removeFromMap: function() {} } };
192+
spyOn(map1.overlayLayersManager.heatmap_1, 'removeFromMap').and.callThrough();
193+
spyOn(map1.style, 'removeLayer').and.callThrough();
194+
const removeFromMap = map1.overlayLayersManager.heatmap_1.removeFromMap;
195+
map1.removeLayer = originRemoveLayer;
196+
map1.removeLayer('heatmap_1')
166197
expect(removeFromMap.calls.count()).toEqual(1);
167-
map.removeLayer('l7_layer_1');
168-
expect(map.style.removeLayer.calls.count()).toEqual(1);
198+
map1.removeLayer('l7_layer_1');
199+
expect(map1.style.removeLayer.calls.count()).toEqual(1);
169200
map2.remove();
170201
document.body.removeChild(testDiv2);
171202
done();

test/tool/mock_mapboxgl_map.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ function functor(x) {
2121
const Map = function (options) {
2222
const evented = new mapboxgl.Evented();
2323
this.on = evented.on;
24+
this._update = ()=>{};
2425
this.fire = evented.fire;
2526
this.listens = evented.listens;
2627

0 commit comments

Comments
 (0)