aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Kozlowski2013-08-03 17:57:37 +0200
committerPawel Kozlowski2013-08-07 19:09:04 +0200
commitac5b9055f6d7224e5e8e49941c0fc9cb16c64a7e (patch)
tree90857173398a4901dd6779ca15d23c116b4375ed
parentc18074a3104fc31d39f91c6a70b81cc2081184c4 (diff)
downloadangular.js-ac5b9055f6d7224e5e8e49941c0fc9cb16c64a7e.tar.bz2
fix(jqLite): forgive unregistration of a non-registered handler
-rw-r--r--src/jqLite.js2
-rw-r--r--test/jqLiteSpec.js6
2 files changed, 7 insertions, 1 deletions
diff --git a/src/jqLite.js b/src/jqLite.js
index fc8fba07..1bcd9224 100644
--- a/src/jqLite.js
+++ b/src/jqLite.js
@@ -205,7 +205,7 @@ function JQLiteUnbind(element, type, fn) {
removeEventListenerFn(element, type, events[type]);
delete events[type];
} else {
- arrayRemove(events[type], fn);
+ arrayRemove(events[type] || [], fn);
}
}
}
diff --git a/test/jqLiteSpec.js b/test/jqLiteSpec.js
index 6aafd1f8..5b9a122c 100644
--- a/test/jqLiteSpec.js
+++ b/test/jqLiteSpec.js
@@ -843,6 +843,12 @@ describe('jqLite', function() {
aElem.unbind('click', function() {});
});
+ it('should do nothing when a specific listener was not registered', function () {
+ var aElem = jqLite(a);
+ aElem.bind('click', function() {});
+
+ aElem.unbind('mouseenter', function() {});
+ });
it('should deregister all listeners', function() {
var aElem = jqLite(a),