Skip to content
Permalink
Browse files

Landing pull request 403. Check for both camelized and hyphenated dat…

…a property names; Fixes #9301.

More Details:
 - #403
 - http://bugs.jquery.com/ticket/9301
  • Loading branch information...
rwaldron authored and timmywil committed Jun 7, 2011
1 parent c3c001c commit 07420566452622f37b01e69bbbdcbeeb5317e065
Showing with 21 additions and 1 deletion.
  1. +4 −1 src/data.js
  2. +17 −0 test/unit/data.js
@@ -108,7 +108,10 @@ jQuery.extend({
return thisCache[ internalKey ] && thisCache[ internalKey ].events;
}

return getByName ? thisCache[ jQuery.camelCase( name ) ] : thisCache;
return getByName ?
// Check for both converted-to-camel and non-converted data property names
thisCache[ jQuery.camelCase( name ) ] || thisCache[ name ] :
thisCache;
},

removeData: function( elem, name, pvt /* Internal Use Only */ ) {
@@ -508,3 +508,20 @@ test("jQuery.data should follow html5 specification regarding camel casing", fun

div.remove();
});

test("jQuery.data should not miss data with preset hyphenated property names", function() {

expect(2);

var div = jQuery("<div/>", { id: "hyphened" }).appendTo("#qunit-fixture"),
test = {
"camelBar": "camelBar",
"hyphen-foo": "hyphen-foo"
};

div.data( test );

jQuery.each( test , function(i, k) {
equal( div.data(k), k, "data with property '"+k+"' was correctly found");
});
});

0 comments on commit 0742056

Please sign in to comment.
You can’t perform that action at this time.