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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy