mirror of
https://github.com/webslides/WebSlides.git
synced 2025-08-20 11:51:40 +02:00
Linting
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
import Touch from '../../src/js/plugins/touch';
|
||||
|
||||
// Copy of DOM.fireEvent, but using touch offets
|
||||
const fireEvent = (target, eventType, offsetX, offsetY, touches) => {
|
||||
const getEvent = (eventType, offsetX, offsetY, touches) => {
|
||||
const event = new CustomEvent(eventType);
|
||||
|
||||
event.offsetX = offsetX;
|
||||
event.offsetY = offsetY;
|
||||
event.touches = touches;
|
||||
|
||||
target.dispatchEvent(event);
|
||||
return event;
|
||||
};
|
||||
|
||||
beforeAll(() => {
|
||||
@@ -17,11 +18,9 @@ beforeAll(() => {
|
||||
|
||||
test('Touch utility', () => {
|
||||
// Overrides userAgent to force mobile detection
|
||||
const UAProp = Object.getOwnPropertyDescriptor(window.navigator.__proto__, 'userAgent');
|
||||
Object.getOwnPropertyDescriptor(window.navigator.__proto__, 'userAgent');
|
||||
Object.defineProperty(window.navigator, 'userAgent', {get: () => 'Android'});
|
||||
|
||||
const Touch = require('../../src/js/plugins/touch');
|
||||
|
||||
const ws = document.getElementById('webslides');
|
||||
const next = jest.fn();
|
||||
const prev = jest.fn();
|
||||
@@ -30,7 +29,7 @@ test('Touch utility', () => {
|
||||
let disabled = true;
|
||||
const webslides = {
|
||||
el: ws,
|
||||
isDisabled: () => {return disabled;},
|
||||
isDisabled: () => disabled,
|
||||
isMoving: false,
|
||||
isVertical: false,
|
||||
goNext: next,
|
||||
@@ -41,10 +40,10 @@ test('Touch utility', () => {
|
||||
}
|
||||
};
|
||||
|
||||
const touch = new Touch.default(webslides);
|
||||
fireEvent(document, 'touchstart', 200, 200, [1]);
|
||||
fireEvent(document, 'touchmove', 200, 400, [1]);
|
||||
fireEvent(document, 'touchend', 200, 200, [1]);
|
||||
const touch = new Touch(webslides);
|
||||
touch.onStart_(getEvent('touchstart', 200, 200, [1]));
|
||||
touch.onMove_(getEvent('touchstart', 200, 400, [1]));
|
||||
touch.onStop_(getEvent('touchstart', 200, 200, [1]));
|
||||
|
||||
expect(next).not.toBeCalled();
|
||||
expect(prev).not.toBeCalled();
|
||||
@@ -52,28 +51,30 @@ test('Touch utility', () => {
|
||||
|
||||
disabled = false;
|
||||
|
||||
fireEvent(document, 'touchstart', 800, 200, [1]);
|
||||
fireEvent(document, 'touchmove', 400, 200, [1]);
|
||||
fireEvent(document, 'touchend', 400, 200, [1]);
|
||||
touch.onStart_(getEvent('touchstart', 800, 200, [1]));
|
||||
touch.onMove_(getEvent('touchstart', 400, 400, [1]));
|
||||
touch.onStop_(getEvent('touchstart', 400, 200, [1]));
|
||||
|
||||
expect(next.mock.calls.length).toBe(1);
|
||||
expect(prev.mock.calls.length).toBe(0);
|
||||
expect(zoom.mock.calls.length).toBe(0);
|
||||
|
||||
fireEvent(document, 'touchstart', 200, 200, [1]);
|
||||
fireEvent(document, 'touchmove', 400, 200, [1]);
|
||||
fireEvent(document, 'touchend', 400, 200, [1]);
|
||||
touch.onStart_(getEvent('touchstart', 200, 200, [1]));
|
||||
touch.onMove_(getEvent('touchstart', 400, 200, [1]));
|
||||
touch.onStop_(getEvent('touchstart', 400, 200, [1]));
|
||||
|
||||
expect(next.mock.calls.length).toBe(1);
|
||||
expect(prev.mock.calls.length).toBe(1);
|
||||
expect(zoom.mock.calls.length).toBe(0);
|
||||
|
||||
fireEvent(document, 'touchstart', 200, 200, [{clientX: 100, clientY: 100}, {clientX: 400, clientY: 400}]);
|
||||
fireEvent(document, 'touchmove', 400, 200, [{clientX: 200, clientY: 200}, {clientX: 300, clientY: 300}]);
|
||||
fireEvent(document, 'touchend', 400, 200, [{clientX: 200, clientY: 200}, {clientX: 300, clientY: 300}]);
|
||||
touch.onStart_(getEvent('touchstart', 200, 200,
|
||||
[{clientX: 100, clientY: 100}, {clientX: 400, clientY: 400}]));
|
||||
touch.onMove_(getEvent('touchstart', 400, 200,
|
||||
[{clientX: 200, clientY: 200}, {clientX: 300, clientY: 300}]));
|
||||
touch.onStop_(getEvent('touchstart', 400, 200,
|
||||
[{clientX: 200, clientY: 200}, {clientX: 300, clientY: 300}]));
|
||||
|
||||
expect(next.mock.calls.length).toBe(1);
|
||||
expect(prev.mock.calls.length).toBe(1);
|
||||
expect(zoom.mock.calls.length).toBe(1);
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user