Skip to content
Permalink
Browse files

Fixes #14047 jQuery.data should not miss data-* w/ hyphenated propert…

…y names

http://bugs.jquery.com/ticket/14047
Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
  • Loading branch information...
rwaldron committed Jun 21, 2013
1 parent 3a43443 commit 147726af127bce98b4e9dfe517d68f4a1ea0c1fc
Showing with 17 additions and 1 deletion.
  1. +6 −1 src/data.js
  2. +11 −0 test/unit/data.js
@@ -113,6 +113,7 @@ Data.prototype = {
cache : cache[ key ];
},
access: function( owner, key, value ) {
var stored;
// In cases where either:
//
// 1. No key was specified
@@ -126,7 +127,11 @@ Data.prototype = {
//
if ( key === undefined ||
((key && typeof key === "string") && value === undefined) ) {
return this.get( owner, key );

stored = this.get( owner, key );

return stored !== undefined ?
stored : this.get( owner, jQuery.camelCase(key) );
}

// [*]When the key is not a string, or both a key and value
@@ -529,6 +529,17 @@ test(".data should not miss preset data-* w/ hyphenated property names", functio
});
});

test("jQuery.data should not miss data-* w/ hyphenated property names #14047", function() {

expect(1);

var div = jQuery("<div/>");

div.data( "foo-bar", "baz" );

equal( jQuery.data(div[0], "foo-bar"), "baz", "data with property 'foo-bar' was correctly found");
});

test(".data should not miss attr() set data-* with hyphenated property names", function() {
expect(2);

0 comments on commit 147726a

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