Skip to content

Commit 6e60dd4

Browse files
committed
补充UT。review by chenmy
1 parent af384c5 commit 6e60dd4

File tree

9 files changed

+410
-1
lines changed

9 files changed

+410
-1
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require('../../../src/common/iPortal/iPortalMapsQueryParam');
2+
3+
describe('iPortalMapsQueryParam', function () {
4+
it('constructor', function () {
5+
var param = new SuperMap.iPortalMapsQueryParam({userNames:'test'});
6+
expect(param).not.toBeNull();
7+
expect(param.userNames).toEqual('test');
8+
});
9+
});
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
require('../../../src/common/iPortal/iPortalServicesQueryParam');
2+
3+
describe('iPortalMapsQueryParam', function () {
4+
it('constructor', function () {
5+
var param = new SuperMap.iPortalServicesQueryParam({userNames:'test'});
6+
expect(param).not.toBeNull();
7+
expect(param.userNames).toEqual('test');
8+
});
9+
});
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
require('../../../src/common/iServer/TransferLine');
2+
3+
describe('TransferLine', function () {
4+
it('constructor, destroy', function () {
5+
var transferLine = new SuperMap.TransferLine({lineName: 'testLine'});
6+
expect(transferLine).not.toBeNull();
7+
expect(transferLine.CLASS_NAME).toEqual("SuperMap.TransferLine");
8+
expect(transferLine.lineName).toEqual('testLine');
9+
transferLine.destroy();
10+
expect(transferLine.CLASS_NAME).toBeNull();
11+
expect(transferLine.lineName).toBeNull();
12+
});
13+
14+
it('fromJson', function () {
15+
var transferLine = new SuperMap.TransferLine({lineName: 'testLine'});
16+
var result1 = new SuperMap.TransferLine.fromJson();
17+
expect(result1).not.toBeNull();
18+
var result2 = new SuperMap.TransferLine.fromJson(transferLine);
19+
expect(result2.lineName).toEqual('testLine');
20+
transferLine.destroy();
21+
});
22+
});

test/leaflet/overlay/TileVectorLayerSpec.js

Lines changed: 78 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@ describe('leaflet_TileVectorLayer', function () {
7070
it('initialize_serverCartoCSSStyle:true', function (done) {
7171
var tileVectorLayer = new L.supermap.tiledVectorLayer(ChinaURL, {
7272
cacheEnabled: false,
73-
serverCartoCSSStyle: true
73+
serverCartoCSSStyle: true,
74+
renderer: "Canvas"
7475
}).addTo(map);
7576
setTimeout(function () {
7677
expect(tileVectorLayer).not.toBeNull();
@@ -150,6 +151,82 @@ describe('leaflet_TileVectorLayer', function () {
150151
}, 5000);
151152
});
152153

154+
//测试其父类
155+
it('getStyles', function (done) {
156+
var tileVectorLayer = L.supermap.tiledVectorLayer(ChinaURL, {
157+
cacheEnabled: false,
158+
serverCartoCSSStyle: false
159+
}).addTo(map);
160+
setTimeout(function () {
161+
expect(tileVectorLayer).not.toBeNull();
162+
var styles = tileVectorLayer.getStyles();
163+
expect(styles).not.toBeNull();
164+
map.removeLayer(tileVectorLayer);
165+
done();
166+
}, 5000);
167+
});
168+
169+
it('setFeatureStyle, resetFeatureStyle', function (done) {
170+
var tileVectorLayer = L.supermap.tiledVectorLayer(ChinaURL, {
171+
cacheEnabled: false,
172+
serverCartoCSSStyle: false
173+
}).addTo(map);
174+
setTimeout(function () {
175+
expect(tileVectorLayer).not.toBeNull();
176+
spyOn(tileVectorLayer, 'setFeatureStyle').and.callThrough();
177+
spyOn(tileVectorLayer, 'resetFeatureStyle').and.callThrough();
178+
spyOn(tileVectorLayer, '_getFeatureKey').and.callThrough();
179+
spyOn(tileVectorLayer, '_updateStyles').and.callThrough();
180+
var newTileVectorLayer = tileVectorLayer.setFeatureStyle(1, "World_Continent_pl@China");
181+
var newTileVectorLayer1 = tileVectorLayer.resetFeatureStyle(1, "World_Continent_pl@China");
182+
expect(newTileVectorLayer).not.toBeNull();
183+
expect(newTileVectorLayer1).not.toBeNull();
184+
expect(tileVectorLayer.setFeatureStyle).toHaveBeenCalled();
185+
expect(tileVectorLayer.resetFeatureStyle).toHaveBeenCalled();
186+
expect(tileVectorLayer._getFeatureKey).toHaveBeenCalled();
187+
expect(tileVectorLayer._updateStyles).toHaveBeenCalled();
188+
map.removeLayer(tileVectorLayer);
189+
done();
190+
}, 5000);
191+
});
192+
193+
it('getDataLayerNames', function (done) {
194+
var tileVectorLayer = L.supermap.tiledVectorLayer(ChinaURL, {
195+
cacheEnabled: false,
196+
serverCartoCSSStyle: false
197+
}).addTo(map);
198+
setTimeout(function () {
199+
expect(tileVectorLayer).not.toBeNull();
200+
var nameArray = tileVectorLayer.getDataLayerNames();
201+
expect(nameArray).not.toBeNull();
202+
expect(nameArray.length).toEqual(19);
203+
map.removeLayer(tileVectorLayer);
204+
done();
205+
}, 5000);
206+
});
207+
208+
it('_extendStyle', function (done) {
209+
var tileVectorLayer = L.supermap.tiledVectorLayer(ChinaURL, {
210+
cacheEnabled: false,
211+
serverCartoCSSStyle: false
212+
}).addTo(map);
213+
setTimeout(function () {
214+
expect(tileVectorLayer).not.toBeNull();
215+
var style = tileVectorLayer.vectorTileLayerStyles['China_Capital_pt@China'];
216+
var result1 = tileVectorLayer._extendStyle(style, "POINT");
217+
expect(result1).not.toBeNull();
218+
var result2 = tileVectorLayer._extendStyle(style, "LINE");
219+
expect(result2).not.toBeNull();
220+
var result3 = tileVectorLayer._extendStyle(style, "TEXT");
221+
expect(result3).not.toBeNull();
222+
var result4 = tileVectorLayer._extendStyle(style, "TEXT1");
223+
expect(result4).not.toBeNull();
224+
map.removeLayer(tileVectorLayer);
225+
done();
226+
}, 5000);
227+
});
228+
229+
153230
function initClientCssStr() {
154231
var cartoCss = "@waterColor:rgb(109,183,255);" +
155232
"@roadColora:rgb(100,100,100);" +
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
var PointSymbolizer = require('../../../../src/leaflet/overlay/vectortile/PointSymbolizer').PointSymbolizer;
2+
var SVGRenderer = require('../../../../src/leaflet/overlay/vectortile/SVGRenderer').SVGRenderer;
3+
var img = require('../../../resources/img/baiduTileTest.png');
4+
5+
describe('leaflet_PointSymbolizer', function () {
6+
var testDiv, map;
7+
beforeAll(function () {
8+
testDiv = window.document.createElement("div");
9+
testDiv.setAttribute("id", "map");
10+
testDiv.style.styleFloat = "left";
11+
testDiv.style.marginLeft = "8px";
12+
testDiv.style.marginTop = "50px";
13+
testDiv.style.width = "400px";
14+
testDiv.style.height = "400px";
15+
window.document.body.appendChild(testDiv);
16+
map = L.map('map', {
17+
center: [39, 89, 116.34],
18+
zoom: 10
19+
});
20+
});
21+
afterAll(function () {
22+
window.document.body.removeChild(testDiv);
23+
});
24+
25+
it('initialize', function () {
26+
var feature1 = {
27+
geometry: [{x: 10, y: 10, type: "Point"}],
28+
id: "1",
29+
type: "Feature",
30+
properties: {
31+
CAP_POP: "2207718.0",
32+
SMLIBTILEID: "1",
33+
COUNTRY_CH: "巴西",
34+
CAPITAL_EN: "Brasilia",
35+
POP: "2207718.0",
36+
CAPITAL_CH: "巴西利亚",
37+
SMID: "1",
38+
COUNTRY: "巴西",
39+
CAPITAL_LO: "Brasília",
40+
COUNTRY_EN: "Brazil",
41+
USERID: "0",
42+
SMGEOMETRYSIZE: "16",
43+
SMY: "-15.792110943058866",
44+
CAPITAL: "巴西利亚",
45+
SMX: "-47.8977476573595",
46+
SMUSERID: "0"
47+
}
48+
};
49+
var feature2 = {
50+
geometry: [
51+
[{x: -10, y: -15, type: "Point"}],
52+
[{x: -100, y: 50, type: "Point"}]],
53+
id: "1",
54+
type: "Feature",
55+
properties: {
56+
CAP_POP: "2207718.0",
57+
SMLIBTILEID: "1",
58+
COUNTRY_CH: "巴西test",
59+
CAPITAL_EN: "Brasilia",
60+
POP: "2207718.0",
61+
CAPITAL_CH: "巴西利亚test",
62+
SMID: "1",
63+
COUNTRY: "巴西",
64+
CAPITAL_LO: "Brasília",
65+
COUNTRY_EN: "Brazil",
66+
USERID: "0",
67+
SMGEOMETRYSIZE: "16",
68+
SMY: "-15.792110943058866",
69+
CAPITAL: "巴西利亚",
70+
SMX: "-47.8977476573595",
71+
SMUSERID: "0"
72+
}
73+
};
74+
var pointSymbolizer1 = new PointSymbolizer(feature1);
75+
var pointSymbolizer2 = new PointSymbolizer(feature2);
76+
expect(pointSymbolizer1).not.toBeNull();
77+
expect(pointSymbolizer1.properties).not.toBeNull();
78+
expect(pointSymbolizer1.type).toEqual("Feature");
79+
expect(pointSymbolizer1._empty).not.toBeNull();
80+
expect(pointSymbolizer1._point.x).toEqual(10);
81+
expect(pointSymbolizer1._point.y).toEqual(10);
82+
expect(pointSymbolizer2).not.toBeNull();
83+
expect(pointSymbolizer2.properties).not.toBeNull();
84+
expect(pointSymbolizer2.type).toEqual("Feature");
85+
expect(pointSymbolizer2._empty).not.toBeNull();
86+
expect(pointSymbolizer2._point.x).toEqual(-10);
87+
expect(pointSymbolizer2._point.y).toEqual(-15);
88+
});
89+
90+
it('updateStyle_svgRenderer', function () {
91+
var svgRenderer = new SVGRenderer({x: 1686, y: 755, Z: 10}, {x: 256, y: 256});
92+
var feature = {
93+
geometry: [{x: 10, y: 10, type: "Point"}],
94+
type: "Feature",
95+
properties: {
96+
texts: ["test"]
97+
}
98+
};
99+
var style = {
100+
interactive: true,
101+
};
102+
var pointSymbolizer1 = new PointSymbolizer(feature);
103+
spyOn(pointSymbolizer1, '_updateBounds').and.callThrough();
104+
pointSymbolizer1.render(svgRenderer, style);
105+
pointSymbolizer1.updateStyle(svgRenderer, style);
106+
expect(pointSymbolizer1._updateBounds).toHaveBeenCalled();
107+
});
108+
109+
it('_getImage_Null', function () {
110+
var svgRenderer = new SVGRenderer({x: 1686, y: 755, Z: 10}, {x: 256, y: 256});
111+
var feature = {
112+
geometry: [{x: 10, y: 10, type: "Point"}],
113+
type: "Feature",
114+
properties: {
115+
texts: ["test"]
116+
}
117+
};
118+
var style1 = {
119+
interactive: true,
120+
};
121+
var pointSymbolizer = new PointSymbolizer(feature);
122+
pointSymbolizer.render(svgRenderer, style1);
123+
pointSymbolizer.updateStyle(svgRenderer, style1);
124+
var img = pointSymbolizer._getImage();
125+
expect(img).toBeNull();
126+
});
127+
128+
it('_getImage', function () {
129+
var svgRenderer = new SVGRenderer({x: 1686, y: 755, Z: 10}, {x: 256, y: 256});
130+
var feature = {
131+
geometry: [{x: 10, y: 10, type: "Point"}],
132+
type: "Feature",
133+
properties: {
134+
texts: ["test"]
135+
}
136+
};
137+
var style2 = {
138+
interactive: true,
139+
iconUrl: img.src
140+
};
141+
var pointSymbolizer = new PointSymbolizer(feature);
142+
pointSymbolizer.render(svgRenderer, style2);
143+
pointSymbolizer.updateStyle(svgRenderer, style2);
144+
var image = pointSymbolizer._getImage();
145+
expect(image).not.toBeNull();
146+
expect(image.currentSrc).toContain("data:image/png");
147+
});
148+
149+
});

0 commit comments

Comments
 (0)