Skip to content
Permalink
Browse files

Fixes #13548. .data should not miss attr() set data-* with hyphenated…

… property names
  • Loading branch information...
rwaldron committed Mar 2, 2013
1 parent 9f981c8 commit 3212a293695221df402317633adf63698d95efd1
Showing with 20 additions and 1 deletion.
  1. +8 −0 src/data.js
  2. +12 −1 test/unit/data.js
@@ -264,6 +264,14 @@ jQuery.fn.extend({
if ( data !== undefined ) {
return data;
}

// Attempt to get data from the cache
// with the key camelized
data = data_user.get( elem, camelKey );
if ( data !== undefined ) {
return data;
}

// Attempt to "discover" the data in
// HTML5 custom data-* attrs
data = dataAttr( elem, key, undefined );
@@ -497,7 +497,7 @@ 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() {
test(".data should not miss preset data-* w/ hyphenated property names", function() {

expect(2);

@@ -514,6 +514,17 @@ test("jQuery.data should not miss data with preset hyphenated property names", f
});
});

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

var div = jQuery("<div/>").appendTo("#qunit-fixture");

div.attr( "data-long-param", "test" );
div.data( "long-param", { a: 2 });

deepEqual( div.data("long-param"), { a: 2 }, "data with property long-param was found" );
});

test("jQuery.data supports interoperable hyphenated/camelCase get/set of properties with arbitrary non-null|NaN|undefined values", function() {

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

0 comments on commit 3212a29

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