diff --git a/js/src/util/swipe.js b/js/src/util/swipe.js index 321572eb8b..a78f598d9d 100644 --- a/js/src/util/swipe.js +++ b/js/src/util/swipe.js @@ -1,6 +1,7 @@ import EventHandler from '../dom/event-handler' import { execute, typeCheckConfig } from './index' +const NAME = 'swipe' const EVENT_KEY = '.bs.swipe' const EVENT_TOUCHSTART = `touchstart${EVENT_KEY}` const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}` @@ -11,7 +12,6 @@ const POINTER_TYPE_TOUCH = 'touch' const POINTER_TYPE_PEN = 'pen' const CLASS_NAME_POINTER_EVENT = 'pointer-event' const SWIPE_THRESHOLD = 40 -const NAME = 'swipe' const Default = { leftCallback: null, diff --git a/js/tests/unit/util/swipe.spec.js b/js/tests/unit/util/swipe.spec.js index 5690319ffc..d6aeb17f6a 100644 --- a/js/tests/unit/util/swipe.spec.js +++ b/js/tests/unit/util/swipe.spec.js @@ -151,6 +151,25 @@ describe('Swipe', () => { }) describe('Functionality on PointerEvents', () => { + it('should not allow pinch with touch events', () => { + Simulator.setType('touch') + clearPointerEvents() + deleteDocumentElementOntouchstart() + + const swipe = new Swipe(swipeEl) + spyOn(swipe, '_handleSwipe') + + mockSwipeGesture(swipeEl, { + pos: [300, 10], + deltaX: -300, + deltaY: 0, + touches: 2 + }) + + restorePointerEvents() + expect(swipe._handleSwipe).not.toHaveBeenCalled() + }) + it('should allow swipeRight and call "rightCallback" with pointer events', done => { if (!supportPointerEvent) { expect().nothing()