From 52e1ac7ab0ca89e561f6f956981137bf77553bc7 Mon Sep 17 00:00:00 2001 From: Valera Trubachev Date: Wed, 24 Jul 2019 19:39:05 -0500 Subject: [PATCH 1/2] hide Drift on destroy --- src/js/Drift.js | 1 + src/js/Trigger.js | 4 +++- test/testDrift.js | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/js/Drift.js b/src/js/Drift.js index b6f1360f..17d6f887 100644 --- a/src/js/Drift.js +++ b/src/js/Drift.js @@ -168,6 +168,7 @@ export default class Drift { } destroy() { + this.trigger._hide(); this.trigger._unbindEvents(); } } diff --git a/src/js/Trigger.js b/src/js/Trigger.js index b103f4b1..b0c83419 100644 --- a/src/js/Trigger.js +++ b/src/js/Trigger.js @@ -121,7 +121,9 @@ export default class Trigger { } _hide(e) { - e.preventDefault(); + if (e) { + e.preventDefault(); + } this._lastMovement = null; diff --git a/test/testDrift.js b/test/testDrift.js index 26095a9c..58edd856 100644 --- a/test/testDrift.js +++ b/test/testDrift.js @@ -137,5 +137,20 @@ describe("Drift", () => { expect(drift.trigger.enabled).toBe(false); }); }); + + describe("#destroy", () => { + it("should hide and unbind events", function() { + const anchor = document.querySelector(".test-anchor"); + const drift = new Drift(anchor); + + const hideSpy = spyOn(drift.trigger, "_hide"); + const unbindEventsSpy = spyOn(drift.trigger, "_unbindEvents"); + + drift.destroy(); + + expect(hideSpy).toHaveBeenCalled(); + expect(unbindEventsSpy).toHaveBeenCalled(); + }); + }); }); }); From 2714df544e81a4c408b64017a0f557b71d555fc0 Mon Sep 17 00:00:00 2001 From: Sherwin H Date: Fri, 26 Jul 2019 15:44:22 -0700 Subject: [PATCH 2/2] test: add spyOn global to appease eslint --- test/testDrift.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testDrift.js b/test/testDrift.js index 58edd856..10b0be45 100644 --- a/test/testDrift.js +++ b/test/testDrift.js @@ -1,4 +1,4 @@ -/* global describe it expect beforeEach afterEach */ +/* global describe it expect beforeEach afterEach spyOn */ import Drift from "../src/js/Drift";