Commit a254f22d authored by Timmy Willison's avatar Timmy Willison

Data: do not include digits when camelCasing

Fixes gh-1751
parent 49bce471
...@@ -26,7 +26,7 @@ var ...@@ -26,7 +26,7 @@ var
// Matches dashed string for camelizing // Matches dashed string for camelizing
rmsPrefix = /^-ms-/, rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi, rdashAlpha = /-([a-z])/gi,
// Used by jQuery.camelCase as callback to replace() // Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) { fcamelCase = function( all, letter ) {
......
...@@ -1484,7 +1484,7 @@ test("jQuery.camelCase()", function() { ...@@ -1484,7 +1484,7 @@ test("jQuery.camelCase()", function() {
"foo-bar": "fooBar", "foo-bar": "fooBar",
"foo-bar-baz": "fooBarBaz", "foo-bar-baz": "fooBarBaz",
"girl-u-want": "girlUWant", "girl-u-want": "girlUWant",
"the-4th-dimension": "the4thDimension", "the-4th-dimension": "the-4thDimension",
"-o-tannenbaum": "OTannenbaum", "-o-tannenbaum": "OTannenbaum",
"-moz-illa": "MozIlla", "-moz-illa": "MozIlla",
"-ms-take": "msTake" "-ms-take": "msTake"
......
...@@ -241,14 +241,14 @@ test("jQuery(plain Object).data(String, Object).data(String)", function() { ...@@ -241,14 +241,14 @@ test("jQuery(plain Object).data(String, Object).data(String)", function() {
}); });
test("data-* attributes", function() { test("data-* attributes", function() {
expect( 43 ); expect( 46 );
var prop, i, l, metadata, elem, var prop, i, l, metadata, elem,
obj, obj2, check, num, num2, obj, obj2, check, num, num2,
parseJSON = jQuery.parseJSON, parseJSON = jQuery.parseJSON,
div = jQuery("<div>"), div = jQuery("<div>"),
child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>"), child = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test' data-foo-42='boosh'></div>"),
dummy = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test'></div>"); dummy = jQuery("<div data-myobj='old data' data-ignored=\"DOM\" data-other='test' data-foo-42='boosh'></div>");
equal( div.data("attr"), undefined, "Check for non-existing data-attr attribute" ); equal( div.data("attr"), undefined, "Check for non-existing data-attr attribute" );
...@@ -265,6 +265,7 @@ test("data-* attributes", function() { ...@@ -265,6 +265,7 @@ test("data-* attributes", function() {
child.appendTo("#qunit-fixture"); child.appendTo("#qunit-fixture");
equal( child.data("myobj"), "old data", "Value accessed from data-* attribute"); equal( child.data("myobj"), "old data", "Value accessed from data-* attribute");
equal( child.data("foo-42"), "boosh", "camelCasing does not affect numbers (#1751)" );
child.data("myobj", "replaced"); child.data("myobj", "replaced");
equal( child.data("myobj"), "replaced", "Original data overwritten"); equal( child.data("myobj"), "replaced", "Original data overwritten");
...@@ -274,7 +275,7 @@ test("data-* attributes", function() { ...@@ -274,7 +275,7 @@ test("data-* attributes", function() {
obj = child.data(); obj = child.data();
obj2 = dummy.data(); obj2 = dummy.data();
check = [ "myobj", "ignored", "other" ]; check = [ "myobj", "ignored", "other", "foo-42" ];
num = 0; num = 0;
num2 = 0; num2 = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment