Skip to content

Commit 782bcd4

Browse files
committed
提交SuperMap#20 ,21,22,24对应的单元测试 review by songym
1 parent d79a06e commit 782bcd4

File tree

8 files changed

+515
-64
lines changed

8 files changed

+515
-64
lines changed

test/common/iServer/QueryBySQLServiceSpec.js

Lines changed: 77 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import {QueryBySQLService} from '../../../src/common/iServer/QueryBySQLService';
2-
import {QueryBySQLParameters} from '../../../src/common/iServer/QueryBySQLParameters';
3-
import {FilterParameter} from '../../../src/common/iServer/FilterParameter';
4-
import {GeometryType} from '../../../src/common/REST';
5-
import {QueryOption} from '../../../src/common/REST';
1+
import { QueryBySQLService } from '../../../src/common/iServer/QueryBySQLService';
2+
import { QueryBySQLParameters } from '../../../src/common/iServer/QueryBySQLParameters';
3+
import { FilterParameter } from '../../../src/common/iServer/FilterParameter';
4+
import { GeometryType } from '../../../src/common/REST';
5+
import { QueryOption } from '../../../src/common/REST';
6+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
67

78
var worldMapURL = GlobeParameter.mapServiceURL + "World Map";
89
describe('testQueryBySQLService_processAsync', () => {
@@ -298,5 +299,75 @@ describe('testQueryBySQLService_processAsync', () => {
298299
done();
299300
}
300301
}, 2000);
301-
})
302+
});
303+
304+
//测试字段别名 #20
305+
it('processAsync_returnFeatureWithFieldCaption:true_#20', (done) => {
306+
var queryFailedEventArgs = null, serviceSuccessEventArgs = null;
307+
var QueryBySQLFailed = (serviceFailedEventArgs) => {
308+
queryFailedEventArgs = serviceFailedEventArgs;
309+
};
310+
var QueryBySQLCompleted = (queryEventArgs) => {
311+
serviceSuccessEventArgs = queryEventArgs;
312+
};
313+
var options = {
314+
eventListeners: {
315+
'processFailed': QueryBySQLFailed,
316+
'processCompleted': QueryBySQLCompleted
317+
}
318+
};
319+
var queryBySQLService = new QueryBySQLService(worldMapURL, options);
320+
var queryBySQLParameters = new QueryBySQLParameters({
321+
customParams: null,
322+
expectCount: 2,
323+
networkType: GeometryType.POINT,
324+
queryOption: QueryOption.ATTRIBUTE,
325+
queryParams: new Array(new FilterParameter({
326+
attributeFilter: "SmID>0",
327+
name: "Countries@World"
328+
})),
329+
returnFeatureWithFieldCaption:true,
330+
//returnFeatureWithFieldCaption
331+
returnContent: true
332+
});
333+
queryBySQLParameters.startRecord = 0;
334+
queryBySQLParameters.holdTime = 10;
335+
queryBySQLParameters.returnCustomResult = false;
336+
337+
spyOn(FetchRequest, 'post').and.callFake((url, params, options) => {
338+
// http://54.223.164.155:8090/iserver/services/map-world/rest/maps/World%20Map/queryResults.json?returnContent=true
339+
expect(url).toBe(worldMapURL + "/queryResults.json?returnContent=true");
340+
expect(params).not.toBeNull();
341+
expect(options).not.toBeNull();
342+
return Promise.resolve(new Response(JSON.stringify(queryEscapedJson)));
343+
});
344+
345+
queryBySQLService.processAsync(queryBySQLParameters);
346+
setTimeout(() => {
347+
try {
348+
var queryResult = serviceSuccessEventArgs.result.recordsets[0].features;
349+
expect(queryResult).not.toBeNull();
350+
expect(queryResult.type).toBe("FeatureCollection");
351+
expect(queryResult.features.length).toBe(2);
352+
expect(queryResult.features[0].properties).not.toBeNull();
353+
// queryResult.features[0].properties["COLOR_MAP"]
354+
// console.log("QueryBySQLService_" + queryResult.features[1].properties["COLOR_MAP"]);
355+
expect(queryResult.features[1].properties["ColorIDtest"]).toEqual('1');
356+
queryBySQLService.destroy();
357+
queryBySQLParameters.destroy();
358+
359+
queryFailedEventArgs = null;
360+
serviceSuccessEventArgs = null;
361+
done();
362+
} catch (exception) {
363+
expect(false).toBeTruthy();
364+
console.log("QueryBySQLService_" + exception.name + ":" + exception.message);
365+
queryBySQLService.destroy();
366+
queryBySQLParameters.destroy();
367+
queryFailedEventArgs = null;
368+
serviceSuccessEventArgs = null;
369+
done();
370+
}
371+
}, 4000)
372+
});
302373
});

test/karma.conf.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,12 @@ module.exports = function (config) {
3838
{pattern: '../src/classic/libs/Lang/*.js', include: false},
3939
{pattern: '../src/classic/theme/default/*.css', include: false},
4040
/**测试文件**/
41-
'./test-main-classic.js',
41+
// './test-main-classic.js',
4242

4343
/***common的源码***/
4444
'../src/common/**/*.js',
4545
/**测试文件**/
46+
4647
'./test-main-common.js',
4748

4849
/***leaflet的源码***/

test/leaflet/overlay/EchartsLayerSpec.js

Lines changed: 80 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import {echartsLayer} from '../../../src/leaflet/overlay/EChartsLayer';
2-
import {tiledMapLayer} from '../../../src/leaflet/mapping/TiledMapLayer';
1+
import { echartsLayer } from '../../../src/leaflet/overlay/EChartsLayer';
2+
import { tiledMapLayer } from '../../../src/leaflet/mapping/TiledMapLayer';
33

44
var url = GlobeParameter.imageURL;
55
describe('leaflet_EChartsLayer', () => {
66
var originalTimeout;
7-
var testDiv, map;
7+
var testDiv, map, tileLayer;
88
beforeAll(() => {
99
testDiv = window.document.createElement("div");
1010
testDiv.setAttribute("id", "map");
@@ -20,7 +20,7 @@ describe('leaflet_EChartsLayer', () => {
2020
maxZoom: 18,
2121
zoom: 9
2222
});
23-
tiledMapLayer(url).addTo(map);
23+
tileLayer = tiledMapLayer(url).addTo(map);
2424
});
2525
beforeEach(() => {
2626
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
@@ -31,10 +31,12 @@ describe('leaflet_EChartsLayer', () => {
3131
});
3232
afterAll(() => {
3333
window.document.body.removeChild(testDiv);
34-
map.remove();
34+
if (map != null) {
35+
map.remove();
36+
}
3537
});
3638

37-
it('initialize', () => {
39+
it('initialize,#24', (done) => {
3840
var echartsMapLayer;
3941
var geoCoordMap = {
4042
'上海': [121.4648, 31.2891],
@@ -153,40 +155,40 @@ describe('leaflet_EChartsLayer', () => {
153155
'韶关': [113.7964, 24.7028]
154156
};
155157
var BJData = [
156-
[{name: '北京'}, {name: '上海', value: 95}],
157-
[{name: '北京'}, {name: '广州', value: 90}],
158-
[{name: '北京'}, {name: '大连', value: 80}],
159-
[{name: '北京'}, {name: '南宁', value: 70}],
160-
[{name: '北京'}, {name: '南昌', value: 60}],
161-
[{name: '北京'}, {name: '拉萨', value: 50}],
162-
[{name: '北京'}, {name: '长春', value: 40}],
163-
[{name: '北京'}, {name: '包头', value: 30}],
164-
[{name: '北京'}, {name: '重庆', value: 20}],
165-
[{name: '北京'}, {name: '常州', value: 10}]
158+
[{ name: '北京' }, { name: '上海', value: 95 }],
159+
[{ name: '北京' }, { name: '广州', value: 90 }],
160+
[{ name: '北京' }, { name: '大连', value: 80 }],
161+
[{ name: '北京' }, { name: '南宁', value: 70 }],
162+
[{ name: '北京' }, { name: '南昌', value: 60 }],
163+
[{ name: '北京' }, { name: '拉萨', value: 50 }],
164+
[{ name: '北京' }, { name: '长春', value: 40 }],
165+
[{ name: '北京' }, { name: '包头', value: 30 }],
166+
[{ name: '北京' }, { name: '重庆', value: 20 }],
167+
[{ name: '北京' }, { name: '常州', value: 10 }]
166168
];
167169
var SHData = [
168-
[{name: '上海'}, {name: '包头', value: 95}],
169-
[{name: '上海'}, {name: '昆明', value: 90}],
170-
[{name: '上海'}, {name: '广州', value: 80}],
171-
[{name: '上海'}, {name: '郑州', value: 70}],
172-
[{name: '上海'}, {name: '长春', value: 60}],
173-
[{name: '上海'}, {name: '重庆', value: 50}],
174-
[{name: '上海'}, {name: '长沙', value: 40}],
175-
[{name: '上海'}, {name: '北京', value: 30}],
176-
[{name: '上海'}, {name: '丹东', value: 20}],
177-
[{name: '上海'}, {name: '大连', value: 10}]
170+
[{ name: '上海' }, { name: '包头', value: 95 }],
171+
[{ name: '上海' }, { name: '昆明', value: 90 }],
172+
[{ name: '上海' }, { name: '广州', value: 80 }],
173+
[{ name: '上海' }, { name: '郑州', value: 70 }],
174+
[{ name: '上海' }, { name: '长春', value: 60 }],
175+
[{ name: '上海' }, { name: '重庆', value: 50 }],
176+
[{ name: '上海' }, { name: '长沙', value: 40 }],
177+
[{ name: '上海' }, { name: '北京', value: 30 }],
178+
[{ name: '上海' }, { name: '丹东', value: 20 }],
179+
[{ name: '上海' }, { name: '大连', value: 10 }]
178180
];
179181
var GZData = [
180-
[{name: '广州'}, {name: '福州', value: 95}],
181-
[{name: '广州'}, {name: '太原', value: 90}],
182-
[{name: '广州'}, {name: '长春', value: 80}],
183-
[{name: '广州'}, {name: '重庆', value: 70}],
184-
[{name: '广州'}, {name: '西安', value: 60}],
185-
[{name: '广州'}, {name: '成都', value: 50}],
186-
[{name: '广州'}, {name: '常州', value: 40}],
187-
[{name: '广州'}, {name: '北京', value: 30}],
188-
[{name: '广州'}, {name: '北海', value: 20}],
189-
[{name: '广州'}, {name: '海口', value: 10}]
182+
[{ name: '广州' }, { name: '福州', value: 95 }],
183+
[{ name: '广州' }, { name: '太原', value: 90 }],
184+
[{ name: '广州' }, { name: '长春', value: 80 }],
185+
[{ name: '广州' }, { name: '重庆', value: 70 }],
186+
[{ name: '广州' }, { name: '西安', value: 60 }],
187+
[{ name: '广州' }, { name: '成都', value: 50 }],
188+
[{ name: '广州' }, { name: '常州', value: 40 }],
189+
[{ name: '广州' }, { name: '北京', value: 30 }],
190+
[{ name: '广州' }, { name: '北海', value: 20 }],
191+
[{ name: '广州' }, { name: '海口', value: 10 }]
190192
];
191193
var planePath = 'path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z';
192194
var convertData = (data) => {
@@ -209,26 +211,26 @@ describe('leaflet_EChartsLayer', () => {
209211
var series = [];
210212
[['北京', BJData], ['上海', SHData], ['广州', GZData]].forEach((item, i) => {
211213
series.push({
212-
name: item[0] + ' Top10',
213-
type: 'lines',
214-
coordinateSystem: 'leaflet',
215-
zlevel: 1,
216-
effect: {
217-
show: true,
218-
period: 6,
219-
trailLength: 0.7,
220-
color: '#fff',
221-
symbolSize: 3
222-
},
223-
lineStyle: {
224-
normal: {
225-
color: color[i],
226-
width: 0,
227-
curveness: 0.2
228-
}
229-
},
230-
data: convertData(item[1])
214+
name: item[0] + ' Top10',
215+
type: 'lines',
216+
coordinateSystem: 'leaflet',
217+
zlevel: 1,
218+
effect: {
219+
show: true,
220+
period: 6,
221+
trailLength: 0.7,
222+
color: '#fff',
223+
symbolSize: 3
224+
},
225+
lineStyle: {
226+
normal: {
227+
color: color[i],
228+
width: 0,
229+
curveness: 0.2
230+
}
231231
},
232+
data: convertData(item[1])
233+
},
232234
{
233235
name: item[0] + ' Top10',
234236
type: 'lines',
@@ -306,10 +308,33 @@ describe('leaflet_EChartsLayer', () => {
306308
},
307309
series: series
308310
};
311+
312+
var flag = false;
313+
var count = 1;
314+
function myself() {
315+
flag = true;
316+
// console.log('次数: '+count++)
317+
};
318+
expect(flag).toEqual(false);
309319
echartsMapLayer = echartsLayer(option).addTo(map);
320+
map.on('zoomend', myself);
310321
expect(echartsMapLayer).not.toBeNull();
311322
expect(echartsMapLayer._echartsOptions.series.length).toBe(9);
312323
expect(echartsMapLayer._echartsOptions.series[0].name).toBe("北京 Top10");
313324
expect(echartsMapLayer._echartsOptions.series[7].name).toBe("广州 Top10");
325+
map.removeLayer(echartsMapLayer);
326+
expect(flag).toEqual(false);
327+
map.setZoom(1);
328+
// map.zoomIn(2);
329+
setTimeout(() => {
330+
try {
331+
expect(flag).toEqual(true);
332+
done()
333+
}
334+
catch (exception) {
335+
expect(false).toBeTruthy();
336+
done();
337+
};
338+
}, 4000)
314339
});
315340
});
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
import { MapVRenderer } from '../../../../src/leaflet/overlay/mapV/MapVRenderer';
2+
import { mapVLayer } from '../../../../src/leaflet/overlay/MapVLayer';
3+
import { utilCityCenter, DataSet } from 'mapv';
4+
5+
describe('Leaflet_MapVRender', () => {
6+
var originalTimeout;
7+
var testDiv, map, layer, renderer;
8+
beforeAll(() => {
9+
testDiv = document.createElement("div");
10+
testDiv.setAttribute("id", "map1");
11+
testDiv.style.styleFloat = "left";
12+
testDiv.style.marginLeft = "8px";
13+
testDiv.style.marginTop = "50px";
14+
testDiv.style.width = "500px";
15+
testDiv.style.height = "500px";
16+
document.body.appendChild(testDiv);
17+
map = L.map('map1', {
18+
center: [32, 109],
19+
zoom: 4,
20+
});
21+
var randomCount = 2;
22+
var data = [];
23+
var citys = ["北京", "天津"];
24+
// 构造数据
25+
while (randomCount--) {
26+
var cityCenter = utilCityCenter.getCenterByCityName(citys[parseInt(Math.random() * citys.length)]);
27+
data.push({
28+
geometry: {
29+
type: 'Point',
30+
coordinates: [cityCenter.lng - 2 + Math.random() * 4, cityCenter.lat - 2 + Math.random() * 4]
31+
},
32+
count: 30 * Math.random()
33+
});
34+
}
35+
var dataSet = new DataSet(data);
36+
var options = {
37+
fillStyle: 'rgba(55, 50, 250, 0.8)',
38+
shadowColor: 'rgba(255, 250, 50, 1)',
39+
shadowBlur: 20,
40+
max: 100,
41+
size: 50,
42+
label: {
43+
show: true,
44+
fillStyle: 'white',
45+
},
46+
globalAlpha: 0.5,
47+
gradient: { 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)" },
48+
// draw: 'honeycomb',
49+
draw: 'simple',
50+
animation: {
51+
type: 'time',
52+
stepsRange: {
53+
start: 0,
54+
end: 1
55+
},
56+
trails: 1,
57+
duration: 1,
58+
}
59+
};
60+
//创建MapV图层
61+
layer = mapVLayer(dataSet, options).addTo(map);
62+
renderer = layer.renderer;
63+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
64+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
65+
});
66+
67+
afterAll(() => {
68+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
69+
layer.remove();
70+
document.body.removeChild(testDiv);
71+
map.remove();
72+
73+
});
74+
75+
it('initialize,_canvasUpdate_#21', () => {
76+
expect(renderer).not.toBeNull();
77+
expect(renderer.canvasLayer).not.toBeNull();
78+
spyOn(renderer, 'drawContext');
79+
renderer._canvasUpdate(1);
80+
var args = renderer.drawContext.calls.mostRecent().args[3];
81+
expect(args.x).not.toEqual(-1240);
82+
expect(args.x).toBeCloseTo(-990, 0);
83+
expect(args.y).not.toEqual(385);
84+
expect(args.y).toBeCloseTo(635, 2);
85+
});
86+
87+
88+
})

0 commit comments

Comments
 (0)