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)
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