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
This commit is contained in:
dmethvin 2011-08-17 17:30:31 -04:00 committed by timmywil
parent 130a29e786
commit 1a738cb72f
2 changed files with 11 additions and 5 deletions

View File

@ -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 ) {

View File

@ -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 );