From 2862a07af640be42711f72ad4abe532349985824 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Sun, 3 May 2015 08:22:32 -0400 Subject: [PATCH] Data: do not include digits when camelCasing Fixes gh-1751 --- src/core.js | 2 +- test/unit/core.js | 2 +- test/unit/data.js | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/core.js b/src/core.js index 4a8b73985..0c72801d6 100644 --- a/src/core.js +++ b/src/core.js @@ -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 ) { diff --git a/test/unit/core.js b/test/unit/core.js index b9fef3cf2..b355611d4 100644 --- a/test/unit/core.js +++ b/test/unit/core.js @@ -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" diff --git a/test/unit/data.js b/test/unit/data.js index 7330f02cd..89a81b48b 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -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("
"), - child = jQuery("
"), - dummy = jQuery("
"); + child = jQuery("
"), + dummy = jQuery("
"); 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;