From 951680a211216f8149a34c9ec316420469c072cb Mon Sep 17 00:00:00 2001 From: Kevin Phillips Date: Tue, 6 Feb 2018 17:09:45 -0600 Subject: [PATCH 1/2] adding test for #161 --- test/test.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/test/test.js b/test/test.js index 88dd363..66c6c5d 100644 --- a/test/test.js +++ b/test/test.js @@ -883,6 +883,19 @@ if(isBrowser) { }) .then(done, done); }); + + it("removeEventListener doesn't throw when removing a listener that doesn't exist", function(done){ + var el = document.createElement("div"); + + new Zone().run(function(){ + var handler = undefined; + el.removeEventListener("some-test", handler); + }) + .then(function(data){ + assert.ok(true, "it finished"); + }) + .then(done, done); + }); }); describe("onclick event handler", function() { From 1510c2a0208985287274bee07a24621f8f101003 Mon Sep 17 00:00:00 2001 From: Kevin Phillips Date: Tue, 6 Feb 2018 17:14:52 -0600 Subject: [PATCH 2/2] not trying to read EVENT_HANDLER of undefined --- lib/tasks.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks.js b/lib/tasks.js index 27c5e42..59adc16 100644 --- a/lib/tasks.js +++ b/lib/tasks.js @@ -241,7 +241,7 @@ exports.addEventListener = function(addEventListener, Zone){ exports.removeEventListener = function(removeEventListener, Zone){ return function(eventName, handler, useCapture){ - var outHandler = handler[EVENT_HANDLER] || handler; + var outHandler = handler && handler[EVENT_HANDLER] || handler; return removeEventListener.call(this, eventName, outHandler, useCapture); }; };