From db44392bda22f3d5319d2880c992f76d27d2a60c Mon Sep 17 00:00:00 2001 From: GeoSot Date: Tue, 12 Oct 2021 15:48:19 +0300 Subject: [PATCH] Swipe: add test to ensure that it ignores `pinch` events (#35161) --- js/src/util/swipe.js | 2 +- js/tests/unit/util/swipe.spec.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) 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()