Skip to content

Commit 816615a

Browse files
补充UT
1 parent 6d26323 commit 816615a

File tree

4 files changed

+99
-3
lines changed

4 files changed

+99
-3
lines changed
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
import {graphicLayer} from '../../../../src/leaflet/overlay/GraphicLayer';
2+
import {tiledMapLayer} from '../../../../src/leaflet/mapping/TiledMapLayer';
3+
import {graphic} from '../../../../src/leaflet/overlay/graphic/Graphic';
4+
import {cloverStyle} from '../../../../src/leaflet/overlay/graphic/CloverStyle';
5+
6+
var url = "http://supermapiserver:8090/iserver/services/map-world/rest/maps/World";
7+
describe('leaflet_CloverStyle', () => {
8+
var originalTimeout;
9+
var testDiv, map;
10+
beforeAll(() => {
11+
testDiv = window.document.createElement("div");
12+
testDiv.setAttribute("id", "map");
13+
testDiv.style.styleFloat = "left";
14+
testDiv.style.marginLeft = "8px";
15+
testDiv.style.marginTop = "50px";
16+
testDiv.style.width = "500px";
17+
testDiv.style.height = "500px";
18+
window.document.body.appendChild(testDiv);
19+
map = L.map('map', {
20+
preferCanvas: true,
21+
crs: L.CRS.EPSG4326,
22+
center: {lon: 0, lat: 0},
23+
maxZoom: 18,
24+
zoom: 1
25+
});
26+
tiledMapLayer(url).addTo(map);
27+
});
28+
beforeEach(() => {
29+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
30+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
31+
});
32+
afterEach(() => {
33+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
34+
});
35+
afterAll(() => {
36+
map.remove();
37+
window.document.body.removeChild(testDiv);
38+
});
39+
40+
it('initialize, getStyle', (done) => {
41+
var count = 6;
42+
var graphics = [];
43+
var e = 45;
44+
var clovers = [];
45+
var radius = [10, 14, 18];
46+
var styles = [{angle: 60, count: 3}, {angle: 45, count: 4}, {angle: 30, count: 6}];
47+
const randCount = 9;
48+
for (var i = 0; i < radius.length; i++) {
49+
for (var j = 0; j < styles.length; j++) {
50+
clovers.push(cloverStyle({
51+
radius: radius[i],
52+
angle: styles[j].angle,
53+
count: styles[j].count,
54+
color: "rgba(0,166,0,1)",
55+
fillColor: "rgba(0,200,0,0.6)",
56+
fillOpacity: 1,
57+
fill: true
58+
}));
59+
}
60+
}
61+
//设置每个点的经纬度和传入三叶草样式
62+
for (var i = 0; i < count; ++i) {
63+
var coordinates = [2 * e * Math.random() - e, 2 * e * Math.random() - e];
64+
graphics[i] = graphic({
65+
latlng: L.latLng(coordinates[0], coordinates[1]),
66+
style: clovers[Math.floor(Math.random() * randCount)].getStyle()
67+
});
68+
}
69+
//将三叶草要素风格画在地图上
70+
var layer = graphicLayer(graphics).addTo(map);
71+
72+
setTimeout(() => {
73+
expect(layer.graphics.length).toEqual(count);
74+
for (var i = 0; i < layer.graphics.length; i++) {
75+
expect(layer.graphics[i]._style).not.toBeNull();
76+
expect(layer.graphics[i]._latlng).not.toBeNull();
77+
expect(layer.graphics[i]._latlng.lat).not.toBeNull();
78+
expect(layer.graphics[i]._latlng.lng).not.toBeNull();
79+
}
80+
//map.remove()时,canvas渲染的场景下render会先移除canvas的ctx,而path的移除会有重绘操作。
81+
//从而引起刷新延迟会报错,故在此移除重绘
82+
layer.on('remove', () => {
83+
var requestAnimId = map.getRenderer(layer)._redrawRequest;
84+
(requestAnimId != null) && L.Util.cancelAnimFrame(requestAnimId);
85+
done();
86+
});
87+
layer.remove();
88+
done();
89+
}, 1000)
90+
});
91+
});
92+

test/openlayers/overlay/GraphicSpec.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import ol from 'openlayers';
2+
import {CloverShape} from '../../../src/openlayers/overlay/graphic/CloverShape';
23
import {Graphic} from '../../../src/openlayers/overlay/Graphic';
34
import {MapService} from '../../../src/openlayers/services/MapService';
45
import {TileSuperMapRest} from '../../../src/openlayers/mapping/TileSuperMapRest';
@@ -162,6 +163,7 @@ describe('openlayers_GraphicLayer', () => {
162163
done();
163164
}, 1000)
164165
});
166+
165167
it('CloverShape', (done) => {
166168
spyOn(FetchRequest, 'commit').and.callFake(() => {
167169
return Promise.resolve(new Response(escapedJson));
@@ -183,7 +185,7 @@ describe('openlayers_GraphicLayer', () => {
183185
source: new TileSuperMapRest(options)
184186
});
185187
map.addLayer(layer);
186-
var cloverShapeStyle = new ol.style.CloverShape({
188+
var cloverShapeStyle = new CloverShape({
187189
radius: 20,
188190
angle: 30,
189191
count: 3,

test/openlayers/overlay/theme/GeoFeatureSpec.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import ol from 'openlayers';
22
import {GeoFeature} from '../../../../src/openlayers/overlay/theme/GeoFeature';
3+
import {TileSuperMapRest} from '../../../../src/openlayers/mapping/TileSuperMapRest';
34

45
describe('openlayers_GeoFeature', () => {
56
var originalTimeout, map, testDiv;
@@ -24,7 +25,7 @@ describe('openlayers_GeoFeature', () => {
2425
})
2526
});
2627
var layer = new ol.layer.Tile({
27-
source: new ol.source.TileSuperMapRest({
28+
source: new TileSuperMapRest({
2829
url: baseUrl
2930
})
3031
});

test/test-main-leaflet.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import './leaflet/overlay/RangeThemeLayerSpec.js';
2222
import './leaflet/overlay/RankSymbolThemeLayerSpec.js';
2323
import './leaflet/overlay/TileVectorLayerSpec.js';
2424
import './leaflet/overlay/UniqueThemeLayerSpec.js';
25+
import './leaflet/overlay/graphic/CloverStyleSpec';
2526
import './leaflet/overlay/vectortile/PointSymbolizerSpec.js';
2627
import './leaflet/overlay/vectortile/TextSymbolizerSpec.js';
2728

@@ -59,4 +60,4 @@ import './leaflet/services/SurfaceAnalysisSpec.js';
5960
import './leaflet/services/TerrainCurvatureCalculateSpec.js';
6061
import './leaflet/services/ThemeServiceSpec.js';
6162
import './leaflet/services/ThiessenAnalysisSpec.js';
62-
import './leaflet/services/TrafficTransferAnalystServiceSpec.js';
63+
import './leaflet/services/TrafficTransferAnalystServiceSpec.js';

0 commit comments

Comments
 (0)