aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2019-12-09 19:50:14 +0100
committerMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2019-12-09 19:53:17 +0100
commitf36f6abbb3e9e4d7d3729272ffb10b4c2c382919 (patch)
treedf6bb3bb23a52b026a4f16f6d81475d45ee8c58a /test/unit
parentc79e1d5fefc50b1df0a1c2ca3f06b567e79c0f9b (diff)
downloadjquery-f36f6abbb3e9e4d7d3729272ffb10b4c2c382919.tar.gz
jquery-f36f6abbb3e9e4d7d3729272ffb10b4c2c382919.zip
Event: Only attach events to objects that accept data - for real
There was a check in jQuery.event.add that was supposed to make it a noop for objects that don't accept data like text or comment nodes. The problem was the check was incorrect: it assumed `dataPriv.get( elem )` returns a falsy value for an `elem` that doesn't accept data but that's not the case - we get an empty object then. The check was changed to use `acceptData` directly. (cherry picked from d5c505e35d8c74ce8e9d99731a1a7eab0e0d911c) Fixes gh-4397 Closes gh-4558
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/event.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/unit/event.js b/test/unit/event.js
index 17706a8b1..9a7692023 100644
--- a/test/unit/event.js
+++ b/test/unit/event.js
@@ -2806,6 +2806,15 @@ QUnit.test( "preventDefault() on focusin does not throw exception", function( as
}, QUnit.config.testTimeout / 4 || 1000 );
} );
+QUnit.test( ".on('focus', fn) on a text node doesn't throw", function( assert ) {
+ assert.expect( 1 );
+
+ jQuery( document.createTextNode( "text" ) )
+ .on( "focus", function() {} );
+
+ assert.ok( true, "No crash" );
+} );
+
QUnit.test( "Donor event interference", function( assert ) {
assert.expect( 8 );