Skip to content

Commit 6d43576

Browse files
committed
【test】增加UT
1 parent 4677183 commit 6d43576

File tree

4 files changed

+201
-141
lines changed

4 files changed

+201
-141
lines changed

src/mapboxgl/mapping/WebMap.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -454,8 +454,11 @@ export class WebMap extends mapboxgl.Evented {
454454
})
455455
.then(capabilitiesText => {
456456
let converts = convert ? convert : window.convert;
457-
let tileMatrixSet = JSON.parse(converts.xml2json(capabilitiesText, { compact: true, spaces: 4 }))
458-
.Capabilities.Contents.TileMatrixSet;
457+
let tileMatrixSet = JSON.parse(converts.xml2json(capabilitiesText, { compact: true, spaces: 4 }))
458+
.Capabilities.Contents.TileMatrixSet;
459+
if (!Array.isArray(tileMatrixSet)) {
460+
tileMatrixSet = [tileMatrixSet];
461+
}
459462
for (let i = 0; i < tileMatrixSet.length; i++) {
460463
if (
461464
tileMatrixSet[i]['ows:Identifier'] &&

test/mapboxgl/mapping/WebMapSpec.js

Lines changed: 46 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ describe('mapboxgl_WebMap', () => {
304304
if (url.indexOf('map.json') > -1) {
305305
var mapJson = datavizWebMap_Theme_base;
306306
return Promise.resolve(new Response(mapJson));
307-
} else if (url.indexOf('content?') > -1) {
307+
} else if (url.indexOf('content.json?') > -1) {
308308
return Promise.resolve(new Response(csvData));
309309
}
310310
return Promise.resolve();
@@ -331,7 +331,7 @@ describe('mapboxgl_WebMap', () => {
331331
if (url.indexOf('map.json') > -1) {
332332
var mapJson = datavizWebMap_Theme_base_Line;
333333
return Promise.resolve(new Response(mapJson));
334-
} else if (url.indexOf('content?') > -1) {
334+
} else if (url.indexOf('content.json?') > -1) {
335335
return Promise.resolve(new Response(geojsonData));
336336
}
337337
return Promise.resolve();
@@ -359,7 +359,7 @@ describe('mapboxgl_WebMap', () => {
359359
if (url.indexOf('map.json') > -1) {
360360
var mapJson = datavizWebMap_Image;
361361
return Promise.resolve(new Response(mapJson));
362-
} else if (url.indexOf('content?') > -1) {
362+
} else if (url.indexOf('content.json?') > -1) {
363363
return Promise.resolve(new Response(geojsonData));
364364
}
365365
return Promise.resolve();
@@ -370,7 +370,7 @@ describe('mapboxgl_WebMap', () => {
370370
let img = new Image();
371371
img.onload = () => {
372372
isLoaded = true;
373-
load.emit(url);
373+
load.emxit(url);
374374
};
375375
img.src = url;
376376
cb(img);
@@ -397,7 +397,7 @@ describe('mapboxgl_WebMap', () => {
397397
if (url.indexOf('map.json') > -1) {
398398
var mapJson = datavizWebMap_Unique;
399399
return Promise.resolve(new Response(mapJson));
400-
} else if (url.indexOf('content?') > -1) {
400+
} else if (url.indexOf('content.json?') > -1) {
401401
return Promise.resolve(new Response(xlsData));
402402
}
403403
return Promise.resolve();
@@ -425,7 +425,7 @@ describe('mapboxgl_WebMap', () => {
425425
if (url.indexOf('map.json') > -1) {
426426
var mapJson = datavizWebMap_Range;
427427
return Promise.resolve(new Response(mapJson));
428-
} else if (url.indexOf('content?') > -1) {
428+
} else if (url.indexOf('content.json?') > -1) {
429429
return Promise.resolve(new Response(geojsonData));
430430
}
431431
return Promise.resolve();
@@ -434,7 +434,7 @@ describe('mapboxgl_WebMap', () => {
434434
return [4133010335, 4133011647, 4133013294, 4133014535, 4133016408, 4233051885, 9233063036];
435435
});
436436
var datavizWebmap = new WebMap(id, options);
437-
setTimeout(() => {
437+
datavizWebmap.on('addlayerssucceeded', function () {
438438
expect(datavizWebmap.credentialKey).toBeUndefined();
439439
expect(datavizWebmap.credentialValue).toBeUndefined();
440440

@@ -444,7 +444,7 @@ describe('mapboxgl_WebMap', () => {
444444
expect(datavizWebmap.mapParams.title).toBe('RANGE_LABEL');
445445
expect(datavizWebmap.mapParams.description).toBe('');
446446
done();
447-
}, 1000);
447+
});
448448
});
449449

450450
it('createThemeLayer_Heat', (done) => {
@@ -456,7 +456,7 @@ describe('mapboxgl_WebMap', () => {
456456
if (url.indexOf('map.json') > -1) {
457457
var mapJson = datavizWebMap_Heat;
458458
return Promise.resolve(new Response(mapJson));
459-
} else if (url.indexOf('content?') > -1) {
459+
} else if (url.indexOf('content.json?') > -1) {
460460
return Promise.resolve(new Response(csvData));
461461
}
462462
return Promise.resolve();
@@ -484,7 +484,7 @@ describe('mapboxgl_WebMap', () => {
484484
if (url.indexOf('map.json') > -1) {
485485
var mapJson = datavizWebMap_Marker;
486486
return Promise.resolve(new Response(mapJson));
487-
} else if (url.indexOf('content?') > -1) {
487+
} else if (url.indexOf('content.json?') > -1) {
488488
return Promise.resolve(new Response(markerData));
489489
}
490490
return Promise.resolve();
@@ -504,7 +504,7 @@ describe('mapboxgl_WebMap', () => {
504504
}, 1000);
505505
});
506506

507-
xit('createThemeLayer_SUPERMAP_MAP_datasource', (done) => {
507+
it('createThemeLayer_SUPERMAP_MAP_datasource', (done) => {
508508
let options = {
509509
server: server
510510
};
@@ -549,8 +549,7 @@ describe('mapboxgl_WebMap', () => {
549549
});
550550

551551
var datavizWebmap = new WebMap(id, options);
552-
553-
setTimeout(() => {
552+
datavizWebmap.on('addlayerssucceeded', function () {
554553
expect(datavizWebmap.credentialKey).toBeUndefined();
555554
expect(datavizWebmap.credentialValue).toBeUndefined();
556555

@@ -560,7 +559,7 @@ describe('mapboxgl_WebMap', () => {
560559
expect(datavizWebmap.mapParams.title).toBe('RestMap');
561560
expect(datavizWebmap.mapParams.description).toBe('restMap from jingjin');
562561
done();
563-
}, 1000);
562+
});
564563
});
565564

566565
it('createThemeLayer_SUPERMAPREST_DATA', (done) => {
@@ -585,7 +584,7 @@ describe('mapboxgl_WebMap', () => {
585584
});
586585
var datavizWebmap = new WebMap(id, options);
587586

588-
setTimeout(() => {
587+
datavizWebmap.on('addlayerssucceeded', function () {
589588
expect(datavizWebmap.credentialKey).toBeUndefined();
590589
expect(datavizWebmap.credentialValue).toBeUndefined();
591590

@@ -595,7 +594,7 @@ describe('mapboxgl_WebMap', () => {
595594
expect(datavizWebmap.mapParams.title).toBe('RestData');
596595
expect(datavizWebmap.mapParams.description).toBe('');
597596
done();
598-
}, 1000);
597+
});
599598
});
600599

601600
it('WMS', (done) => {
@@ -728,24 +727,24 @@ describe('mapboxgl_WebMap', () => {
728727
if (url.indexOf('map.json') > -1) {
729728
var mapJson = datavizWebMap_SVG1;
730729
return Promise.resolve(new Response(mapJson));
731-
} else if (url.indexOf('content?') > -1) {
730+
} else if (url.indexOf('content.json?') > -1) {
732731
return Promise.resolve(new Response(geojsonData));
733732
}
734733
return Promise.resolve();
735734
});
736735

737736
var datavizWebmap = new WebMap(id, options);
738737
datavizWebmap.on('mapinitialized', () => {
739-
spyOn(datavizWebmap, '_getCanvasFromSVG').and.callFake((svg_url, svgDiv, cb) => {
740-
let canvas = document.createElement('canvas');
741-
canvas.width = '150px';
742-
cb(canvas);
743-
});
738+
// spyOn(datavizWebmap, '_getCanvasFromSVG').and.callFake((svg_url, svgDiv, cb) => {
739+
// let canvas = document.createElement('canvas');
740+
// canvas.width = '150px';
741+
// cb(canvas);
742+
// });
744743
spyOn(datavizWebmap.map, 'loadImage').and.callFake((url, cb) => {
745744
let img = new Image();
746745
img.onload = () => {
747746
isLoaded = true;
748-
load.emit(url);
747+
load.emxit(url);
749748
};
750749
img.src = url;
751750
cb(img);
@@ -765,7 +764,7 @@ describe('mapboxgl_WebMap', () => {
765764
if (url.indexOf('map.json') > -1) {
766765
var mapJson = datavizWebMap_symbol;
767766
return Promise.resolve(new Response(mapJson));
768-
} else if (url.indexOf('content?') > -1) {
767+
} else if (url.indexOf('content.json?') > -1) {
769768
return Promise.resolve(new Response(geojsonData));
770769
}
771770
return Promise.resolve();
@@ -800,7 +799,7 @@ describe('mapboxgl_WebMap', () => {
800799
done();
801800
}, 1000);
802801
});
803-
xit('datavizWebMap_WMTS', (done) => {
802+
it('datavizWebMap_WMTS', (done) => {
804803
let options = {
805804
server: server
806805
};
@@ -821,4 +820,26 @@ describe('mapboxgl_WebMap', () => {
821820
done();
822821
}, 1000);
823822
});
823+
it('datavizWebMap_WMTS_Custom', (done) => {
824+
let options = {
825+
server: server
826+
};
827+
spyOn(FetchRequest, 'get').and.callFake((url) => {
828+
if (url.indexOf('map.json') > -1) {
829+
var mapJson = datavizWebMap_WMTS2;
830+
return Promise.resolve(new Response(mapJson));
831+
} else if (url.indexOf('wmts') > -1) {
832+
return Promise.resolve(new Response(wmtsInfoCustom));
833+
}
834+
return Promise.resolve();
835+
});
836+
var datavizWebmap = new WebMap(id, options);
837+
838+
datavizWebmap.on('addlayerssucceeded', function () {
839+
setTimeout(function () {
840+
expect(datavizWebmap.map.getStyle().layers.length).toBe(2);
841+
done();
842+
}, 2000);
843+
});
844+
});
824845
});

0 commit comments

Comments
 (0)