Merged pull request #361 from rwldrn/9008a.

Restored /g flag to rspaces; Adds unit tests; Supplements #9008
This commit is contained in:
Dave Methvin 2011-04-29 07:36:31 -07:00
commit e2bace8fa1
4 changed files with 24 additions and 8 deletions

View File

@ -13,7 +13,7 @@ var r20 = /%20/g,
rquery = /\?/, rquery = /\?/,
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
rselectTextarea = /^(?:select|textarea)/i, rselectTextarea = /^(?:select|textarea)/i,
rspaces = /\s+/, rspacesAjax = /\s+/,
rts = /([?&])_=[^&]*/, rts = /([?&])_=[^&]*/,
rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/, rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,
@ -71,7 +71,7 @@ function addToPrefiltersOrTransports( structure ) {
} }
if ( jQuery.isFunction( func ) ) { if ( jQuery.isFunction( func ) ) {
var dataTypes = dataTypeExpression.toLowerCase().split( rspaces ), var dataTypes = dataTypeExpression.toLowerCase().split( rspacesAjax ),
i = 0, i = 0,
length = dataTypes.length, length = dataTypes.length,
dataType, dataType,
@ -599,7 +599,7 @@ jQuery.extend({
s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
// Extract dataTypes list // Extract dataTypes list
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspaces ); s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( rspacesAjax );
// Determine if a cross-domain request is in order // Determine if a cross-domain request is in order
if ( s.crossDomain == null ) { if ( s.crossDomain == null ) {

View File

@ -1,7 +1,7 @@
(function( jQuery ) { (function( jQuery ) {
var rclass = /[\n\t\r]/g, var rclass = /[\n\t\r]/g,
rspaces = /\s+/, rspace = /\s+/,
rreturn = /\r/g, rreturn = /\r/g,
rtype = /^(?:button|input)$/i, rtype = /^(?:button|input)$/i,
rfocusable = /^(?:button|input|object|select|textarea)$/i, rfocusable = /^(?:button|input|object|select|textarea)$/i,
@ -43,7 +43,7 @@ jQuery.fn.extend({
} }
if ( value && typeof value === "string" ) { if ( value && typeof value === "string" ) {
var classNames = (value || "").split( rspaces ); var classNames = (value || "").split( rspace );
for ( var i = 0, l = this.length; i < l; i++ ) { for ( var i = 0, l = this.length; i < l; i++ ) {
var elem = this[i]; var elem = this[i];
@ -79,7 +79,7 @@ jQuery.fn.extend({
} }
if ( (value && typeof value === "string") || value === undefined ) { if ( (value && typeof value === "string") || value === undefined ) {
var classNames = (value || "").split( rspaces ); var classNames = (value || "").split( rspace );
for ( var i = 0, l = this.length; i < l; i++ ) { for ( var i = 0, l = this.length; i < l; i++ ) {
var elem = this[i]; var elem = this[i];
@ -120,7 +120,7 @@ jQuery.fn.extend({
i = 0, i = 0,
self = jQuery( this ), self = jQuery( this ),
state = stateVal, state = stateVal,
classNames = value.split( rspaces ); classNames = value.split( rspace );
while ( (className = classNames[ i++ ]) ) { while ( (className = classNames[ i++ ]) ) {
// check each className given, space seperated list // check each className given, space seperated list

View File

@ -4,7 +4,7 @@ var hasOwn = Object.prototype.hasOwnProperty,
rnamespaces = /\.(.*)$/, rnamespaces = /\.(.*)$/,
rformElems = /^(?:textarea|input|select)$/i, rformElems = /^(?:textarea|input|select)$/i,
rperiod = /\./g, rperiod = /\./g,
rspaces = /\s+/, rspaces = / /g,
rescape = /[^\w\s.|`]/g, rescape = /[^\w\s.|`]/g,
fcleanup = function( nm ) { fcleanup = function( nm ) {
return nm.replace(rescape, "\\$&"); return nm.replace(rescape, "\\$&");

View File

@ -68,6 +68,22 @@ test("bind(), multiple events at once", function() {
equals( mouseoverCounter, 1, "bind() with multiple events at once" ); equals( mouseoverCounter, 1, "bind() with multiple events at once" );
}); });
test("bind(), five events at once", function() {
expect(1);
var count = 0,
handler = function(event) {
count++;
};
jQuery("#firstp").bind("click mouseover foo bar baz", handler)
.trigger("click").trigger("mouseover")
.trigger("foo").trigger("bar")
.trigger("baz");
equals( count, 5, "bind() five events at once" );
});
test("bind(), multiple events at once and namespaces", function() { test("bind(), multiple events at once and namespaces", function() {
expect(7); expect(7);