Skip to content

Commit c96a853

Browse files
committed
补充common、openlayers下的UT。review by chenmy
1 parent 6daf11f commit c96a853

File tree

10 files changed

+1662
-1
lines changed

10 files changed

+1662
-1
lines changed

test/common/overlay/feature/ShapeFactorySpec.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
require('../../../../src/common/overlay/feature/ShapeFactory');
22
require('../../../resources/img/baiduTileTest.png');
33
describe('ShapeFactory', function () {
4-
4+
55
//构建图形工厂对象
66
it('constructor, destroy', function () {
77
var shapeParameters_point = new SuperMap.Feature.ShapeParameters.Point(0, 0);
@@ -26,6 +26,7 @@ describe('ShapeFactory', function () {
2626
expect(shape.id).not.toBeNull();
2727
expect(shape.style.x).toEqual(0);
2828
expect(shape.style.y).toEqual(0);
29+
shapeParameters_point.destroy();
2930
shapeFactory.destroy();
3031
});
3132

@@ -41,6 +42,7 @@ describe('ShapeFactory', function () {
4142
expect(shape.style.pointList.length).toEqual(3);
4243
expect(shape.style.pointList[2][0]).toEqual(25);
4344
expect(shape.style.pointList[2][1]).toEqual(30);
45+
shapeParameters_Line.destroy();
4446
shapeFactory.destroy();
4547
});
4648

@@ -56,6 +58,7 @@ describe('ShapeFactory', function () {
5658
expect(shape.style.pointList.length).toEqual(3);
5759
expect(shape.style.pointList[2][0]).toEqual(25);
5860
expect(shape.style.pointList[2][1]).toEqual(30);
61+
shapeParameters_Polygon.destroy();
5962
shapeFactory.destroy();
6063
});
6164

@@ -71,6 +74,7 @@ describe('ShapeFactory', function () {
7174
expect(shape.style.y).toEqual(0);
7275
expect(shape.style.height).toEqual(10);
7376
expect(shape.style.width).toEqual(10);
77+
shapeParameters_Rectangle.destroy();
7478
shapeFactory.destroy();
7579
});
7680

@@ -87,6 +91,7 @@ describe('ShapeFactory', function () {
8791
expect(shape.style.r).toEqual(10);
8892
expect(shape.style.startAngle).toEqual(0);
8993
expect(shape.style.endAngle).toEqual(60);
94+
shapeParameters_Sector.destroy();
9095
shapeFactory.destroy();
9196
});
9297

@@ -101,6 +106,7 @@ describe('ShapeFactory', function () {
101106
expect(shape.style.x).toEqual(0);
102107
expect(shape.style.y).toEqual(0);
103108
expect(shape.style.text).toEqual("labelTest");
109+
shapeParameters_Label.destroy();
104110
shapeFactory.destroy();
105111
});
106112

@@ -124,6 +130,7 @@ describe('ShapeFactory', function () {
124130
expect(shape.sWidth).toEqual(150);
125131
expect(shape.sx).toEqual(50);
126132
expect(shape.sy).toEqual(50);
133+
shapeParameters_Image.destroy();
127134
shapeFactory.destroy();
128135
});
129136

@@ -138,6 +145,7 @@ describe('ShapeFactory', function () {
138145
expect(shape.style.x).toEqual(50);
139146
expect(shape.style.y).toEqual(50);
140147
expect(shape.style.r).toEqual(30);
148+
shapeParameters_Circle.destroy();
141149
shapeFactory.destroy();
142150
});
143151

Lines changed: 293 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
require('../../../../src/common/overlay/levelRenderer/Easing');
2+
3+
describe('Easing', function () {
4+
var originalTimeout;
5+
beforeEach(function () {
6+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
7+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
8+
});
9+
afterEach(function () {
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
11+
});
12+
13+
// 线性
14+
it('init_Linear', function () {
15+
var init = new SuperMap.LevelRenderer.Animation.easing();
16+
var k = init.Linear(10);
17+
expect(init).not.toBeNull();
18+
expect(k).toEqual(10);
19+
init.destroy();
20+
});
21+
22+
// 二次方的缓动(t^2)
23+
it('QuadraticIn', function () {
24+
var init = new SuperMap.LevelRenderer.Animation.easing();
25+
var k = init.QuadraticIn(10);
26+
expect(k).toEqual(100);
27+
});
28+
29+
it('QuadraticOut', function () {
30+
var init = new SuperMap.LevelRenderer.Animation.easing();
31+
var k = init.QuadraticOut(10);
32+
expect(k).toEqual(-80);
33+
});
34+
35+
it('QuadraticInOut_k = 1', function () {
36+
var init = new SuperMap.LevelRenderer.Animation.easing();
37+
var k = init.QuadraticInOut(1);
38+
expect(k).toEqual(1);
39+
});
40+
41+
it('QuadraticInOut_k = -1', function () {
42+
var init = new SuperMap.LevelRenderer.Animation.easing();
43+
var k = init.QuadraticInOut(-1);
44+
expect(k).toEqual(2);
45+
});
46+
47+
// 三次方的缓动(t^3)
48+
it('CubicIn', function () {
49+
var init = new SuperMap.LevelRenderer.Animation.easing();
50+
var k = init.CubicIn(3);
51+
expect(k).toEqual(27);
52+
});
53+
it('CubicOut', function () {
54+
var init = new SuperMap.LevelRenderer.Animation.easing();
55+
var k = init.CubicOut(3);
56+
expect(k).toEqual(9);
57+
});
58+
it('CubicInOut_k = 2', function () {
59+
var init = new SuperMap.LevelRenderer.Animation.easing();
60+
var k = init.CubicInOut(2);
61+
expect(k).toEqual(5);
62+
});
63+
it('CubicInOut_k = -1', function () {
64+
var init = new SuperMap.LevelRenderer.Animation.easing();
65+
var k = init.CubicInOut(-1);
66+
expect(k).toEqual(-4);
67+
});
68+
69+
// 四次方的缓动(t^4)
70+
it('QuarticIn', function () {
71+
var init = new SuperMap.LevelRenderer.Animation.easing();
72+
var k = init.QuarticIn(2);
73+
expect(k).toEqual(16);
74+
});
75+
it('QuarticOut', function () {
76+
var init = new SuperMap.LevelRenderer.Animation.easing();
77+
var k = init.QuarticOut(3);
78+
expect(k).toEqual(-15);
79+
});
80+
81+
it('QuarticInOut_k = 2', function () {
82+
var init = new SuperMap.LevelRenderer.Animation.easing();
83+
var k = init.QuarticInOut(2);
84+
expect(k).toEqual(-7);
85+
});
86+
87+
it('QuarticInOut_k = -2', function () {
88+
var init = new SuperMap.LevelRenderer.Animation.easing();
89+
var k = init.QuarticInOut(-1);
90+
expect(k).toEqual(8);
91+
});
92+
93+
// 五次方的缓动(t^5)
94+
it('QuinticIn', function () {
95+
var init = new SuperMap.LevelRenderer.Animation.easing();
96+
var k = init.QuinticIn(2);
97+
expect(k).toEqual(32);
98+
});
99+
100+
it('QuinticOut', function () {
101+
var init = new SuperMap.LevelRenderer.Animation.easing();
102+
var k = init.QuinticOut(2);
103+
expect(k).toEqual(2);
104+
});
105+
106+
it('QuinticInOut_k = 2 ', function () {
107+
var init = new SuperMap.LevelRenderer.Animation.easing();
108+
var k = init.QuinticInOut(2);
109+
expect(k).toEqual(17);
110+
});
111+
it('QuinticInOut_k = -2 ', function () {
112+
var init = new SuperMap.LevelRenderer.Animation.easing();
113+
var k = init.QuinticInOut(-2);
114+
expect(k).toEqual(-512);
115+
});
116+
117+
// 正弦曲线的缓动(sin(t))
118+
it('SinusoidalIn', function () {
119+
var init = new SuperMap.LevelRenderer.Animation.easing();
120+
var k = init.SinusoidalIn(2);
121+
expect(k).toEqual(2);
122+
});
123+
it('SinusoidalOut', function () {
124+
var init = new SuperMap.LevelRenderer.Animation.easing();
125+
var k = init.SinusoidalOut(2);
126+
expect(k).toEqual(1.2246467991473532e-16);
127+
});
128+
it('SinusoidalInOut', function () {
129+
var init = new SuperMap.LevelRenderer.Animation.easing();
130+
var k = init.SinusoidalInOut(2);
131+
expect(k).toEqual(0);
132+
});
133+
134+
// 指数曲线的缓动(2^t)
135+
it('ExponentialIn', function () {
136+
var init = new SuperMap.LevelRenderer.Animation.easing();
137+
var k = init.ExponentialIn(2);
138+
expect(k).toEqual(1024);
139+
});
140+
it('ExponentialOut', function () {
141+
var init = new SuperMap.LevelRenderer.Animation.easing();
142+
var k = init.ExponentialOut(1);
143+
expect(k).toEqual(1);
144+
});
145+
it('ExponentialInOut_k = 0', function () {
146+
var init = new SuperMap.LevelRenderer.Animation.easing();
147+
var k = init.ExponentialInOut(0);
148+
expect(k).toEqual(0);
149+
});
150+
it('ExponentialInOut_k = 1', function () {
151+
var init = new SuperMap.LevelRenderer.Animation.easing();
152+
var k = init.ExponentialInOut(1);
153+
expect(k).toEqual(1);
154+
});
155+
it('ExponentialInOut_k = 10', function () {
156+
var init = new SuperMap.LevelRenderer.Animation.easing();
157+
var k = init.ExponentialInOut(10);
158+
expect(k).toEqual(1);
159+
});
160+
it('ExponentialInOut_k = -1', function () {
161+
var init = new SuperMap.LevelRenderer.Animation.easing();
162+
var k = init.ExponentialInOut(-1);
163+
expect(k).toEqual(4.656612873077393e-10);
164+
});
165+
166+
// 圆形曲线的缓动(sqrt(1-t^2))
167+
it('CircularIn', function () {
168+
var init = new SuperMap.LevelRenderer.Animation.easing();
169+
var k = init.CircularIn(1);
170+
expect(k).toEqual(1);
171+
});
172+
it('CircularOut', function () {
173+
var init = new SuperMap.LevelRenderer.Animation.easing();
174+
var k = init.CircularOut(2);
175+
expect(k).toEqual(0);
176+
});
177+
it('CircularInOut_k = 1', function () {
178+
var init = new SuperMap.LevelRenderer.Animation.easing();
179+
var k = init.CircularInOut(1);
180+
expect(k).toEqual(1);
181+
});
182+
it('CircularInOut_k = 0', function () {
183+
var init = new SuperMap.LevelRenderer.Animation.easing();
184+
var k = init.CircularInOut(0);
185+
expect(k).toEqual(-0);
186+
});
187+
188+
//创建类似于弹簧在停止前来回振荡的动画
189+
it('ElasticIn_k = 0', function () {
190+
var init = new SuperMap.LevelRenderer.Animation.easing();
191+
var k = init.ElasticIn(0);
192+
expect(k).toEqual(0);
193+
});
194+
it('ElasticIn_k = 1', function () {
195+
var init = new SuperMap.LevelRenderer.Animation.easing();
196+
var k = init.ElasticIn(1);
197+
expect(k).toEqual(1);
198+
});
199+
it('ElasticIn_k = 2', function () {
200+
var init = new SuperMap.LevelRenderer.Animation.easing();
201+
var k = init.ElasticIn(2);
202+
expect(k).toEqual(-1024);
203+
});
204+
it('ElasticOut_k = 0', function () {
205+
var init = new SuperMap.LevelRenderer.Animation.easing();
206+
var k = init.ElasticOut(0);
207+
expect(k).toEqual(0);
208+
});
209+
it('ElasticOut_k = 1', function () {
210+
var init = new SuperMap.LevelRenderer.Animation.easing();
211+
var k = init.ElasticOut(1);
212+
expect(k).toEqual(1);
213+
});
214+
it('ElasticOut_k = -1', function () {
215+
var init = new SuperMap.LevelRenderer.Animation.easing();
216+
var k = init.ElasticOut(-1);
217+
expect(k).toEqual(1025);
218+
});
219+
it('ElasticInOut_k = 0', function () {
220+
var init = new SuperMap.LevelRenderer.Animation.easing();
221+
var k = init.ElasticInOut(0);
222+
expect(k).toEqual(0);
223+
});
224+
it('ElasticInOut_k = 1', function () {
225+
var init = new SuperMap.LevelRenderer.Animation.easing();
226+
var k = init.ElasticInOut(1);
227+
expect(k).toEqual(1);
228+
});
229+
it('ElasticInOut_k = -1', function () {
230+
var init = new SuperMap.LevelRenderer.Animation.easing();
231+
var k = init.ElasticInOut(-1);
232+
expect(k).toEqual(-4.656612873077393e-10);
233+
});
234+
it('ElasticInOut_k = 10', function () {
235+
var init = new SuperMap.LevelRenderer.Animation.easing();
236+
var k = init.ElasticInOut(10);
237+
expect(k).toEqual(1);
238+
});
239+
240+
//在某一动画开始沿指示的路径进行动画处理前稍稍收回该动画的移动
241+
it('BackIn', function () {
242+
var init = new SuperMap.LevelRenderer.Animation.easing();
243+
var k = init.BackIn(10);
244+
expect(k).toEqual(2531.422);
245+
});
246+
it('BackOut', function () {
247+
var init = new SuperMap.LevelRenderer.Animation.easing();
248+
var k = init.BackOut(10);
249+
expect(k).toEqual(2108.2798);
250+
});
251+
it('BackInOut_k = 1', function () {
252+
var init = new SuperMap.LevelRenderer.Animation.easing();
253+
var k = init.BackInOut(1);
254+
expect(k).toEqual(1);
255+
});
256+
it('BackInOut_k = -2', function () {
257+
var init = new SuperMap.LevelRenderer.Animation.easing();
258+
var k = init.BackInOut(-10);
259+
expect(k).toEqual(-14898.6199);
260+
});
261+
262+
// 创建弹跳效果
263+
it('BounceIn', function () {
264+
var init = new SuperMap.LevelRenderer.Animation.easing();
265+
var k = init.BounceIn(2);
266+
expect(k).toEqual(-6.5625);
267+
});
268+
it('BounceOut_k = 0.7', function () {
269+
var init = new SuperMap.LevelRenderer.Animation.easing();
270+
var k = init.BounceOut(0.7);
271+
expect(k).toEqual(0.930625);
272+
});
273+
it('BounceOut_k = 0.8', function () {
274+
var init = new SuperMap.LevelRenderer.Animation.easing();
275+
var k = init.BounceOut(0.8);
276+
expect(k).toEqual(0.94);
277+
});
278+
it('BounceOut_k = 1', function () {
279+
var init = new SuperMap.LevelRenderer.Animation.easing();
280+
var k = init.BounceOut(1);
281+
expect(k).toEqual(1);
282+
});
283+
it('BounceInOut_k = -1', function () {
284+
var init = new SuperMap.LevelRenderer.Animation.easing();
285+
var k = init.BounceInOut(-1);
286+
expect(k).toEqual(-15.8125);
287+
});
288+
it('BounceInOut_k = 1', function () {
289+
var init = new SuperMap.LevelRenderer.Animation.easing();
290+
var k = init.BounceInOut(1);
291+
expect(k).toEqual(1);
292+
});
293+
});

0 commit comments

Comments
 (0)