diff options
author | Timmy Willison <timmywillisn@gmail.com> | 2015-05-04 10:49:21 -0400 |
---|---|---|
committer | Timmy Willison <timmywillisn@gmail.com> | 2015-05-04 10:49:21 -0400 |
commit | 172cad80ac635d8900aa6a3504c89f38b320488e (patch) | |
tree | c864a413d4bc712f2185550397febd66a4af4445 | |
parent | 0e790985a76fd813a6e56696c87abeed5a6cf63b (diff) | |
download | jquery-172cad80ac635d8900aa6a3504c89f38b320488e.tar.gz jquery-172cad80ac635d8900aa6a3504c89f38b320488e.zip |
Data: camelCasing should not ignore case
Fixes gh-2070
-rw-r--r-- | src/core.js | 2 | ||||
-rw-r--r-- | test/unit/data.js | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/core.js b/src/core.js index 0c72801d6..b3e9a7103 100644 --- a/src/core.js +++ b/src/core.js @@ -27,7 +27,7 @@ var // Matches dashed string for camelizing rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/gi, + rdashAlpha = /-([a-z])/g, // Used by jQuery.camelCase as callback to replace() fcamelCase = function( all, letter ) { diff --git a/test/unit/data.js b/test/unit/data.js index aeca493b7..c08550b1b 100644 --- a/test/unit/data.js +++ b/test/unit/data.js @@ -615,6 +615,16 @@ test(".data always sets data with the camelCased key (gh-2257)", function() { }); }); +test( ".data should not strip more than one hyphen when camelCasing (gh-2070)", function() { + expect( 3 ); + var div = jQuery( "<div data-nested-single='single' data-nested--double='double' data-nested---triple='triple'></div>" ).appendTo( "#qunit-fixture" ), + allData = div.data(); + + equal( allData.nestedSingle, "single", "Key is correctly camelCased" ); + equal( allData[ "nested-Double" ], "double", "Key with double hyphens is correctly camelCased" ); + equal( allData[ "nested--Triple" ], "triple", "Key with triple hyphens is correctly camelCased" ); +}); + test(".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"), |