Skip to content

Commit 2e21e62

Browse files
update ut common handler.js
1 parent 5640c5b commit 2e21e62

File tree

2 files changed

+218
-0
lines changed

2 files changed

+218
-0
lines changed
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
import { Storage } from '../../../../src/common/overlay/levelRenderer/Storage';
2+
import { Painter } from '../../../../src/common/overlay/levelRenderer/Painter';
3+
import { Handler } from '../../../../src/common/overlay/levelRenderer/Handler';
4+
5+
describe('Handler', () => {
6+
var testDiv;
7+
var storage;
8+
var painter;
9+
var event = {
10+
isTrusted: true,
11+
_stopped: true,
12+
altKey: false,
13+
altitudeAngle: 1.5707963267948966,
14+
azimuthAngle: 0,
15+
bubbles: true,
16+
button: 0,
17+
buttons: 0,
18+
cancelBubble: false,
19+
cancelable: true,
20+
clientX: 613,
21+
clientY: 353,
22+
composed: true,
23+
ctrlKey: false,
24+
currentTarget: null,
25+
defaultPrevented: false,
26+
detail: 1,
27+
eventPhase: 0,
28+
fromElement: null,
29+
height: 1,
30+
isPrimary: false,
31+
layerX: 613,
32+
layerY: 353,
33+
metaKey: false,
34+
movementX: 0,
35+
movementY: 0,
36+
offsetX: 723,
37+
offsetY: 442,
38+
pageX: 613,
39+
pageY: 353,
40+
pointerId: 1,
41+
pointerType: "mouse",
42+
pressure: 0,
43+
relatedTarget: null,
44+
returnValue: true,
45+
screenX: 1443,
46+
screenY: 502,
47+
shiftKey: false,
48+
InputDeviceCapabilities: { firesTouchEvents: false },
49+
srcElement: {},
50+
tangentialPressure: 0,
51+
target: {},
52+
tiltX: 0,
53+
tiltY: 0,
54+
timeStamp: 39267,
55+
toElement: null,
56+
twist: 0,
57+
type: "click",
58+
which: 1,
59+
width: 1,
60+
x: 613,
61+
y: 353
62+
}
63+
beforeAll(() => {
64+
testDiv = window.document.createElement("div");
65+
testDiv.setAttribute("id", "group");
66+
testDiv.style.styleFloat = "left";
67+
testDiv.style.marginLeft = "8px";
68+
testDiv.style.marginTop = "50px";
69+
testDiv.style.width = "400px";
70+
testDiv.style.height = "400px";
71+
testDiv.style.border = "1px solid #000000";
72+
window.document.body.appendChild(testDiv);
73+
storage = new Storage();
74+
painter = new Painter(testDiv, storage);
75+
});
76+
afterAll(() => {
77+
window.document.body.removeChild(testDiv);
78+
});
79+
it('trigger resize', () => {
80+
var handler = new Handler(testDiv, storage, painter);
81+
82+
handler.trigger('resize', event);
83+
expect(storage).not.toBeNull();
84+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
85+
handler.destroy();
86+
expect(handler._findHover).toBeNull();
87+
expect(handler._mouseY).toBeNull();
88+
expect(handler._lastY).toBeNull();
89+
});
90+
91+
it('trigger click', () => {
92+
var handler = new Handler(testDiv, storage, painter);
93+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
94+
handler.trigger('click', event);
95+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
96+
expect(storage).not.toBeNull();
97+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
98+
handler.destroy();
99+
expect(handler._findHover).toBeNull();
100+
expect(handler._mouseY).toBeNull();
101+
expect(handler._lastY).toBeNull();
102+
});
103+
104+
it('trigger dblclick', () => {
105+
var handler = new Handler(testDiv, storage, painter);
106+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
107+
handler.trigger('dblclick', event);
108+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
109+
expect(storage).not.toBeNull();
110+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
111+
handler.destroy();
112+
expect(handler._findHover).toBeNull();
113+
expect(handler._mouseY).toBeNull();
114+
expect(handler._lastY).toBeNull();
115+
});
116+
117+
it('trigger mousewheel', () => {
118+
var handler = new Handler(testDiv, storage, painter);
119+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
120+
handler.trigger('mousewheel', event);
121+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
122+
expect(storage).not.toBeNull();
123+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
124+
handler.destroy();
125+
expect(handler._findHover).toBeNull();
126+
expect(handler._mouseY).toBeNull();
127+
expect(handler._lastY).toBeNull();
128+
});
129+
130+
it('trigger mousemove', () => {
131+
var handler = new Handler(testDiv, storage, painter);
132+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
133+
handler.trigger('mousemove', event);
134+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
135+
expect(storage).not.toBeNull();
136+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
137+
handler.destroy();
138+
expect(handler._findHover).toBeNull();
139+
expect(handler._mouseY).toBeNull();
140+
expect(handler._lastY).toBeNull();
141+
});
142+
143+
it('trigger mousemove after mousedown', () => {
144+
var handler = new Handler(testDiv, storage, painter);
145+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
146+
handler.trigger('mousedown', event);
147+
handler.trigger('mousemove', event);
148+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
149+
expect(storage).not.toBeNull();
150+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
151+
handler.destroy();
152+
expect(handler._findHover).toBeNull();
153+
expect(handler._mouseY).toBeNull();
154+
expect(handler._lastY).toBeNull();
155+
});
156+
157+
it('trigger mouseout', () => {
158+
var handler = new Handler(testDiv, storage, painter);
159+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
160+
handler.trigger('mouseout', event);
161+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
162+
expect(storage).not.toBeNull();
163+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
164+
handler.destroy();
165+
expect(handler._findHover).toBeNull();
166+
expect(handler._mouseY).toBeNull();
167+
expect(handler._lastY).toBeNull();
168+
});
169+
170+
it('trigger mouseup', () => {
171+
var handler = new Handler(testDiv, storage, painter);
172+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
173+
handler.trigger('mouseup', event);
174+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
175+
expect(storage).not.toBeNull();
176+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
177+
handler.destroy();
178+
expect(handler._findHover).toBeNull();
179+
expect(handler._mouseY).toBeNull();
180+
expect(handler._lastY).toBeNull();
181+
});
182+
183+
it('trigger mousedown', () => {
184+
var handler = new Handler(testDiv, storage, painter);
185+
spyOn(handler, '_zrenderEventFixed').and.callThrough();
186+
handler.trigger('mousedown', event);
187+
expect(handler._zrenderEventFixed).toHaveBeenCalled();
188+
expect(storage).not.toBeNull();
189+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
190+
handler.destroy();
191+
expect(handler._findHover).toBeNull();
192+
expect(handler._mouseY).toBeNull();
193+
expect(handler._lastY).toBeNull();
194+
});
195+
196+
it('trigger touchstart', () => {
197+
var handler = new Handler(testDiv, storage, painter);
198+
handler.trigger('touchstart', event);
199+
expect(storage).not.toBeNull();
200+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
201+
handler.destroy();
202+
expect(handler._findHover).toBeNull();
203+
expect(handler._mouseY).toBeNull();
204+
expect(handler._lastY).toBeNull();
205+
});
206+
207+
it('trigger touchend', () => {
208+
var handler = new Handler(testDiv, storage, painter);
209+
handler.trigger('touchend', event);
210+
expect(storage).not.toBeNull();
211+
expect(handler.CLASS_NAME).toEqual("SuperMap.LevelRenderer.Handler");
212+
handler.destroy();
213+
expect(handler._findHover).toBeNull();
214+
expect(handler._mouseY).toBeNull();
215+
expect(handler._lastY).toBeNull();
216+
});
217+
});

test/test-main-common.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ import './common/overlay/levelRenderer/StorageSpec.js';
172172
import './common/overlay/levelRenderer/TransformableSpec.js';
173173
import './common/overlay/levelRenderer/UtilSpec.js';
174174
import './common/overlay/levelRenderer/VectorSpec.js';
175+
import './common/overlay/levelRenderer/HandlerSpec.js';
175176
import './common/overlay/GraphSpec';
176177
import './common/overlay/KnowledgeGraphSpec.js'
177178

0 commit comments

Comments
 (0)