Skip to content

Commit efbc0e4

Browse files
committed
补充UT。
1 parent a7a01bc commit efbc0e4

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
require('../../../src/leaflet/core/NonEarthCRS');
2+
3+
describe('leaflet_NonEarthCRS', function () {
4+
it('initialize', function () {
5+
var bounds = L.bounds([-180, -90], [180, 90]);
6+
var nonProjection = L.Projection.NonProjection(bounds);
7+
expect(nonProjection).not.toBeNull();
8+
expect(nonProjection.bounds).not.toBeNull();
9+
expect(nonProjection.bounds.max.x).toEqual(180);
10+
expect(nonProjection.bounds.max.y).toEqual(90);
11+
expect(nonProjection.bounds.min.x).toEqual(-180);
12+
expect(nonProjection.bounds.min.y).toEqual(-90);
13+
});
14+
15+
it('project, unproject', function () {
16+
var bounds = L.bounds([-180, -90], [180, 90]);
17+
var latlng = L.latLng(50.5, 30.5);
18+
var nonProjection = L.Projection.NonProjection(bounds);
19+
var point = nonProjection.project(latlng);
20+
expect(point).not.toBeNull();
21+
expect(point.x).toEqual(30.5);
22+
expect(point.y).toEqual(50.5);
23+
var newLatlng = nonProjection.unproject(point);
24+
expect(newLatlng).not.toBeNull();
25+
expect(newLatlng.lat).toEqual(50.5);
26+
expect(newLatlng.lng).toEqual(30.5);
27+
});
28+
29+
it('CRS_initialize', function () {
30+
var options = {
31+
origin: {x: 30, y: 50},
32+
bounds: L.bounds([-180, -90], [180, 90]),
33+
resolutions: [1000, 100000]
34+
};
35+
var nonEarthCRS = L.CRS.NonEarthCRS(options);
36+
expect(nonEarthCRS).not.toBeNull();
37+
expect(nonEarthCRS.bounds).not.toBeNull();
38+
expect(nonEarthCRS.origin).toEqual(options.origin);
39+
expect(nonEarthCRS.projection.bounds).toEqual(nonEarthCRS.bounds);
40+
expect(nonEarthCRS.resolutions[0]).toEqual(1000);
41+
expect(nonEarthCRS.resolutions[1]).toEqual(100000);
42+
expect(nonEarthCRS.transformation).not.toBeNull();
43+
expect(nonEarthCRS._initHooksCalled).toBeTruthy();
44+
});
45+
46+
it('CRS_scale', function () {
47+
var options = {
48+
origin: {x: 30, y: 50},
49+
bounds: L.bounds([-180, -90], [180, 90]),
50+
resolutions: [100, 100000]
51+
};
52+
var nonEarthCRS = L.CRS.NonEarthCRS(options);
53+
var scale1 = nonEarthCRS.scale(0);
54+
expect(scale1).toEqual(0.01);
55+
nonEarthCRS.resolutions = [];
56+
var scale2 = nonEarthCRS.scale(1);
57+
expect(scale2).not.toBeNaN();
58+
});
59+
60+
it('CRS_zoom', function () {
61+
var options1 = {
62+
origin: {x: 30, y: 50},
63+
bounds: L.bounds([-180, -90], [180, 90]),
64+
resolutions: [100, 100000]
65+
};
66+
var nonEarthCRS1 = L.CRS.NonEarthCRS(options1);
67+
var bound1 = nonEarthCRS1.zoom(0.1);
68+
expect(bound1).toEqual(-1);
69+
70+
//此处待开发修改后打开
71+
// var options2 = {
72+
// origin: {x: 30, y: 50},
73+
// bounds: L.bounds([-180, -90], [180, 90]),
74+
// resolutions: [100, 100000]
75+
// };
76+
// var nonEarthCRS2 = L.CRS.NonEarthCRS(options2);
77+
// var bound2 = nonEarthCRS2.zoom(0.01);
78+
// expect(bound2).toEqual(0);
79+
80+
var options3 = {
81+
origin: {x: 30, y: 50},
82+
bounds: L.bounds([-128, -90], [128, 90]),
83+
};
84+
var nonEarthCRS3 = L.CRS.NonEarthCRS(options3);
85+
var bound3 = nonEarthCRS3.zoom(10);
86+
expect(bound3).toEqual(10);
87+
});
88+
89+
it('CRS_distance', function () {
90+
var latlng1 = L.latLng(50.5, 30.5);
91+
var latlng2 = L.latLng(40, 60.5);
92+
var options = {
93+
origin: {x: 30, y: 50},
94+
bounds: L.bounds([-180, -90], [180, 90]),
95+
resolutions: [100, 100000]
96+
};
97+
var nonEarthCRS = L.CRS.NonEarthCRS(options);
98+
var distance = nonEarthCRS.distance(latlng1, latlng2);
99+
expect(distance).not.toBeNaN();
100+
});
101+
});

test/test-main-leaflet.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,6 @@ require('./leaflet/mapping/WebMapSpec.js');
5555

5656
/*leaflet -- control*/
5757
require('./leaflet/control/ChangeTileVersionSpec.js');
58+
59+
/*leaflet -- core*/
60+
require('./leaflet/core/NonEarthCRSSpec.js');

0 commit comments

Comments
 (0)