mirror of
https://github.com/youzan/vant.git
synced 2025-10-19 18:14:13 +00:00
[Improvement] Slider: add test cases (#1192)
This commit is contained in:
36
test/utils.js
Normal file
36
test/utils.js
Normal file
@@ -0,0 +1,36 @@
|
||||
// Trigger pointer/touch event
|
||||
export function trigger(wrapper, eventName, x = 0, y = 0) {
|
||||
const el = wrapper.element ? wrapper.element : wrapper;
|
||||
const touch = {
|
||||
identifier: Date.now(),
|
||||
target: el,
|
||||
pageX: x,
|
||||
pageY: y,
|
||||
clientX: x,
|
||||
clientY: y,
|
||||
radiusX: 2.5,
|
||||
radiusY: 2.5,
|
||||
rotationAngle: 10,
|
||||
force: 0.5
|
||||
};
|
||||
|
||||
const event = document.createEvent('CustomEvent');
|
||||
event.initCustomEvent(eventName, true, true, {});
|
||||
event.touches = [touch];
|
||||
event.targetTouches = [touch];
|
||||
event.changedTouches = [touch];
|
||||
event.clientX = x;
|
||||
event.clientY = y;
|
||||
|
||||
el.dispatchEvent(event);
|
||||
}
|
||||
|
||||
// simulate drag gesture
|
||||
export function triggerDrag(el, x = 0, y = 0) {
|
||||
trigger(el, 'touchstart', 0, 0);
|
||||
trigger(el, 'touchmove', x / 4, y / 4);
|
||||
trigger(el, 'touchmove', x / 3, y / 3);
|
||||
trigger(el, 'touchmove', x / 2, y / 2);
|
||||
trigger(el, 'touchmove', x, y);
|
||||
trigger(el, 'touchend', x, y);
|
||||
}
|
Reference in New Issue
Block a user