aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordmethvin <dave.methvin@gmail.com>2011-08-17 17:30:31 -0400
committertimmywil <timmywillisn@gmail.com>2011-08-17 17:34:09 -0400
commit1a738cb72fa9f8b7280f15586a68ef9377b18976 (patch)
tree1806920c7c2f6b55e687f1a203dd3ec760cc18a1
parent130a29e78666def3b477056978406ea2fbcdad2b (diff)
downloadjquery-1a738cb72fa9f8b7280f15586a68ef9377b18976.tar.gz
jquery-1a738cb72fa9f8b7280f15586a68ef9377b18976.zip
Landing pull request 463. Fixes #9572. Don't camelize the `-ms-` prefix because Microsoft didn't. A Fixes #9572.
More Details: - https://github.com/jquery/jquery/pull/463 - http://bugs.jquery.com/ticket/9572
-rw-r--r--src/core.js7
-rw-r--r--test/unit/core.js9
2 files changed, 11 insertions, 5 deletions
diff --git a/src/core.js b/src/core.js
index 7a77ae132..694f884d6 100644
--- a/src/core.js
+++ b/src/core.js
@@ -47,6 +47,7 @@ var jQuery = function( selector, context ) {
// Matches dashed string for camelizing
rdashAlpha = /-([a-z]|[0-9])/ig,
+ rmsPrefix = /^-ms-/,
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
@@ -590,10 +591,10 @@ jQuery.extend({
}
},
- // Converts a dashed string to camelCased string;
- // Used by both the css and data modules
+ // Convert dashed to camelCase; used by the css and data modules
+ // Microsoft forgot to hump their vendor prefix (#9572)
camelCase: function( string ) {
- return string.replace( rdashAlpha, fcamelCase );
+ return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
nodeName: function( elem, name ) {
diff --git a/test/unit/core.js b/test/unit/core.js
index 8c285f6dd..d47920501 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -1129,10 +1129,15 @@ test("jQuery.camelCase()", function() {
var tests = {
"foo-bar": "fooBar",
- "foo-bar-baz": "fooBarBaz"
+ "foo-bar-baz": "fooBarBaz",
+ "girl-u-want": "girlUWant",
+ "the-4th-dimension": "the4thDimension",
+ "-o-tannenbaum": "OTannenbaum",
+ "-moz-illa": "MozIlla",
+ "-ms-take": "msTake"
};
- expect(2);
+ expect(7);
jQuery.each( tests, function( key, val ) {
equal( jQuery.camelCase( key ), val, "Converts: " + key + " => " + val );