]> source.dussan.org Git - jquery.git/commitdiff
Data: do not include digits when camelCasing
authorTimmy Willison <timmywillisn@gmail.com>
Sun, 3 May 2015 12:22:32 +0000 (08:22 -0400)
committerTimmy Willison <timmywillisn@gmail.com>
Sun, 3 May 2015 12:25:19 +0000 (08:25 -0400)
Fixes gh-1751

src/core.js
test/unit/core.js
test/unit/data.js

index 4a8b73985b3a1e443f97af2cdbf3e57518a1b432..0c72801d67cd72dee8b2d089f154d2d7f23fab5a 100644 (file)
@@ -27,7 +27,7 @@ var
 
        // Matches dashed string for camelizing
        rmsPrefix = /^-ms-/,
-       rdashAlpha = /-([\da-z])/gi,
+       rdashAlpha = /-([a-z])/gi,
 
        // Used by jQuery.camelCase as callback to replace()
        fcamelCase = function( all, letter ) {
index b9fef3cf2f7b8ceb43d601e74f56169770ea1ae2..b355611d4cc386495dd8787baeddfacca64332da 100644 (file)
@@ -1503,7 +1503,7 @@ test("jQuery.camelCase()", function() {
                "foo-bar": "fooBar",
                "foo-bar-baz": "fooBarBaz",
                "girl-u-want": "girlUWant",
-               "the-4th-dimension": "the4thDimension",
+               "the-4th-dimension": "the-4thDimension",
                "-o-tannenbaum": "OTannenbaum",
                "-moz-illa": "MozIlla",
                "-ms-take": "msTake"
index 7330f02cde9df14419c995efb97bc03684136d78..89a81b48bf93e41d0035bc3eacd837c5ea5d1813 100644 (file)
@@ -259,14 +259,14 @@ test(".data(object) does not retain references. #13815", function() {
 });
 
 test("data-* attributes", function() {
-       expect( 43 );
+       expect( 46 );
 
        var prop, i, l, metadata, elem,
                obj, obj2, check, num, num2,
                parseJSON = jQuery.parseJSON,
                div = jQuery("<div>"),
-               child = 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'></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' data-foo-42='boosh'></div>");
 
        equal( div.data("attr"), undefined, "Check for non-existing data-attr attribute" );
 
@@ -283,6 +283,7 @@ test("data-* attributes", function() {
 
        child.appendTo("#qunit-fixture");
        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");
        equal( child.data("myobj"), "replaced", "Original data overwritten");
@@ -292,7 +293,7 @@ test("data-* attributes", function() {
 
        obj = child.data();
        obj2 = dummy.data();
-       check = [ "myobj", "ignored", "other" ];
+       check = [ "myobj", "ignored", "other", "foo-42" ];
        num = 0;
        num2 = 0;