describe('zoomOnTouch (option)', () => { it('should zoom on touch by default', (done) => { const image = window.createImage(); const cropper = new Cropper(image, { ready() { if (window.PointerEvent) { const pointerDownEvent1 = window.createEvent('pointerdown'); const pointerDownEvent2 = window.createEvent('pointerdown'); const pointerMoveEvent1 = window.createEvent('pointermove'); const pointerMoveEvent2 = window.createEvent('pointermove'); pointerDownEvent1.pointerId = 1; pointerDownEvent1.pageX = 100; pointerDownEvent1.pageY = 100; pointerDownEvent2.pointerId = 2; pointerDownEvent2.pageX = 200; pointerDownEvent2.pageY = 200; pointerMoveEvent1.pointerId = 1; pointerMoveEvent1.pageX = 125; pointerMoveEvent1.pageY = 125; pointerMoveEvent2.pointerId = 2; pointerMoveEvent2.pageX = 175; pointerMoveEvent2.pageY = 175; cropper.cropper.dispatchEvent(pointerDownEvent1); cropper.cropper.dispatchEvent(pointerDownEvent2); cropper.cropper.dispatchEvent(pointerMoveEvent1); cropper.cropper.dispatchEvent(pointerMoveEvent2); } else { const touchStartEvent1 = window.createEvent('touchstart'); const touchStartEvent2 = window.createEvent('touchstart'); const touchMoveEvent1 = window.createEvent('touchmove'); const touchMoveEvent2 = window.createEvent('touchmove'); touchStartEvent1.changedTouches = { 0: { identifier: 1, pageX: 100, pageY: 100, }, length: 1, }; touchStartEvent2.changedTouches = { 0: { identifier: 2, pageX: 200, pageY: 200, }, length: 1, }; touchMoveEvent1.changedTouches = { 0: { identifier: 1, pageX: 125, pageY: 125, }, length: 1, }; touchMoveEvent2.changedTouches = { 0: { identifier: 2, pageX: 175, pageY: 175, }, length: 1, }; cropper.cropper.dispatchEvent(touchStartEvent1); cropper.cropper.dispatchEvent(touchStartEvent2); cropper.cropper.dispatchEvent(touchMoveEvent1); cropper.cropper.dispatchEvent(touchMoveEvent2); } }, zoom() { done(); }, }); expect(cropper.options.zoomOnTouch).to.be.true; }); it('should not zoom on touch', (done) => { const image = window.createImage(); const cropper = new Cropper(image, { zoomOnTouch: false, ready() { if (window.PointerEvent) { cropper.cropper.dispatchEvent(new PointerEvent('pointerdown', { pointerId: 1, pageX: 100, pageY: 100, })); cropper.cropper.dispatchEvent(new PointerEvent('pointerdown', { pointerId: 2, pageX: 200, pageY: 200, })); cropper.cropper.dispatchEvent(new PointerEvent('pointermove', { pointerId: 1, pageX: 125, pageY: 125, })); cropper.cropper.dispatchEvent(new PointerEvent('pointermove', { pointerId: 2, pageX: 175, pageY: 175, })); cropper.cropper.dispatchEvent(new PointerEvent('pointerup', { pointerId: 1, pageX: 125, pageY: 125, })); cropper.cropper.dispatchEvent(new PointerEvent('pointerup', { pointerId: 2, pageX: 175, pageY: 175, })); } else { cropper.cropper.dispatchEvent(new TouchEvent('touchstart', { changedTouches: { 0: { identifier: 1, pageX: 100, pageY: 100, }, 1: { identifier: 2, pageX: 200, pageY: 200, }, length: 2, }, })); cropper.cropper.dispatchEvent(new TouchEvent('touchmove', { changedTouches: { 0: { identifier: 1, pageX: 125, pageY: 125, }, 1: { identifier: 2, pageX: 175, pageY: 175, }, length: 2, }, })); cropper.cropper.dispatchEvent(new TouchEvent('touchend', { changedTouches: { 0: { identifier: 1, pageX: 125, pageY: 125, }, 1: { identifier: 2, pageX: 175, pageY: 175, }, length: 2, }, })); } done(); }, zoom() { expect.fail(1, 0); }, }); expect(cropper.options.zoomOnTouch).to.be.false; }); });