Clean trailing whitespace from all files.
authorColin Snover <github.com@zetafleet.com>
Thu, 30 Dec 2010 06:34:48 +0000 (00:34 -0600)
committerColin Snover <github.com@zetafleet.com>
Thu, 30 Dec 2010 06:34:48 +0000 (00:34 -0600)
26 files changed:
Makefile
Rakefile
build.xml
src/ajax.js
src/attributes.js
src/core.js
src/dimensions.js
src/effects.js
src/intro.js
src/offset.js
src/traversing.js
src/xhr.js
test/data/headers.php
test/data/params_html.php
test/delegatetest.html
test/polluted.php
test/unit/ajax.js
test/unit/attributes.js
test/unit/css.js
test/unit/dimensions.js
test/unit/effects.js
test/unit/event.js
test/unit/offset.js
test/unit/queue.js
test/unit/selector.js
test/unit/traversing.js

index 935f69c..6f22817 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -85,7 +85,7 @@ ${JQ}: ${MODULES} ${DIST_DIR}
        @@cat ${MODULES} | \
                sed 's/.function..jQuery...{//' | \
                sed 's/}...jQuery..;//' | \
-               sed 's/Date:./&'"${DATE}"'/' | \
+               sed 's/@DATE/'"${DATE}"'/' | \
                ${VER} > ${JQ};
 
 ${SRC_DIR}/selector.js: ${SIZZLE_DIR}/sizzle.js
index 5ea143b..4319aa7 100644 (file)
--- a/Rakefile
+++ b/Rakefile
@@ -31,7 +31,7 @@ rhino      = "java -jar #{build_dir}/js.jar"
 minfier    = "java -jar #{build_dir}/google-compiler-20100917.jar"
 
 # Turn off output other than needed from `sh` and file commands
-verbose(false) 
+verbose(false)
 
 # Tasks
 task :default => "all"
@@ -51,7 +51,7 @@ task :min => jq_min
 task :init => [sizzle, qunit] do
   sizzle_git = File.join(sizzle_dir, '.git')
   qunit_git  = File.join(qunit_dir,  '.git')
-  
+
   puts "Updating SizzleJS with latest..."
        sh "git --git-dir=#{sizzle_git} pull -q origin master"
 
@@ -61,7 +61,7 @@ end
 
 desc "Removes dist folder, selector.js, and Sizzle/QUnit"
 task :clean do
-  puts "Removing Distribution directory: #{dist_dir}..." 
+  puts "Removing Distribution directory: #{dist_dir}..."
   rm_rf dist_dir
 
   puts "Removing built copy of Sizzle..."
@@ -87,9 +87,9 @@ directory dist_dir
 
 file jq => [dist_dir, base_files].flatten do
   puts "Building jquery.js..."
-  
+
   File.open(jq, 'w') do |f|
-    f.write cat(base_files).gsub(/(Date:.)/, "\\1#{date}" ).gsub(/@VERSION/, version)
+    f.write cat(base_files).gsub(/@DATE/, date).gsub(/@VERSION/, version)
   end
 end
 
@@ -97,9 +97,9 @@ file jq_min => jq do
   puts "Building jquery.min.js..."
 
   sh "#{minfier} --js #{jq} --warning_level QUIET --js_output_file #{jq_min}"
-  
+
   min = File.read( jq_min )
-  
+
   # Equivilent of "head"
   File.open(jq_min, 'w') do |f|
     f.write File.readlines(jq)[0..14].join()
@@ -107,12 +107,12 @@ file jq_min => jq do
   end
 end
 
-file selector => [sizzle, :init] do 
+file selector => [sizzle, :init] do
   puts "Building selector code from Sizzle..."
-  
+
   File.open(selector, 'w') do |f|
-    f.write File.read(sizzle).gsub( 
-      /^.+EXPOSE$\n/, 
+    f.write File.read(sizzle).gsub(
+      /^.+EXPOSE$\n/,
       '\0' + File.read( File.join( src_dir, 'sizzle-jquery.js' ))
     ).gsub(
       /^window.Sizzle.+$\n/, ''
index f6650f4..6a28aa8 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -77,7 +77,7 @@
                        <arg line="log -1 --pretty=format:%ad" />
                </exec>
                <replaceregexp match="(\(\s*function\s*\(\s*jQuery\s*\)\s*\{)|(\}\s*\)\s*\(\s*jQuery\s*\)\s*;)" flags="g" replace="" file="${JQ}" />
-               <replaceregexp match="Date: " replace="Date: ${date}" file="${JQ}" />
+               <replaceregexp match="@DATE" replace="${date}" file="${JQ}" />
                <echo message="${JQ} built." />
        </target>
 
index 18ea203..08fbe6f 100644 (file)
@@ -1,5 +1,5 @@
 (function( jQuery ) {
-       
+
 var rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
        rselectTextarea = /^(?:select|textarea)/i,
        rinput = /^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
@@ -43,9 +43,9 @@ jQuery.fn.extend({
                                type = "POST";
                        }
                }
-               
+
                var self = this;
-               
+
                // Request the remote document
                jQuery.ajax({
                        url: url,
@@ -171,7 +171,7 @@ jQuery.extend({
                        text: "Text",
                        json: "JSON"
                },
-                       
+
                accepts: {
                        xml: "application/xml, text/xml",
                        html: "text/html",
@@ -179,13 +179,13 @@ jQuery.extend({
                        json: "application/json, text/javascript",
                        "*": "*/*"
                },
-               
+
                autoDataType: {
                        xml: /xml/,
                        html: /html/,
                        json: /json/
                },
-               
+
                // Prefilters
                // 1) They are useful to introduce custom dataTypes (see transport/jsonp for an example)
                // 2) These are called:
@@ -193,27 +193,27 @@ jQuery.extend({
                //    * AFTER param serialization (s.data is a string if s.processData is true)
                // 3) They MUST be order agnostic
                prefilters: [],
-               
+
                // Transports bindings
                // 1) key is the dataType
                // 2) the catchall symbol "*" can be used
                // 3) selection will start with transport dataType and THEN go to "*" if needed
                transports: {
                },
-               
+
                // Checkers
                // 1) key is dataType
                // 2) they are called to control successful response
                // 3) error throws is used as error data
                dataCheckers: {
-       
+
                        // Check if data is a string
                        "text": function(data) {
                                if ( typeof data != "string" ) {
                                        jQuery.error("typeerror");
                                }
                        },
-       
+
                        // Check if xml has been properly parsed
                        "xml": function(data) {
                                var documentElement = data ? data.documentElement : data;
@@ -225,25 +225,25 @@ jQuery.extend({
                                }
                        }
                },
-               
+
                // List of data converters
                // 1) key format is "source_type => destination_type" (spaces required)
                // 2) the catchall symbol "*" can be used for source_type
                dataConverters: {
-               
+
                        // Convert anything to text
                        "* => text": function(data) {
                                return "" + data;
                        },
-                       
+
                        // Text to html (no transformation)
                        "text => html": function(data) {
                                return data;
                        },
-                       
+
                        // Evaluate text as a json expression
                        "text => json": jQuery.parseJSON,
-                       
+
                        // Parse text as xml
                        "text => xml": function(data) {
                                var xml, parser;
@@ -262,14 +262,14 @@ jQuery.extend({
 
        // Main method
        ajax: function( url , s ) {
-               
+
                if ( arguments.length === 1 ) {
                        s = url;
                        url = s ? s.url : undefined;
                }
-               
+
                return jQuery.xhr().open( s ? s.type : undefined , url ).send( undefined , s );
-               
+
        },
 
        // Serialize an array of form elements or a set of
@@ -281,19 +281,19 @@ jQuery.extend({
                                value = jQuery.isFunction(value) ? value() : value;
                                s[ s.length ] = encodeURIComponent(key) + "=" + encodeURIComponent(value);
                        };
-               
+
                // Set traditional to true for jQuery <= 1.3.2 behavior.
                if ( traditional === undefined ) {
                        traditional = jQuery.ajaxSettings.traditional;
                }
-               
+
                // If an array was passed in, assume that it is an array of form elements.
                if ( jQuery.isArray(a) || a.jquery ) {
                        // Serialize the form elements
                        jQuery.each( a, function() {
                                add( this.name, this.value );
                        });
-                       
+
                } else {
                        // If traditional, encode the "old" way (the way 1.3.2 or older
                        // did it), otherwise encode params recursively.
@@ -326,7 +326,7 @@ function buildParams( prefix, obj, traditional, add ) {
                                buildParams( prefix + "[" + ( typeof v === "object" || jQuery.isArray(v) ? i : "" ) + "]", v, traditional, add );
                        }
                });
-                       
+
        } else if ( !traditional && obj != null && typeof obj === "object" ) {
                // If we see an array here, it is empty and should be treated as an empty
                // object
@@ -339,7 +339,7 @@ function buildParams( prefix, obj, traditional, add ) {
                                buildParams( prefix + "[" + k + "]", v, traditional, add );
                        });
                }
-                                       
+
        } else {
                // Serialize scalar item.
                add( prefix, obj );
@@ -373,7 +373,7 @@ if ( window.ActiveXObject ) {
                        return new window.XMLHttpRequest();
                } catch( xhrError ) {}
        }
-       
+
        try {
                return new window.ActiveXObject("Microsoft.XMLHTTP");
        } catch( activeError ) {}
index 78b1bfd..fec1323 100644 (file)
@@ -182,7 +182,7 @@ jQuery.fn.extend({
                                                var option = options[ i ];
 
                                                // Don't return options that are disabled or in a disabled optgroup
-                                               if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && 
+                                               if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) &&
                                                                (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) {
 
                                                        // Get the specific value for the option
index 4da1212..e463ade 100644 (file)
@@ -56,10 +56,10 @@ var jQuery = function( selector, context ) {
 
        // For matching the engine and version of the browser
        browserMatch,
-       
+
        // Has the ready events already been bound?
        readyBound = false,
-       
+
        // The functions to execute on DOM ready
        readyList = [],
 
@@ -73,7 +73,7 @@ var jQuery = function( selector, context ) {
        slice = Array.prototype.slice,
        trim = String.prototype.trim,
        indexOf = Array.prototype.indexOf,
-       
+
        // [[Class]] -> type pairs
        class2type = {};
 
@@ -92,7 +92,7 @@ jQuery.fn = jQuery.prototype = {
                        this.length = 1;
                        return this;
                }
-               
+
                // The body element only exists once, optimize finding it
                if ( selector === "body" && !context && document.body ) {
                        this.context = document;
@@ -131,9 +131,9 @@ jQuery.fn = jQuery.prototype = {
                                                ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
                                                selector = (ret.cacheable ? ret.fragment.cloneNode(true) : ret.fragment).childNodes;
                                        }
-                                       
+
                                        return jQuery.merge( this, selector );
-                                       
+
                                // HANDLE: $("#id")
                                } else {
                                        elem = document.getElementById( match[2] );
@@ -226,7 +226,7 @@ jQuery.fn = jQuery.prototype = {
 
                if ( jQuery.isArray( elems ) ) {
                        push.apply( ret, elems );
-               
+
                } else {
                        jQuery.merge( ret, elems );
                }
@@ -252,7 +252,7 @@ jQuery.fn = jQuery.prototype = {
        each: function( callback, args ) {
                return jQuery.each( this, callback, args );
        },
-       
+
        ready: function( fn ) {
                // Attach the listeners
                jQuery.bindReady();
@@ -270,7 +270,7 @@ jQuery.fn = jQuery.prototype = {
 
                return this;
        },
-       
+
        eq: function( i ) {
                return i === -1 ?
                        this.slice( i ) :
@@ -295,7 +295,7 @@ jQuery.fn = jQuery.prototype = {
                        return callback.call( elem, i, elem );
                }));
        },
-       
+
        end: function() {
                return this.prevObject || jQuery(null);
        },
@@ -384,14 +384,14 @@ jQuery.extend({
 
                return jQuery;
        },
-       
+
        // Is the DOM ready to be used? Set to true once it occurs.
        isReady: false,
 
        // A counter to track how many items to wait for before
        // the ready event fires. See #6781
        readyWait: 1,
-       
+
        // Handle when the DOM is ready
        ready: function( wait ) {
                // A third-party is pushing the ready event forwards
@@ -435,7 +435,7 @@ jQuery.extend({
                        }
                }
        },
-       
+
        bindReady: function() {
                if ( readyBound ) {
                        return;
@@ -454,7 +454,7 @@ jQuery.extend({
                if ( document.addEventListener ) {
                        // Use the handy event callback
                        document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-                       
+
                        // A fallback to window.onload, that will always work
                        window.addEventListener( "load", jQuery.ready, false );
 
@@ -463,7 +463,7 @@ jQuery.extend({
                        // ensure firing before onload,
                        // maybe late but safe also for iframes
                        document.attachEvent("onreadystatechange", DOMContentLoaded);
-                       
+
                        // A fallback to window.onload, that will always work
                        window.attachEvent( "onload", jQuery.ready );
 
@@ -514,20 +514,20 @@ jQuery.extend({
                if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
                        return false;
                }
-               
+
                // Not own constructor property must be Object
                if ( obj.constructor &&
                        !hasOwn.call(obj, "constructor") &&
                        !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
                        return false;
                }
-               
+
                // Own properties are enumerated firstly, so to speed up,
                // if last one is own, then all properties are own.
-       
+
                var key;
                for ( key in obj ) {}
-               
+
                return key === undefined || hasOwn.call( obj, key );
        },
 
@@ -537,11 +537,11 @@ jQuery.extend({
                }
                return true;
        },
-       
+
        error: function( msg ) {
                throw msg;
        },
-       
+
        parseJSON: function( data ) {
                if ( typeof data !== "string" || !data ) {
                        return null;
@@ -549,7 +549,7 @@ jQuery.extend({
 
                // Make sure leading/trailing whitespace is removed (IE can't handle it)
                data = jQuery.trim( data );
-               
+
                // Make sure the incoming data is actual JSON
                // Logic borrowed from http://json.org/json2.js
                if ( rvalidchars.test(data.replace(rvalidescape, "@")
@@ -691,7 +691,7 @@ jQuery.extend({
                        for ( var l = second.length; j < l; j++ ) {
                                first[ i++ ] = second[ j ];
                        }
-               
+
                } else {
                        while ( second[j] !== undefined ) {
                                first[ i++ ] = second[ j++ ];
@@ -772,7 +772,7 @@ jQuery.extend({
        // The value/s can be optionally by executed if its a function
        access: function( elems, key, value, exec, fn, pass ) {
                var length = elems.length;
-       
+
                // Setting many attributes
                if ( typeof key === "object" ) {
                        for ( var k in key ) {
@@ -780,19 +780,19 @@ jQuery.extend({
                        }
                        return elems;
                }
-       
+
                // Setting one attribute
                if ( value !== undefined ) {
                        // Optionally, function values get executed if exec is true
                        exec = !pass && exec && jQuery.isFunction(value);
-               
+
                        for ( var i = 0; i < length; i++ ) {
                                fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );
                        }
-               
+
                        return elems;
                }
-       
+
                // Getting an attribute
                return length ? fn( elems[0], key ) : undefined;
        },
index f35b0ac..17b4f8f 100644 (file)
@@ -25,7 +25,7 @@ jQuery.each([ "Height", "Width" ], function( i, name ) {
                if ( !elem ) {
                        return size == null ? null : this;
                }
-               
+
                if ( jQuery.isFunction( size ) ) {
                        return this.each(function( i ) {
                                var self = jQuery( this );
index 6007074..5f3a035 100644 (file)
@@ -61,7 +61,7 @@ jQuery.fn.extend({
                } else {
                        for ( var i = 0, j = this.length; i < j; i++ ) {
                                var display = jQuery.css( this[i], "display" );
-        
+
                                if ( display !== "none" && !jQuery.data( this[i], "olddisplay" ) ) {
                                        jQuery.data( this[i], "olddisplay", display );
                                }
index cb15705..a75f311 100644 (file)
@@ -11,7 +11,7 @@
  * Copyright 2010, The Dojo Foundation
  * Released under the MIT, BSD, and GPL Licenses.
  *
- * Date: 
+ * Date: @DATE
  */
 (function( window, undefined ) {
 
index 3fb2917..2040c9d 100644 (file)
@@ -7,7 +7,7 @@ if ( "getBoundingClientRect" in document.documentElement ) {
        jQuery.fn.offset = function( options ) {
                var elem = this[0], box;
 
-               if ( options ) { 
+               if ( options ) {
                        return this.each(function( i ) {
                                jQuery.offset.setOffset( this, options, i );
                        });
@@ -49,7 +49,7 @@ if ( "getBoundingClientRect" in document.documentElement ) {
        jQuery.fn.offset = function( options ) {
                var elem = this[0];
 
-               if ( options ) { 
+               if ( options ) {
                        return this.each(function( i ) {
                                jQuery.offset.setOffset( this, options, i );
                        });
@@ -168,7 +168,7 @@ jQuery.offset = {
 
                return { top: top, left: left };
        },
-       
+
        setOffset: function( elem, options, i ) {
                var position = jQuery.css( elem, "position" );
 
@@ -202,7 +202,7 @@ jQuery.offset = {
                if (options.left != null) {
                        props.left = (options.left - curOffset.left) + curLeft;
                }
-               
+
                if ( "using" in options ) {
                        options.using.call( elem, props );
                } else {
@@ -262,7 +262,7 @@ jQuery.each( ["Left", "Top"], function( i, name ) {
 
        jQuery.fn[ method ] = function(val) {
                var elem = this[0], win;
-               
+
                if ( !elem ) {
                        return null;
                }
index 15446bd..689e901 100644 (file)
@@ -51,7 +51,7 @@ jQuery.fn.extend({
        filter: function( selector ) {
                return this.pushStack( winnow(this, selector, true), "filter", selector );
        },
-       
+
        is: function( selector ) {
                return !!selector && jQuery.filter( selector, this ).length > 0;
        },
@@ -69,7 +69,7 @@ jQuery.fn.extend({
                                        selector = selectors[i];
 
                                        if ( !matches[selector] ) {
-                                               matches[selector] = jQuery.expr.match.POS.test( selector ) ? 
+                                               matches[selector] = jQuery.expr.match.POS.test( selector ) ?
                                                        jQuery( selector, context || this.context ) :
                                                        selector;
                                        }
@@ -92,7 +92,7 @@ jQuery.fn.extend({
                        return ret;
                }
 
-               var pos = POS.test( selectors ) ? 
+               var pos = POS.test( selectors ) ?
                        jQuery( selectors, context || this.context ) : null;
 
                for ( i = 0, l = this.length; i < l; i++ ) {
@@ -113,10 +113,10 @@ jQuery.fn.extend({
                }
 
                ret = ret.length > 1 ? jQuery.unique(ret) : ret;
-               
+
                return this.pushStack( ret, "closest", selectors );
        },
-       
+
        // Determine the position of an element within
        // the matched set of elements
        index: function( elem ) {
@@ -197,7 +197,7 @@ jQuery.each({
 }, function( name, fn ) {
        jQuery.fn[ name ] = function( until, selector ) {
                var ret = jQuery.map( this, fn, until );
-               
+
                if ( !runtil.test( name ) ) {
                        selector = until;
                }
@@ -226,7 +226,7 @@ jQuery.extend({
                        jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :
                        jQuery.find.matches(expr, elems);
        },
-       
+
        dir: function( elem, dir, until ) {
                var matched = [],
                        cur = elem[ dir ];
index 4896e6c..c715396 100644 (file)
@@ -6,39 +6,39 @@ var rquery_xhr = /\?/,
        rnoContent = /^(?:GET|HEAD)$/,
        rts = /([?&])_=[^&]*/,
        rurl = /^(\w+:)?\/\/([^\/?#]+)/,
-       
+
        sliceFunc = Array.prototype.slice,
-       
+
        isFunction = jQuery.isFunction;
-       
+
 // Creates a jQuery xhr object
 jQuery.xhr = function( _native ) {
-       
+
        if ( _native ) {
                return jQuery.ajaxSettings.xhr();
        }
-       
+
        function reset(force) {
-               
+
                // We only need to reset if we went through the init phase
                // (with the exception of object creation)
                if ( force || internal ) {
-               
+
                        // Reset callbacks lists
                        callbacksLists = {
                                success: createCBList(),
                                error: createCBList(),
                                complete: createCBList()
                        };
-                       
+
                        // Reset private variables
                        requestHeaders = {};
                        responseHeadersString = responseHeaders = internal = done = timeoutTimer = s = undefined;
-                       
+
                        // Reset state
                        xhr.readyState = 0;
                        sendFlag = 0;
-                       
+
                        // Remove responseX fields
                        for ( var name in xhr ) {
                                if ( /^response/.test(name) ) {
@@ -47,134 +47,134 @@ jQuery.xhr = function( _native ) {
                        }
                }
        }
-       
+
        function init() {
-               
+
                var // Options extraction
-               
+
                        // Remove hash character (#7531: first for string promotion)
                        url = s.url = ( "" + s.url ).replace( rhash , "" ),
-                       
+
                        // Uppercase the type
                        type = s.type = s.type.toUpperCase(),
-                       
+
                        // Determine if request has content
                        hasContent = s.hasContent = ! rnoContent.test( type ),
-                       
+
                        // Extract dataTypes list
                        dataType = s.dataType,
                        dataTypes = s.dataTypes = dataType ? jQuery.trim(dataType).toLowerCase().split(/\s+/) : ["*"],
-                       
+
                        // Determine if a cross-domain request is in order
                        parts = rurl.exec( url.toLowerCase() ),
                        loc = location,
                        crossDomain = s.crossDomain = !!( parts && ( parts[1] && parts[1] != loc.protocol || parts[2] != loc.host ) ),
-                       
+
                        // Get other options locally
                        data = s.data,
                        originalContentType = s.contentType,
                        prefilters = s.prefilters,
                        accepts = s.accepts,
                        headers = s.headers,
-                       
+
                        // Other Variables
                        transportDataType,
                        i;
-                       
+
                // Convert data if not already a string
                if ( data && s.processData && typeof data != "string" ) {
                        data = s.data = jQuery.param( data , s.traditional );
                }
-               
+
                // Apply option prefilters
                for ( i = 0; i < prefilters.length; i++ ) {
                        prefilters[i](s);
                }
-               
+
                // Get internal
                internal = selectTransport( s );
-               
+
                // Re-actualize url & data
                url = s.url;
                data = s.data;
-               
+
                // If internal was found
                if ( internal ) {
-                       
+
                        // Get transportDataType
                        transportDataType = dataTypes[0];
-                       
+
                        // More options handling for requests with no content
                        if ( ! hasContent ) {
-                               
+
                                // If data is available, append data to url
                                if ( data ) {
                                        url += (rquery_xhr.test(url) ? "&" : "?") + data;
                                }
-                                                               
+
                                // Add anti-cache in url if needed
                                if ( s.cache === false ) {
-                                       
+
                                        var ts = jQuery.now(),
                                                // try replacing _= if it is there
                                                ret = url.replace(rts, "$1_=" + ts );
-                                               
+
                                        // if nothing was replaced, add timestamp to the end
                                        url = ret + ((ret == url) ? (rquery_xhr.test(url) ? "&" : "?") + "_=" + ts : "");
                                }
-                               
+
                                s.url = url;
                        }
-                       
+
                        // Set the correct header, if data is being sent
                        if ( ( data && hasContent ) || originalContentType ) {
                                requestHeaders["content-type"] = s.contentType;
                        }
-               
+
                        // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
                        if ( s.ifModified ) {
-                               if ( jQuery_lastModified[url] ) { 
+                               if ( jQuery_lastModified[url] ) {
                                        requestHeaders["if-modified-since"] = jQuery_lastModified[url];
                                }
                                if ( jQuery_etag[url] ) {
                                        requestHeaders["if-none-match"] = jQuery_etag[url];
                                }
                        }
-               
+
                        // Set the Accepts header for the server, depending on the dataType
                        requestHeaders.accept = transportDataType && accepts[ transportDataType ] ?
                                accepts[ transportDataType ] + ( transportDataType !== "*" ? ", */*; q=0.01" : "" ) :
                                accepts[ "*" ];
-                               
+
                        // Check for headers option
                        for ( i in headers ) {
                                requestHeaders[ i.toLowerCase() ] = headers[ i ];
-                       }                       
+                       }
                }
-                       
+
                callbackContext = s.context || s;
                globalEventContext = s.context ? jQuery(s.context) : jQuery.event;
-               
+
                for ( i in callbacksLists ) {
                        callbacksLists[i].bind(s[i]);
                }
-               
+
                // Watch for a new set of requests
                if ( s.global && jQuery.active++ === 0 ) {
                        jQuery.event.trigger( "ajaxStart" );
                }
-               
+
                done = whenDone;
        }
-       
+
        function whenDone(status, statusText, response, headers) {
-               
+
                // Called once
                done = undefined;
-               
+
                // Reset sendFlag
                sendFlag = 0;
-               
+
                // Cache response headers
                responseHeadersString = headers || "";
 
@@ -182,12 +182,12 @@ jQuery.xhr = function( _native ) {
                if ( timeoutTimer ) {
                        clearTimeout(timeoutTimer);
                }
-               
+
                var // Reference url
                        url = s.url,
                        // and ifModified status
                        ifModified = s.ifModified,
-                       
+
                        // Is it a success?
                        isSuccess = 0,
                        // Stored success
@@ -197,19 +197,19 @@ jQuery.xhr = function( _native ) {
 
                // If not timeout, force a jQuery-compliant status text
                if ( statusText != "timeout" ) {
-                       statusText = ( status >= 200 && status < 300 ) ? 
+                       statusText = ( status >= 200 && status < 300 ) ?
                                "success" :
                                ( status === 304 ? "notmodified" : "error" );
                }
-               
+
                // If successful, handle type chaining
                if ( statusText === "success" || statusText === "notmodified" ) {
-                       
+
                        // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
                        if ( ifModified ) {
                                var lastModified = xhr.getResponseHeader("Last-Modified"),
                                        etag = xhr.getResponseHeader("Etag");
-                                       
+
                                if (lastModified) {
                                        jQuery_lastModified[url] = lastModified;
                                }
@@ -217,17 +217,17 @@ jQuery.xhr = function( _native ) {
                                        jQuery_etag[url] = etag;
                                }
                        }
-                       
+
                        if ( ifModified && statusText === "notmodified" ) {
-                               
+
                                success = null;
                                isSuccess = 1;
-                               
+
                        } else {
                                // Chain data conversions and determine the final value
                                // (if an exception is thrown in the process, it'll be notified as an error)
                                try {
-                                       
+
                                        function checkData(data) {
                                                if ( data !== undefined ) {
                                                        var testFunction = s.dataCheckers[srcDataType];
@@ -236,7 +236,7 @@ jQuery.xhr = function( _native ) {
                                                        }
                                                }
                                        }
-                                       
+
                                        function convertData (data) {
                                                var conversionFunction = dataConverters[srcDataType+" => "+destDataType] ||
                                                                dataConverters["* => "+destDataType],
@@ -259,11 +259,11 @@ jQuery.xhr = function( _native ) {
                                                        if ( noFunction ) {
                                                                jQuery.error( "no data converter between " + srcDataType + " and " + destDataType );
                                                        }
-                                                       
+
                                                }
                                                return conversionFunction(data);
                                        }
-                                       
+
                                        var dataTypes = s.dataTypes,
                                                i,
                                                length,
@@ -272,13 +272,13 @@ jQuery.xhr = function( _native ) {
                                                srcDataType,
                                                destDataType,
                                                responseTypes = s.xhrResponseFields;
-                                               
+
                                        for ( i = 0, length = dataTypes.length ; i < length ; i++ ) {
-       
+
                                                destDataType = dataTypes[i];
-                                               
+
                                                if ( !srcDataType ) { // First time
-                                                       
+
                                                        // Copy type
                                                        srcDataType = destDataType;
                                                        // Check
@@ -289,92 +289,92 @@ jQuery.xhr = function( _native ) {
                                                                // Recheck data
                                                                checkData(data);
                                                        }
-                                                       
+
                                                } else { // Subsequent times
-                                                       
+
                                                        // handle auto
                                                        // JULIAN: for reasons unknown to me === doesn't work here
                                                        if (destDataType == "*") {
-       
+
                                                                destDataType = srcDataType;
-                                                               
+
                                                        } else if ( srcDataType != destDataType ) {
-                                                               
+
                                                                // Convert
                                                                data = convertData(data);
                                                                // Copy type & check
                                                                srcDataType = destDataType;
                                                                checkData(data);
-                                                               
+
                                                        }
-                                                       
+
                                                }
-       
+
                                                // Copy response into the xhr if it hasn't been already
                                                var responseDataType,
                                                        responseType = responseTypes[srcDataType];
-                                               
+
                                                if ( responseType ) {
-                                                       
+
                                                        responseDataType = srcDataType;
-                                                       
+
                                                } else {
-                                                       
+
                                                        responseType = responseTypes[ responseDataType = "text" ];
-                                                       
+
                                                }
-                                                       
+
                                                if ( responseType !== 1 ) {
                                                        xhr[ "response" + responseType ] = data;
                                                        responseTypes[ responseType ] = 1;
                                                }
-                                               
+
                                        }
-       
+
                                        // We have a real success
                                        success = data;
                                        isSuccess = 1;
-                                       
+
                                } catch(e) {
-                                       
+
                                        statusText = "parsererror";
                                        error = "" + e;
-                                       
+
                                }
                        }
-                       
+
                } else { // if not success, mark it as an error
-                       
+
                                error = error || statusText;
-                               
+
                }
-                       
+
                // Set data for the fake xhr object
                xhr.status = status;
                xhr.statusText = statusText;
-               
+
                // Keep local copies of vars in case callbacks re-use the xhr
                var _s = s,
                        _callbacksLists = callbacksLists,
                        _callbackContext = callbackContext,
                        _globalEventContext = globalEventContext;
-                       
+
                // Set state if the xhr hasn't been re-used
                function _setState( value ) {
                        if ( xhr.readyState && s === _s ) {
                                setState( value );
                        }
                }
-                               
+
                // Really completed?
                if ( status && s.async ) {
                        setState( 2 );
                        _setState( 3 );
                }
-               
+
                // We're done
                _setState( 4 );
-               
+
                // Success
                _callbacksLists.success.fire( isSuccess , _callbackContext , success, statusText, xhr);
                if ( isSuccess && _s.global ) {
@@ -383,7 +383,7 @@ jQuery.xhr = function( _native ) {
                // Error
                _callbacksLists.error.fire( ! isSuccess , _callbackContext , xhr, statusText, error);
                if ( !isSuccess && _s.global ) {
-                       _globalEventContext.trigger( "ajaxError", [xhr, _s, error] );   
+                       _globalEventContext.trigger( "ajaxError", [xhr, _s, error] );
                }
                // Complete
                _callbacksLists.complete.fire( 1 , _callbackContext, xhr, statusText);
@@ -395,14 +395,14 @@ jQuery.xhr = function( _native ) {
                        }
                }
        }
-       
+
        // Ready state control
        function checkState( expected , test ) {
                if ( expected !== true && ( expected === false || test === false || xhr.readyState !== expected ) ) {
                        jQuery.error("INVALID_STATE_ERR");
                }
        }
-       
+
        // Ready state change
        function setState( value ) {
                xhr.readyState = value;
@@ -410,7 +410,7 @@ jQuery.xhr = function( _native ) {
                        xhr.onreadystatechange();
                }
        }
-       
+
        var // jQuery lists
                jQuery_lastModified = jQuery.lastModified,
                jQuery_etag = jQuery.etag,
@@ -437,16 +437,16 @@ jQuery.xhr = function( _native ) {
                xhr = {
                        // state
                        readyState: 0,
-                       
+
                        // Callback
                        onreadystatechange: null,
-                       
+
                        // Open
                        open: function(type, url, async, username, password) {
-                               
+
                                xhr.abort();
                                reset();
-                               
+
                                s = {
                                        type: type,
                                        url: url,
@@ -454,128 +454,128 @@ jQuery.xhr = function( _native ) {
                                        username: username,
                                        password: password
                                };
-                               
+
                                setState(1);
-                               
+
                                return xhr;
                        },
-                       
+
                        // Send
                        send: function(data, moreOptions) {
-                               
+
                                checkState(1 , !sendFlag);
-                               
+
                                s.data = data;
-                               
+
                                s = jQuery.extend( true,
                                        {},
                                        jQuery.ajaxSettings,
                                        s,
                                        moreOptions || ( moreOptions === false ? { global: false } : {} ) );
-                                       
+
                                if ( moreOptions ) {
                                        // We force the original context
                                        // (plain objects used as context get extended)
                                        s.context = moreOptions.context;
                                }
-                               
+
                                init();
-                               
+
                                // If not internal, abort
                                if ( ! internal ) {
                                        done( 0 , "transport not found" );
                                        return false;
                                }
-                               
+
                                // Allow custom headers/mimetypes and early abort
                                if ( s.beforeSend ) {
-                                       
+
                                        var _s = s;
-                                       
+
                                        if ( s.beforeSend.call(callbackContext, xhr, s) === false || ! xhr.readyState || _s !== s ) {
-                                               
+
                                                // Abort if not done
                                                if ( xhr.readyState && _s === s ) {
                                                        xhr.abort();
                                                }
-       
+
                                                // Handle the global AJAX counter
                                                if ( _s.global && ! --jQuery.active ) {
                                                        jQuery.event.trigger( "ajaxStop" );
                                                }
-                                               
+
                                                return false;
                                        }
                                }
-                               
+
                                sendFlag = 1;
-                               
+
                                // Send global event
                                if ( s.global ) {
                                        globalEventContext.trigger("ajaxSend", [xhr, s]);
                                }
-                               
+
                                // Timeout
                                if ( s.async && s.timeout > 0 ) {
                                        timeoutTimer = setTimeout(function(){
                                                xhr.abort("timeout");
                                        }, s.timeout);
                                }
-                               
+
                                if ( s.async ) {
                                        setState(1);
                                }
-                               
+
                                try {
-                                       
+
                                        internal.send(requestHeaders, done);
                                        return xhr;
-                                                                                       
+
                                } catch (e) {
-                                       
+
                                        if ( done ) {
-                                               
+
                                                done(0, "error", "" + e);
-                                               
+
                                        } else {
-                                               
+
                                                jQuery.error(e);
-                                               
+
                                        }
                                }
-                               
+
                                return false;
                        },
-                       
+
                        // Caches the header
                        setRequestHeader: function(name,value) {
                                checkState(1, !sendFlag);
                                requestHeaders[ name.toLowerCase() ] = value;
                                return xhr;
                        },
-                       
+
                        // Raw string
                        getAllResponseHeaders: function() {
                                return xhr.readyState <= 1 ? "" : responseHeadersString;
                        },
-                       
+
                        // Builds headers hashtable if needed
                        getResponseHeader: function( key ) {
-                               
+
                                if ( xhr.readyState <= 1 ) {
-                                       
+
                                        return null;
-                                       
+
                                }
-                               
+
                                if ( responseHeaders === undefined ) {
-                                       
+
                                        responseHeaders = {};
-                                       
+
                                        if ( typeof responseHeadersString === "string" ) {
-                                               
+
                                                var match;
-                                               
+
                                                while( ( match = rheaders.exec( responseHeadersString ) ) ) {
                                                        responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
                                                }
@@ -583,7 +583,7 @@ jQuery.xhr = function( _native ) {
                                }
                                return responseHeaders[ key.toLowerCase() ];
                        },
-                       
+
                        // Cancel the request
                        abort: function(statusText) {
                                if (internal) {
@@ -592,7 +592,7 @@ jQuery.xhr = function( _native ) {
                                xhr.readyState = 0;
                        }
                };
-               
+
        // Init data (so that we can bind callbacks early
        reset(1);
 
@@ -607,82 +607,82 @@ jQuery.xhr = function( _native ) {
                        return this;
                };
        });
-       
+
        // Return the xhr emulation
        return xhr;
 };
 
 // Create a callback list
 function createCBList() {
-       
+
        var functors = [],
                autoFire = 0,
                fireArgs,
                list = {
-               
+
                        fire: function( flag , context ) {
-                               
+
                                // Save info for later bindings
                                fireArgs = arguments;
-                               
+
                                // Remove autoFire to keep bindings in order
                                autoFire = 0;
-                                       
+
                                var args = sliceFunc.call( fireArgs , 2 );
-                                       
+
                                // Execute callbacks
                                while ( flag && functors.length ) {
                                        flag = functors.shift().apply( context , args ) !== false;
                                }
-                                       
+
                                // Clean if asked to stop
                                if ( ! flag ) {
                                        clean();
                                }
-                                               
+
                                // Set autoFire
-                               autoFire = 1;                                   
+                               autoFire = 1;
                        },
-                       
+
                        bind: function() {
-                               
+
                                var args = arguments,
                                        i = 0,
                                        length = args.length,
                                        func;
-                               
+
                                for ( ; i < length ; i++ ) {
-                                       
+
                                        func = args[ i ];
-                                       
+
                                        if ( jQuery.isArray(func) ) {
-                                               
+
                                                list.bind.apply( list , func );
-                                               
+
                                        } else if ( isFunction(func) ) {
-                                               
+
                                                // Add if not already in
                                                if ( ! pos( func ) ) {
                                                        functors.push( func );
                                                }
                                        }
                                }
-                               
+
                                if ( autoFire ) {
                                        list.fire.apply( list , fireArgs );
                                }
                        },
-                       
+
                        unbind: function() {
-                               
+
                                var i = 0,
                                        args = arguments,
                                        length = args.length,
-                                       func,                                   
+                                       func,
                                        position;
-                                       
+
                                if ( length ) {
-                                               
+
                                        for( ; i < length ; i++ ) {
                                                func = args[i];
                                                if ( jQuery.isArray(func) ) {
@@ -694,15 +694,15 @@ function createCBList() {
                                                        }
                                                }
                                        }
-                               
+
                                } else {
-                                       
+
                                        functors = [];
-                               
+
                                }
 
                        }
-                       
+
                };
 
        // Get the index of the functor in the list (1-based)
@@ -711,7 +711,7 @@ function createCBList() {
                }
                return i < length ? ( i + 1 ) : 0;
        }
-               
+
        // Clean the object
        function clean() {
                // Empty callbacks list
@@ -721,12 +721,12 @@ function createCBList() {
                        list[i] = jQuery.noop;
                }
        }
-                               
+
        return list;
 }
 
 jQuery.extend(jQuery.xhr, {
-       
+
        // Add new prefilter
        prefilter: function (functor) {
                if ( isFunction(functor) ) {
@@ -734,10 +734,10 @@ jQuery.extend(jQuery.xhr, {
                }
                return this;
        },
-       
+
        // Bind a transport to one or more dataTypes
        bindTransport: function () {
-               
+
                var args = arguments,
                        i,
                        start = 0,
@@ -749,63 +749,63 @@ jQuery.extend(jQuery.xhr, {
                        append,
                        list,
                        transports = jQuery.ajaxSettings.transports;
-                       
+
                if ( length ) {
-                               
+
                        if ( ! isFunction( args[ 0 ] ) ) {
-                               
+
                                dataTypes = args[ 0 ].toLowerCase().split(/\s+/);
                                start = 1;
-                               
+
                        }
-                       
+
                        if ( dataTypes.length && start < length ) {
-                               
+
                                for ( i = start; i < length; i++ ) {
                                        functor = args[i];
                                        if ( isFunction(functor) ) {
                                                functors.push( functor );
                                        }
                                }
-                                               
+
                                if ( functors.length ) {
-                                                       
+
                                        jQuery.each ( dataTypes, function( _ , dataType ) {
-                                               
+
                                                first = /^\+/.test( dataType );
-                                               
+
                                                if (first) {
                                                        dataType = dataType.substr(1);
                                                }
-                                               
+
                                                if ( dataType !== "" ) {
-                                               
+
                                                        append = Array.prototype[ first ? "unshift" : "push" ];
-                                                       
+
                                                        list = transports[ dataType ];
-                                       
+
                                                        jQuery.each ( functors, function( _ , functor ) {
-                                                                       
+
                                                                if ( ! list ) {
-                                                                       
+
                                                                        list = transports[ dataType ] = [ functor ];
-                                                                       
+
                                                                } else {
-                                                                       
+
                                                                        append.call( list , functor );
                                                                }
                                                        } );
                                                }
-                                                                       
+
                                        } );
                                }
                        }
                }
-               
+
                return this;
        }
 
-       
+
 });
 
 // Select a transport given options
@@ -819,13 +819,13 @@ function selectTransport( s ) {
                length,
                checked = {},
                flag;
-               
+
        function initSearch( dataType ) {
 
                flag = transportDataType !== dataType && ! checked[ dataType ];
-               
+
                if ( flag ) {
-                       
+
                        checked[ dataType ] = 1;
                        transportDataType = dataType;
                        transportsList = s.transports[ dataType ];
@@ -835,15 +835,15 @@ function selectTransport( s ) {
 
                return flag;
        }
-       
+
        initSearch( dataTypes[ 0 ] );
 
        for ( i = 0 ; ! transport && i <= length ; i++ ) {
-               
+
                if ( i === length ) {
-                       
+
                        initSearch( "*" );
-                       
+
                } else {
 
                        transport = transportsList[ i ]( s , determineDataType );
@@ -861,18 +861,18 @@ function selectTransport( s ) {
 
        return transport;
 }
-       
+
 // Utility function that handles dataType when response is received
 // (for those transports that can give text or xml responses)
 function determineDataType( s , ct , text , xml ) {
-       
+
        var autoDataType = s.autoDataType,
                type,
                regexp,
                dataTypes = s.dataTypes,
                transportDataType = dataTypes[0],
                response;
-       
+
        // Auto (xml, json, script or text determined given headers)
        if ( transportDataType === "*" ) {
 
@@ -881,29 +881,29 @@ function determineDataType( s , ct , text , xml ) {
                                transportDataType = dataTypes[0] = type;
                                break;
                        }
-               }                       
-       } 
-       
+               }
+       }
+
        // xml and parsed as such
        if ( transportDataType === "xml" &&
                xml &&
                xml.documentElement /* #4958 */ ) {
-               
+
                response = xml;
-       
+
        // Text response was provided
        } else {
-               
+
                response = text;
-               
+
                // If it's not really text, defer to dataConverters
                if ( transportDataType !== "text" ) {
                        dataTypes.unshift( "text" );
                }
-               
+
        }
-       
+
        return response;
-}      
+}
 
 })( jQuery );
index f2c21c0..c3cb729 100644 (file)
@@ -4,16 +4,16 @@ header( "Sample-Header: Hello World" );
 
 $headers = array();
 
-foreach( $_SERVER as $key => $value ) { 
-       
-       if ( substr( $key , 0 , 5 ) == "HTTP_" ) { 
-               
+foreach( $_SERVER as $key => $value ) {
+
+       if ( substr( $key , 0 , 5 ) == "HTTP_" ) {
+
                $key = str_replace( "_" , "-" , substr( $key , 5) );
                $headers[ $key ] = $value;
 
        }
-       
-} 
+
+}
 
 foreach( explode( "_" , $_GET[ "keys" ] ) as $key ) {
        echo "$key: " . $headers[ strtoupper( $key ) ] . "\n";
index 0bab00f..e88ef15 100644 (file)
@@ -1,12 +1,12 @@
 <div id="post">
-<?php 
+<?php
        foreach( $_POST as $key=>$value )
                echo "<b id='$key'>$value</b>";
-?> 
+?>
 </div>
 <div id="get">
 <?php
        foreach( $_GET as $key=>$value )
                echo "<b id='$key'>$value</b>";
-?> 
+?>
 </div>
\ No newline at end of file
index 327085c..6479d26 100644 (file)
        $(document).bind("focusin", function() {
                jQuery("#boundFocus").blink();
        });
-       
+
        $(document).bind("focusout", function() {
                jQuery("#boundBlur").blink();
        });
        $(document).bind("change", function(){
                jQuery("#boundChange").blink();
        });
-       
+
        $("#text_submit").addSubmitTest("#textSubmit", true);
        $("#password_submit").addSubmitTest("#passwordSubmit", true);
        $("#submit_submit").addSubmitTest("#submitSubmit", true);
        $(document).bind("submit", function(){
                jQuery("#boundSubmit").blink();
        });
-       
+
         </script>
     </body>
 </html>
index 3ddb7ac..55df0dd 100644 (file)
@@ -15,7 +15,7 @@
                $suite = file_get_contents('index.html');
                echo str_replace( '<!-- Includes -->', $includes, $suite );
                exit;
-       }       
+       }
 ?>
 
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -43,7 +43,7 @@
        <h1 id="header">jQuery Test Suite</h1>
        <h2 id="banner" class="fail"></h2>
        <h2 id="userAgent">Choose other libraries to include</h2>
-       
+
        <form class="otherlibs" action="" method="post">
                <?php
                        $libs = scandir('otherlibs');
index 35c0302..beec2c5 100644 (file)
@@ -71,9 +71,9 @@ test("jQuery.ajax() - success callbacks - (url, options) syntax", function() {
 });
 
 test("jQuery.ajax() - success/error callbacks (remote)", function() {
-       
+
        var supports = jQuery.support.cors;
-       
+
        expect( supports ? 9 : 6 );
 
        jQuery.ajaxSetup({ timeout: 0 });
@@ -221,7 +221,7 @@ test("jQuery.ajax() - success callbacks (order)", function() {
        jQuery.ajaxSetup({ timeout: 0 });
 
        stop();
-       
+
        var testString = "";
 
        setTimeout(function(){
@@ -281,9 +281,9 @@ test("jQuery.ajax() - error callbacks", function() {
 test(".ajax() - headers" , function() {
 
        expect( 2 );
-       
+
        stop();
-       
+
        var requestHeaders = {
                siMPle: "value",
                "SometHing-elsE": "other value",
@@ -291,11 +291,11 @@ test(".ajax() - headers" , function() {
                },
                list = [],
                i;
-               
+
        for( i in requestHeaders ) {
                list.push( i );
        }
-       
+
        jQuery.ajax(url("data/headers.php?keys="+list.join( "_" ) ), {
                headers: requestHeaders,
                success: function( data , _ , xhr ) {
@@ -304,19 +304,19 @@ test(".ajax() - headers" , function() {
                                tmp.push( i , ": " , requestHeaders[ i ] , "\n" );
                        }
                        tmp = tmp.join( "" );
-                       
+
                        equals( data , tmp , "Headers were sent" );
                        equals( xhr.getResponseHeader( "Sample-Header" ) , "Hello World" , "Sample header received" );
                        start();
                },
                error: function(){ ok(false, "error"); }
        });
-               
+
 });
 
 test(".ajax() - hash", function() {
        expect(3);
-       
+
        jQuery.ajax({
                url: "data/name.html#foo",
                beforeSend: function( xhr, settings ) {
@@ -324,7 +324,7 @@ test(".ajax() - hash", function() {
                        return false;
                }
        });
-       
+
        jQuery.ajax({
                url: "data/name.html?abc#foo",
                beforeSend: function( xhr, settings ) {
@@ -332,7 +332,7 @@ test(".ajax() - hash", function() {
                        return false;
                }
        });
-       
+
        jQuery.ajax({
                url: "data/name.html?abc#foo",
                data: { "test": 123 },
@@ -346,7 +346,7 @@ test(".ajax() - hash", function() {
 test(".ajax() - 304", function() {
        expect( 1 );
        stop();
-       
+
        jQuery.ajax({
                url: url("data/notmodified.php"),
                success: function(){ ok(true, "304 ok"); },
@@ -415,7 +415,7 @@ test("jQuery.ajax() - readyState (success)", function() {
        jQuery.ajaxSetup({ timeout: 0 });
 
        stop();
-       
+
        var control = "";
 
        setTimeout(function(){
@@ -426,7 +426,7 @@ test("jQuery.ajax() - readyState (success)", function() {
                                        control += xhr.readyState;
                                }
                        },
-                       complete: function(){ 
+                       complete: function(){
                                setTimeout( function() {
                                        equals( control , "1234" , "onreadystatechange was properly called" );
                                }, 13 );
@@ -442,7 +442,7 @@ test("jQuery.ajax() - readyState (abort)", function() {
        jQuery.ajaxSetup({ timeout: 0 });
 
        stop();
-       
+
        var control = "";
 
        setTimeout(function(){
@@ -456,7 +456,7 @@ test("jQuery.ajax() - readyState (abort)", function() {
                                        control += xhr.readyState;
                                }
                        },
-                       complete: function( xhr ){ 
+                       complete: function( xhr ){
                                setTimeout( function() {
                                        equals( control , "14" , "onreadystatechange was properly called" );
                                        equals( xhr.readyState, 0 , "readyState is 0" );
@@ -473,9 +473,9 @@ test("jQuery.xhr() - reuse", function() {
        jQuery.ajaxSetup({ timeout: 0 });
 
        stop();
-       
+
        var number = 0;
-       
+
        setTimeout(function(){
                jQuery('#foo').ajaxStart(function(){
                        ok( true, "ajaxStart" );
@@ -499,7 +499,7 @@ test("jQuery.xhr() - reuse", function() {
                        success: function( _1 , _2 , xhr ){
                                ok(true, "success (1)");
                                xhr.complete(function() {
-                                       ok(true, "complete (1bis)"); 
+                                       ok(true, "complete (1bis)");
                                });
                                xhr.open( "GET", url("data/name.html") );
                                xhr.success( function(){ ok(true, "beforeSend (2)"); } )
@@ -521,7 +521,7 @@ test("jQuery.xhr() - early binding", function() {
        jQuery.ajaxSetup({ timeout: 0 });
 
        stop();
-       
+
        jQuery.xhr()
                .success( function(){ ok(true, "success"); } )
                .error( function(){ ok(false, "error"); } )
@@ -531,20 +531,20 @@ test("jQuery.xhr() - early binding", function() {
 });
 
 test("jQuery.xhr() - get native implementation", function() {
-       
+
        var xhr = jQuery.xhr(true);
-       
+
        ok( xhr.readyState !== undefined , "implements XMLHttpRequest" );
        ok( ! jQuery.isFunction( xhr.success ) , "is not jQuery's abstraction" );
-       
+
 });
 
 test("Ajax events with context", function() {
        expect(14);
-       
+
        stop();
        var context = document.createElement("div");
-       
+
        function event(e){
                equals( this, context, e.type );
        }
@@ -560,7 +560,7 @@ test("Ajax events with context", function() {
                        equals( typeof this.url, "string", "context is settings on callback " + msg );
                };
        }
-       
+
        jQuery('#foo').add(context)
                        .ajaxSend(event)
                        .ajaxComplete(event)
@@ -721,7 +721,7 @@ test("jQuery.ajax - HEAD requests", function() {
                success: function(data, status, xhr){
                        var h = xhr.getAllResponseHeaders();
                        ok( /Date/i.test(h), 'No Date in HEAD response' );
-                       
+
                        jQuery.ajax({
                                url: url("data/name.html"),
                                data: { whip_it: "good" },
@@ -863,9 +863,9 @@ test("serialize()", function() {
 
 test("jQuery.param()", function() {
        expect(22);
-       
+
        equals( !jQuery.ajaxSettings.traditional, true, "traditional flag, falsy by default" );
-  
+
        var params = {foo:"bar", baz:42, quux:"All your base are belong to us"};
        equals( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
 
@@ -880,13 +880,13 @@ test("jQuery.param()", function() {
 
        params = {foo: { bar: 'baz', beep: 42, quux: 'All your base are belong to us' } };
        equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" );
-       
+
        params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
        equals( decodeURIComponent( jQuery.param(params) ), "a[]=1&a[]=2&b[c]=3&b[d][]=4&b[d][]=5&b[e][x][]=6&b[e][y]=7&b[e][z][]=8&b[e][z][]=9&b[f]=true&b[g]=false&b[h]=undefined&i[]=10&i[]=11&j=true&k=false&l[]=undefined&l[]=0&m=cowboy+hat?", "huge structure" );
-       
+
        params = { a: [ 0, [ 1, 2 ], [ 3, [ 4, 5 ], [ 6 ] ], { b: [ 7, [ 8, 9 ], [ { c: 10, d: 11 } ], [ [ 12 ] ], [ [ [ 13 ] ] ], { e: { f: { g: [ 14, [ 15 ] ] } } }, 16 ] }, 17 ] };
        equals( decodeURIComponent( jQuery.param(params) ), "a[]=0&a[1][]=1&a[1][]=2&a[2][]=3&a[2][1][]=4&a[2][1][]=5&a[2][2][]=6&a[3][b][]=7&a[3][b][1][]=8&a[3][b][1][]=9&a[3][b][2][0][c]=10&a[3][b][2][0][d]=11&a[3][b][3][0][]=12&a[3][b][4][0][0][]=13&a[3][b][5][e][f][g][]=14&a[3][b][5][e][f][g][1][]=15&a[3][b][]=16&a[]=17", "nested arrays" );
-       
+
        params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
        equals( jQuery.param(params,true), "a=1&a=2&b=%5Bobject+Object%5D&i=10&i=11&j=true&k=false&l=undefined&l=0&m=cowboy+hat%3F", "huge structure, forced traditional" );
 
@@ -898,7 +898,7 @@ test("jQuery.param()", function() {
        equals( jQuery.param({"foo": {"bar": {}} }), "foo%5Bbar%5D=", "Empty object param" );
 
        jQuery.ajaxSetup({ traditional: true });
-       
+
        var params = {foo:"bar", baz:42, quux:"All your base are belong to us"};
        equals( jQuery.param(params), "foo=bar&baz=42&quux=All+your+base+are+belong+to+us", "simple" );
 
@@ -913,16 +913,16 @@ test("jQuery.param()", function() {
 
        params = {"foo[bar]":"baz", "foo[beep]":42, "foo[quux]":"All your base are belong to us"};
        equals( jQuery.param(params), "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All+your+base+are+belong+to+us", "even more arrays" );
-       
+
        params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
        equals( jQuery.param(params), "a=1&a=2&b=%5Bobject+Object%5D&i=10&i=11&j=true&k=false&l=undefined&l=0&m=cowboy+hat%3F", "huge structure" );
-       
+
        params = { a: [ 0, [ 1, 2 ], [ 3, [ 4, 5 ], [ 6 ] ], { b: [ 7, [ 8, 9 ], [ { c: 10, d: 11 } ], [ [ 12 ] ], [ [ [ 13 ] ] ], { e: { f: { g: [ 14, [ 15 ] ] } } }, 16 ] }, 17 ] };
        equals( jQuery.param(params), "a=0&a=1%2C2&a=3%2C4%2C5%2C6&a=%5Bobject+Object%5D&a=17", "nested arrays (not possible when jQuery.param.traditional == true)" );
-       
+
        params = { a:[1,2], b:{ c:3, d:[4,5], e:{ x:[6], y:7, z:[8,9] }, f:true, g:false, h:undefined }, i:[10,11], j:true, k:false, l:[undefined,0], m:"cowboy hat?" };
        equals( decodeURIComponent( jQuery.param(params,false) ), "a[]=1&a[]=2&b[c]=3&b[d][]=4&b[d][]=5&b[e][x][]=6&b[e][y]=7&b[e][z][]=8&b[e][z][]=9&b[f]=true&b[g]=false&b[h]=undefined&i[]=10&i[]=11&j=true&k=false&l[]=undefined&l[]=0&m=cowboy+hat?", "huge structure, forced not traditional" );
-       
+
        params = { param1: null };
        equals( jQuery.param(params,false), "param1=null", "Make sure that null params aren't traversed." );
 });
@@ -971,7 +971,7 @@ test("pass-through request object", function() {
 
 test("ajax cache", function () {
        expect(18);
-       
+
        stop();
 
        var count = 0;
@@ -1384,7 +1384,7 @@ test("jQuery.ajax() - script, Remote with POST", function() {
        expect(3);
 
        var base = window.location.href.replace(/[^\/]*$/, "");
-       
+
        stop();
 
        jQuery.ajax({
@@ -1525,7 +1525,7 @@ test("jQuery.getJSON(String, Function) - JSON object", function() {
 
 test("jQuery.getJSON - Using Native JSON", function() {
        expect(2);
-       
+
        var old = window.JSON;
        JSON = {
                parse: function(str){
@@ -1740,13 +1740,13 @@ test("jQuery.ajax - If-Modified-Since support", function() {
        jQuery.ajax({
                url: url,
                ifModified: true,
-               success: function(data, status) { 
+               success: function(data, status) {
                        equals(status, "success");
-                       
+
                        jQuery.ajax({
                                url: url,
                                ifModified: true,
-                               success: function(data, status) { 
+                               success: function(data, status) {
                                        if ( data === "FAIL" ) {
                                                ok(true, "Opera is incapable of doing .setRequestHeader('If-Modified-Since').");
                                                ok(true, "Opera is incapable of doing .setRequestHeader('If-Modified-Since').");
@@ -1787,13 +1787,13 @@ test("jQuery.ajax - Etag support", function() {
        jQuery.ajax({
                url: url,
                ifModified: true,
-               success: function(data, status) { 
+               success: function(data, status) {
                        equals(status, "success");
-                       
+
                        jQuery.ajax({
                                url: url,
                                ifModified: true,
-                               success: function(data, status) { 
+                               success: function(data, status) {
                                        if ( data === "FAIL" ) {
                                                ok(true, "Opera is incapable of doing .setRequestHeader('If-None-Match').");
                                                ok(true, "Opera is incapable of doing .setRequestHeader('If-None-Match').");
@@ -1826,38 +1826,38 @@ test("jQuery.ajax - Etag support", function() {
 test("jQuery ajax - failing cross-domain", function() {
 
        expect( 2 );
-       
+
        stop();
-       
+
        var i = 2;
-       
+
        jQuery.ajax({
                url: 'http://somewebsitethatdoesnotexist.com',
                success: function(){ ok( false , "success" ); },
                error: function(xhr,_,e){ ok( true , "file not found: " + xhr.status + " => " + e ); },
                complete: function() { if ( ! --i ) start(); }
        });
-       
+
        jQuery.ajax({
                url: 'http://www.google.com',
                success: function(){ ok( false , "success" ); },
                error: function(xhr,_,e){ ok( true , "access denied: " + xhr.status + " => " + e ); },
                complete: function() { if ( ! --i ) start(); }
        });
-       
+
 });
 
 test("jQuery ajax - atom+xml", function() {
 
        stop();
-       
+
        jQuery.ajax({
                url: url( 'data/atom+xml.php' ),
                success: function(){ ok( true , "success" ); },
                error: function(){ ok( false , "error" ); },
                complete: function() { start(); }
        });
-       
+
 });
 
 test("jQuery.ajax - active counter", function() {
index f9506b3..a1ab581 100644 (file)
@@ -4,13 +4,13 @@ var bareObj = function(value) { return value; };
 var functionReturningObj = function(value) { return (function() { return value; }); };
 
 test("jQuery.props: itegrity test", function() {
-  
+
   expect(1);
-  
+
   //  This must be maintained and equal jQuery.props
-  //  Ensure that accidental or erroneous property 
+  //  Ensure that accidental or erroneous property
   //  overwrites don't occur
-  //  This is simply for better code coverage and future proofing. 
+  //  This is simply for better code coverage and future proofing.
   var propsShouldBe = {
     "for": "htmlFor",
     "class": "className",
@@ -23,7 +23,7 @@ test("jQuery.props: itegrity test", function() {
     usemap: "useMap",
     frameborder: "frameBorder"
   };
-  
+
   same(propsShouldBe, jQuery.props, "jQuery.props passes integrity check");
 
 });
@@ -33,7 +33,7 @@ test("attr(String)", function() {
 
        // This one sometimes fails randomly ?!
        equals( jQuery('#text1').attr('value'), "Test", 'Check for value attribute' );
-       
+
        equals( jQuery('#text1').attr('value', "Test2").attr('defaultValue'), "Test", 'Check for defaultValue attribute' );
        equals( jQuery('#text1').attr('type'), "text", 'Check for type attribute' );
        equals( jQuery('#radio1').attr('type'), "radio", 'Check for type attribute' );
@@ -255,30 +255,30 @@ test("attr(String, Object)", function() {
 
 test("attr(jquery_method)", function(){
        expect(7);
-       
+
        var $elem = jQuery("<div />"),
                elem = $elem[0];
-       
-       // one at a time        
+
+       // one at a time
        $elem.attr({'html': 'foo'}, true);
        equals( elem.innerHTML, 'foo', 'attr(html)');
-       
+
        $elem.attr({'text': 'bar'}, true);
        equals( elem.innerHTML, 'bar', 'attr(text)');
-       
+
        $elem.attr({'css': {color:'red'}}, true);
        ok( /^(#ff0000|red)$/i.test(elem.style.color), 'attr(css)');
-       
+
        $elem.attr({'height': 10}, true);
        equals( elem.style.height, '10px', 'attr(height)');
-       
+
        // Multiple attributes
-       
+
        $elem.attr({
                width:10,
                css:{ paddingLeft:1, paddingRight:1 }
        }, true);
-       
+
        equals( elem.style.width, '10px', 'attr({...})');
        equals( elem.style.paddingLeft, '1px', 'attr({...})');
        equals( elem.style.paddingRight, '1px', 'attr({...})');
@@ -491,7 +491,7 @@ test( "val(Array of Numbers) (Bug #7123)", function() {
        ok( elements[1].checked, "Second element was checked" );
        ok( !elements[2].checked, "Third element was unchecked" );
        ok( !elements[3].checked, "Fourth element remained unchecked" );
-       
+
        elements.remove();
 });
 
@@ -672,7 +672,7 @@ test("removeClass(Function) with incoming value", function() {
 
        ok( !$divs.is('.test'), "Remove Class" );
 
-       QUnit.reset();  
+       QUnit.reset();
 });
 
 var testToggleClass = function(valueObj) {
@@ -740,21 +740,21 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
 
        var e = jQuery("#firstp"), old = e.attr("class");
        ok( !e.is(".test"), "Assert class not present" );
-       
+
        e.toggleClass(function(i, val) {
                equals( val, old, "Make sure the incoming value is correct." );
                return "test";
        });
        ok( e.is(".test"), "Assert class present" );
-       
+
        old = e.attr("class");
-       
+
        e.toggleClass(function(i, val) {
                equals( val, old, "Make sure the incoming value is correct." );
                return "test";
        });
        ok( !e.is(".test"), "Assert class not present" );
-       
+
        old = e.attr("class");
 
        // class name with a boolean
@@ -764,18 +764,18 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
                return "test";
        }, false );
        ok( !e.is(".test"), "Assert class not present" );
-       
+
        old = e.attr("class");
-       
+
        e.toggleClass(function(i, val, state) {
                equals( val, old, "Make sure the incoming value is correct." );
                equals( state, true, "Make sure that the state is passed in." );
                return "test";
        }, true );
        ok( e.is(".test"), "Assert class present" );
-       
+
        old = e.attr("class");
-       
+
        e.toggleClass(function(i, val, state) {
                equals( val, old, "Make sure the incoming value is correct." );
                equals( state, false, "Make sure that the state is passed in." );
@@ -790,25 +790,25 @@ test("toggleClass(Fucntion[, boolean]) with incoming value", function() {
 
 test("addClass, removeClass, hasClass", function() {
        expect(17);
+
        var jq = jQuery("<p>Hi</p>"), x = jq[0];
+
        jq.addClass("hi");
        equals( x.className, "hi", "Check single added class" );
+
        jq.addClass("foo bar");
        equals( x.className, "hi foo bar", "Check more added classes" );
+
        jq.removeClass();
        equals( x.className, "", "Remove all classes" );
+
        jq.addClass("hi foo bar");
        jq.removeClass("foo");
        equals( x.className, "hi bar", "Check removal of one class" );
+
        ok( jq.hasClass("hi"), "Check has1" );
        ok( jq.hasClass("bar"), "Check has2" );
+
        var jq = jQuery("<p class='class1\nclass2\tcla.ss3\n\rclass4'></p>");
        ok( jq.hasClass("class1"), "Check hasClass with line feed" );
        ok( jq.is(".class1"), "Check is with line feed" );
@@ -817,7 +817,7 @@ test("addClass, removeClass, hasClass", function() {
        ok( jq.hasClass("cla.ss3"), "Check hasClass with dot" );
        ok( jq.hasClass("class4"), "Check hasClass with carriage return" );
        ok( jq.is(".class4"), "Check is with carriage return" );
+
        jq.removeClass("class2");
        ok( jq.hasClass("class2")==false, "Check the class has been properly removed" );
        jq.removeClass("cla");
index cddd902..fbbf937 100644 (file)
@@ -178,24 +178,24 @@ if ( !jQuery.support.opacity ) {
 
 test("css(String, Function)", function() {
        expect(3);
-       
+
        var sizes = ["10px", "20px", "30px"];
-       
-       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" + 
-                                "<div class='cssFunction'></div>" + 
+
+       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
+                                "<div class='cssFunction'></div>" +
                                 "<div class='cssFunction'></div></div>")
                .appendTo("body");
-       
+
        var index = 0;
-       
+
        jQuery("#cssFunctionTest div").css("font-size", function() {
                var size = sizes[index];
                index++;
                return size;
        });
-       
+
        index = 0;
-       
+
        jQuery("#cssFunctionTest div").each(function() {
                var computedSize = jQuery(this).css("font-size")
                var expectedSize = sizes[index]
@@ -208,24 +208,24 @@ test("css(String, Function)", function() {
 
 test("css(String, Function) with incoming value", function() {
        expect(3);
-       
+
        var sizes = ["10px", "20px", "30px"];
-       
-       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" + 
-                                "<div class='cssFunction'></div>" + 
+
+       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
+                                "<div class='cssFunction'></div>" +
                                 "<div class='cssFunction'></div></div>")
                .appendTo("body");
-       
+
        var index = 0;
-       
+
        jQuery("#cssFunctionTest div").css("font-size", function() {
                var size = sizes[index];
                index++;
                return size;
        });
-       
+
        index = 0;
-       
+
        jQuery("#cssFunctionTest div").css("font-size", function(i, computedSize) {
                var expectedSize = sizes[index]
                equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
@@ -238,61 +238,61 @@ test("css(String, Function) with incoming value", function() {
 
 test("css(Object) where values are Functions", function() {
        expect(3);
-       
+
        var sizes = ["10px", "20px", "30px"];
-       
-       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" + 
-                                "<div class='cssFunction'></div>" + 
+
+       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
+                                "<div class='cssFunction'></div>" +
                                 "<div class='cssFunction'></div></div>")
                .appendTo("body");
 
        var index = 0;
-       
+
        jQuery("#cssFunctionTest div").css({fontSize: function() {
                var size = sizes[index];
                index++;
                return size;
        }});
-       
+
        index = 0;
-       
+
        jQuery("#cssFunctionTest div").each(function() {
                var computedSize = jQuery(this).css("font-size")
                var expectedSize = sizes[index]
                equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
                index++;
        });
-       
+
        jQuery("#cssFunctionTest").remove();
 });
 
 test("css(Object) where values are Functions with incoming values", function() {
        expect(3);
-       
+
        var sizes = ["10px", "20px", "30px"];
-       
-       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" + 
-                                "<div class='cssFunction'></div>" + 
+
+       jQuery("<div id='cssFunctionTest'><div class='cssFunction'></div>" +
+                                "<div class='cssFunction'></div>" +
                                 "<div class='cssFunction'></div></div>")
                .appendTo("body");
 
        var index = 0;
-       
+
        jQuery("#cssFunctionTest div").css({fontSize: function() {
                var size = sizes[index];
                index++;
                return size;
        }});
-       
+
        index = 0;
-       
+
        jQuery("#cssFunctionTest div").css({"font-size": function(i, computedSize) {
                var expectedSize = sizes[index]
                equals( computedSize, expectedSize, "Div #" + index + " should be " + expectedSize );
                index++;
                return computedSize;
        }});
-       
+
        jQuery("#cssFunctionTest").remove();
 });
 
index 8255bf3..b38e73b 100644 (file)
@@ -45,13 +45,13 @@ test("width() with function", function() {
 
 test("width() with function args", function() {
        expect( 2 );
-       
+
        var $div = jQuery("#nothiddendiv");
        $div.width( 30 ).width(function(i, width) {
                equals( width, 30, "Make sure previous value is corrrect." );
                return width + 1;
        });
-       
+
        equals( $div.width(), 31, "Make sure value was modified correctly." );
 });
 
@@ -92,13 +92,13 @@ test("height() with function", function() {
 
 test("height() with function args", function() {
        expect( 2 );
-       
+
        var $div = jQuery("#nothiddendiv");
        $div.height( 30 ).height(function(i, height) {
                equals( height, 30, "Make sure previous value is corrrect." );
                return height + 1;
        });
-       
+
        equals( $div.height(), 31, "Make sure value was modified correctly." );
 });
 
@@ -112,13 +112,13 @@ test("innerWidth()", function() {
                border: "2px solid #fff",
                width: 30
        });
-       
+
        equals($div.innerWidth(), 30, "Test with margin and border");
        $div.css("padding", "20px");
        equals($div.innerWidth(), 70, "Test with margin, border and padding");
        $div.hide();
        equals($div.innerWidth(), 70, "Test hidden div");
-       
+
        // reset styles
        $div.css({ display: "", border: "", padding: "", width: "", height: "" });
 
@@ -130,7 +130,7 @@ test("innerWidth()", function() {
 
 test("innerHeight()", function() {
        expect(4);
-       
+
        var $div = jQuery("#nothiddendiv");
        // set styles
        $div.css({
@@ -138,13 +138,13 @@ test("innerHeight()", function() {
                border: "2px solid #fff",
                height: 30
        });
-       
+
        equals($div.innerHeight(), 30, "Test with margin and border");
        $div.css("padding", "20px");
        equals($div.innerHeight(), 70, "Test with margin, border and padding");
        $div.hide();
        equals($div.innerHeight(), 70, "Test hidden div");
-       
+
        // reset styles
        $div.css({ display: "", border: "", padding: "", width: "", height: "" });
 
@@ -156,10 +156,10 @@ test("innerHeight()", function() {
 
 test("outerWidth()", function() {
        expect(7);
-       
+
        var $div = jQuery("#nothiddendiv");
        $div.css("width", 30);
-       
+
        equals($div.outerWidth(), 30, "Test with only width set");
        $div.css("padding", "20px");
        equals($div.outerWidth(), 70, "Test with padding");
@@ -171,7 +171,7 @@ test("outerWidth()", function() {
        equals($div.outerWidth(true), 94, "Test with padding, border and margin with margin option");
        $div.hide();
        equals($div.outerWidth(true), 94, "Test hidden div with padding, border and margin with margin option");
-       
+
        // reset styles
        $div.css({ position: "", display: "", border: "", padding: "", width: "", height: "" });
 
@@ -183,10 +183,10 @@ test("outerWidth()", function() {
 
 test("outerHeight()", function() {
        expect(7);
-       
+
        var $div = jQuery("#nothiddendiv");
        $div.css("height", 30);
-       
+
        equals($div.outerHeight(), 30, "Test with only width set");
        $div.css("padding", "20px");
        equals($div.outerHeight(), 70, "Test with padding");
@@ -197,7 +197,7 @@ test("outerHeight()", function() {
        equals($div.outerHeight(true), 94, "Test with padding, border and margin with margin option");
        $div.hide();
        equals($div.outerHeight(true), 94, "Test hidden div with padding, border and margin with margin option");
-       
+
        // reset styles
        $div.css({ display: "", border: "", padding: "", width: "", height: "" });
 
index 9690796..e96f6b6 100644 (file)
@@ -64,7 +64,7 @@ test("show()", function() {
 
        // #show-tests * is set display: none in CSS
        jQuery("#main").append('<div id="show-tests"><div><p><a href="#"></a></p><code></code><pre></pre><span></span></div><table><thead><tr><th></th></tr></thead><tbody><tr><td></td></tr></tbody></table><ul><li></li></ul></div><table id="test-table"></table>');
-       
+
        var old = jQuery("#test-table").show().css("display") !== "table";
        jQuery("#test-table").remove();
 
@@ -140,15 +140,15 @@ test("Persist correct display value", function() {
 
        // #show-tests * is set display: none in CSS
        jQuery("#main").append('<div id="show-tests"><span style="position:absolute;">foo</span></div>');
-  
-       var $span = jQuery("#show-tests span"),  
+
+       var $span = jQuery("#show-tests span"),
          displayNone = $span.css("display"),
          display = '', num = 0;
-               
+
   $span.show();
-  
+
   display = $span.css("display");
-  
+
   $span.hide();
 
   $span.fadeIn(100, function() {
@@ -156,13 +156,13 @@ test("Persist correct display value", function() {
     equals($span.css("display"), display, "Expecting display: " + display);
 
     $span.fadeOut(100, function () {
-  
+
       equals($span.css("display"), displayNone, "Expecting display: " + displayNone);
-      
+
       $span.fadeIn(100, function() {
-      
+
         equals($span.css("display"), display, "Expecting display: " + display);
-      
+
         start();
       });
     });
@@ -194,7 +194,7 @@ test("animate block as inline width/height", function() {
 
        var span = jQuery("<span>").css("display", "inline-block").appendTo("body"),
                expected = span.css("display");
-       
+
        span.remove();
 
        if ( jQuery.support.inlineBlockNeedsLayout || expected === "inline-block" ) {
@@ -220,7 +220,7 @@ test("animate native inline width/height", function() {
 
        var span = jQuery("<span>").css("display", "inline-block").appendTo("body"),
                expected = span.css("display");
-       
+
        span.remove();
 
        if ( jQuery.support.inlineBlockNeedsLayout || expected === "inline-block" ) {
@@ -889,7 +889,7 @@ test("hide hidden elements, with animation (bug #7141)", function() {
        expect(3);
        QUnit.reset();
        stop();
-       
+
        var div = jQuery("<div style='display:none'></div>").appendTo("#main");
        equals( div.css("display"), "none", "Element is hidden by default" );
        div.hide(1, function () {
index 83f6096..b4672a8 100644 (file)
@@ -4,20 +4,20 @@ test("null or undefined handler", function() {
        expect(2);
   // Supports Fixes bug #7229
   try {
-  
+
     jQuery("#firstp").click(null);
-  
+
     ok(true, "Passing a null handler will not throw an exception");
 
-  } catch (e) {}  
+  } catch (e) {}
 
   try {
-  
+
     jQuery("#firstp").click(undefined);
-  
+
     ok(true, "Passing an undefined handler will not throw an exception");
 
-  } catch (e) {}  
+  } catch (e) {}
 });
 
 test("bind(), with data", function() {
@@ -175,7 +175,7 @@ test("bind(), no data", function() {
 
 test("bind/one/unbind(Object)", function(){
        expect(6);
-       
+
        var clickCounter = 0, mouseoverCounter = 0;
        function handler(event) {
                if (event.type == "click")
@@ -183,18 +183,18 @@ test("bind/one/unbind(Object)", function(){
                else if (event.type == "mouseover")
                        mouseoverCounter++;
        };
-       
+
        function handlerWithData(event) {
                if (event.type == "click")
                        clickCounter += event.data;
                else if (event.type == "mouseover")
                        mouseoverCounter += event.data;
        };
-       
+
        function trigger(){
                $elem.trigger("click").trigger("mouseover");
        }
-       
+
        var $elem = jQuery("#firstp")
                // Regular bind
                .bind({
@@ -206,16 +206,16 @@ test("bind/one/unbind(Object)", function(){
                        click:handlerWithData,
                        mouseover:handlerWithData
                }, 2 );
-       
+
        trigger();
-       
+
        equals( clickCounter, 3, "bind(Object)" );
        equals( mouseoverCounter, 3, "bind(Object)" );
-       
+
        trigger();
        equals( clickCounter, 4, "bind(Object)" );
        equals( mouseoverCounter, 4, "bind(Object)" );
-       
+
        jQuery("#firstp").unbind({
                click:handler,
                mouseover:handler
@@ -228,10 +228,10 @@ test("bind/one/unbind(Object)", function(){
 
 test("live/die(Object), delegate/undelegate(String, Object)", function() {
        expect(6);
-       
+
        var clickCounter = 0, mouseoverCounter = 0,
                $p = jQuery("#firstp"), $a = $p.find("a:first");
-       
+
        var events = {
                click: function( event ) {
                        clickCounter += ( event.data || 1 );
@@ -240,26 +240,26 @@ test("live/die(Object), delegate/undelegate(String, Object)", function() {
                        mouseoverCounter += ( event.data || 1 );
                }
        };
-       
+
        function trigger() {
                $a.trigger("click").trigger("mouseover");
        }
-       
+
        $a.live( events );
        $p.delegate( "a", events, 2 );
-       
+
        trigger();
        equals( clickCounter, 3, "live/delegate" );
        equals( mouseoverCounter, 3, "live/delegate" );
-       
+
        $p.undelegate( "a", events );
-       
+
        trigger();
        equals( clickCounter, 4, "undelegate" );
        equals( mouseoverCounter, 4, "undelegate" );
-       
+
        $a.die( events );
-       
+
        trigger();
        equals( clickCounter, 4, "die" );
        equals( mouseoverCounter, 4, "die" );
@@ -267,12 +267,12 @@ test("live/die(Object), delegate/undelegate(String, Object)", function() {
 
 test("live/delegate immediate propagation", function() {
        expect(2);
-       
+
        var $p = jQuery("#firstp"), $a = $p.find("a:first"), lastClick;
-       
+
        lastClick = "";
-       $a.live( "click", function(e) { 
-               lastClick = "click1"; 
+       $a.live( "click", function(e) {
+               lastClick = "click1";
                e.stopImmediatePropagation();
        });
        $a.live( "click", function(e) {
@@ -281,10 +281,10 @@ test("live/delegate immediate propagation", function() {
        $a.trigger( "click" );
        equals( lastClick, "click1", "live stopImmediatePropagation" );
        $a.die( "click" );
-       
+
        lastClick = "";
-       $p.delegate( "a", "click", function(e) { 
-               lastClick = "click1"; 
+       $p.delegate( "a", "click", function(e) {
+               lastClick = "click1";
                e.stopImmediatePropagation();
        });
        $p.delegate( "a", "click", function(e) {
@@ -303,7 +303,7 @@ test("bind/delegate bubbling, isDefaultPrevented (Bug #7793)", function() {
                        // Use a native click so we don't get jQuery simulated bubbling
                        if ( document.createEvent ) {
                                var e = document.createEvent( "MouseEvents" );
-                               e.initEvent( "click", true, true ); 
+                               e.initEvent( "click", true, true );
                                $jq[0].dispatchEvent(e);
                        }
                        else if ( $jq[0].click ) {
@@ -333,7 +333,7 @@ test("bind/delegate bubbling, isDefaultPrevented (Bug #7793)", function() {
 test("bind(), iframes", function() {
        // events don't work with iframes, see #939 - this test fails in IE because of contentDocument
        var doc = jQuery("#loadediframe").contents();
-       
+
        jQuery("div", doc).bind("click", function() {
                ok( true, "Binding to element inside iframe" );
        }).click().unbind('click');
@@ -395,7 +395,7 @@ test("bind(), namespaced events, cloned events", function() {
 
 test("bind(), multi-namespaced events", function() {
        expect(6);
-       
+
        var order = [
                "click.test.abc",
                "click.test.abc",
@@ -404,7 +404,7 @@ test("bind(), multi-namespaced events", function() {
                "click.test",
                "custom.test2"
        ];
-       
+
        function check(name, msg){
                same(name, order.shift(), msg);
        }
@@ -424,7 +424,7 @@ test("bind(), multi-namespaced events", function() {
        jQuery("#firstp").bind("click.test.abc",function(e){
                check("click.test.abc", "Namespaced click triggered");
        });
-       
+
        // Those would not trigger/unbind (#5303)
        jQuery("#firstp").trigger("click.a.test");
        jQuery("#firstp").unbind("click.a.test");
@@ -488,7 +488,7 @@ test("bind(), make sure order is maintained", function() {
 
        elem.unbind("click");
 });
+
 test("bind(), with different this object", function() {
        expect(4);
        var thisObject = { myThis: true },
@@ -500,7 +500,7 @@ test("bind(), with different this object", function() {
                        equals( this, thisObject, "bind() with different this object and data" );
                        equals( event.data, data, "bind() with different this object and data" );
                };
-       
+
        jQuery("#firstp")
                .bind("click", jQuery.proxy(handler1, thisObject)).click().unbind("click", handler1)
                .bind("click", data, jQuery.proxy(handler2, thisObject)).click().unbind("click", handler2);
@@ -566,29 +566,29 @@ test("bind()/trigger()/unbind() on plain object", function() {
 
        // Make sure it doesn't complain when no events are found
        jQuery(obj).unbind("test");
-       
+
        equals( obj.__events__, undefined, "Make sure events object is removed" );
 });
 
 test("unbind(type)", function() {
        expect( 0 );
-       
+
        var $elem = jQuery("#firstp"),
                message;
 
        function error(){
                ok( false, message );
        }
-       
+
        message = "unbind passing function";
        $elem.bind('error1', error).unbind('error1',error).triggerHandler('error1');
-       
+
        message = "unbind all from event";
        $elem.bind('error1', error).unbind('error1').triggerHandler('error1');
-       
+
        message = "unbind all";
        $elem.bind('error1', error).unbind().triggerHandler('error1');
-       
+
        message = "unbind many with function";
        $elem.bind('error1 error2',error)
                 .unbind('error1 error2', error )
@@ -598,7 +598,7 @@ test("unbind(type)", function() {
        $elem.bind('error1 error2',error)
                 .unbind('error1 error2')
                 .trigger('error1').triggerHandler('error2');
-       
+
        message = "unbind without a type or handler";
        $elem.bind("error1 error2.test",error)
                 .unbind()
@@ -607,7 +607,7 @@ test("unbind(type)", function() {
 
 test("unbind(eventObject)", function() {
        expect(4);
-       
+
        var $elem = jQuery("#firstp"),
                num;
 
@@ -616,7 +616,7 @@ test("unbind(eventObject)", function() {
                $elem.trigger('foo').triggerHandler('bar');
                equals( num, expected, "Check the right handlers are triggered" );
        }
-       
+
        $elem
                // This handler shouldn't be unbound
                .bind('foo', function(){
@@ -630,14 +630,14 @@ test("unbind(eventObject)", function() {
                .bind('bar', function(){
                        num += 4;
                });
-               
+
        assert( 7 );
        assert( 5 );
-       
+
        $elem.unbind('bar');
        assert( 1 );
-       
-       $elem.unbind(); 
+
+       $elem.unbind();
        assert( 0 );
 });
 
@@ -667,25 +667,25 @@ test("trigger() shortcuts", function() {
                ok( !close[0], "Context element does not exist, direct access to element must return undefined" );
                return false;
        }).click();
-       
+
        jQuery("#check1").click(function() {
                ok( true, "click event handler for checkbox gets fired twice, see #815" );
        }).click();
-       
+
        var counter = 0;
        jQuery('#firstp')[0].onclick = function(event) {
                counter++;
        };
        jQuery('#firstp').click();
        equals( counter, 1, "Check that click, triggers onclick event handler also" );
-       
+
        var clickCounter = 0;
        jQuery('#simon1')[0].onclick = function(event) {
                clickCounter++;
        };
        jQuery('#simon1').click();
        equals( clickCounter, 1, "Check that click, triggers onclick event handler on an a tag also" );
-       
+
        jQuery('<img />').load(function(){
                ok( true, "Trigger the load event, using the shortcut .load() (#2819)");
        }).load();
@@ -763,7 +763,7 @@ test("trigger(type, [data], [fn])", function() {
                pass = false;
        }
        ok( pass, "Trigger focus on hidden element" );
-       
+
        pass = true;
        try {
                jQuery('table:first').bind('test:test', function(){}).trigger('test:test');
@@ -803,28 +803,28 @@ test("jQuery.Event.currentTarget", function(){
 
 test("trigger(eventObject, [data], [fn])", function() {
        expect(25);
-       
+
        var $parent = jQuery('<div id="par" />').hide().appendTo('body'),
                $child = jQuery('<p id="child">foo</p>').appendTo( $parent );
-       
-       var event = jQuery.Event("noNew");      
+
+       var event = jQuery.Event("noNew");
        ok( event != window, "Instantiate jQuery.Event without the 'new' keyword" );
        equals( event.type, "noNew", "Verify its type" );
-       
+
        equals( event.isDefaultPrevented(), false, "Verify isDefaultPrevented" );
        equals( event.isPropagationStopped(), false, "Verify isPropagationStopped" );
        equals( event.isImmediatePropagationStopped(), false, "Verify isImmediatePropagationStopped" );
-       
+
        event.preventDefault();
        equals( event.isDefaultPrevented(), true, "Verify isDefaultPrevented" );
        event.stopPropagation();
        equals( event.isPropagationStopped(), true, "Verify isPropagationStopped" );
-       
+
        event.isPropagationStopped = function(){ return false };
        event.stopImmediatePropagation();
        equals( event.isPropagationStopped(), true, "Verify isPropagationStopped" );
        equals( event.isImmediatePropagationStopped(), true, "Verify isPropagationStopped" );
-       
+
        $parent.bind('foo',function(e){
                // Tries bubbling
                equals( e.type, 'foo', 'Verify event type when passed passing an event object' );
@@ -832,72 +832,72 @@ test("trigger(eventObject, [data], [fn])", function() {
                equals( e.currentTarget.id, 'par', 'Verify event.target when passed passing an event object' );
                equals( e.secret, 'boo!', 'Verify event object\'s custom attribute when passed passing an event object' );
        });
-       
+
        // test with an event object
        event = new jQuery.Event("foo");
        event.secret = 'boo!';
        $child.trigger(event);
-       
+
        // test with a literal object
        $child.trigger({type:'foo', secret:'boo!'});
-       
+
        $parent.unbind();
 
        function error(){
                ok( false, "This assertion shouldn't be reached");
        }
-       
+
        $parent.bind('foo', error );
-       
+
        $child.bind('foo',function(e, a, b, c ){
                equals( arguments.length, 4, "Check arguments length");
                equals( a, 1, "Check first custom argument");
                equals( b, 2, "Check second custom argument");
                equals( c, 3, "Check third custom argument");
-               
+
                equals( e.isDefaultPrevented(), false, "Verify isDefaultPrevented" );
                equals( e.isPropagationStopped(), false, "Verify isPropagationStopped" );
                equals( e.isImmediatePropagationStopped(), false, "Verify isImmediatePropagationStopped" );
-               
+
                // Skips both errors
                e.stopImmediatePropagation();
-               
+
                return "result";
        });
-       
+
        // We should add this back in when we want to test the order
        // in which event handlers are iterated.
        //$child.bind('foo', error );
-       
+
        event = new jQuery.Event("foo");
        $child.trigger( event, [1,2,3] ).unbind();
        equals( event.result, "result", "Check event.result attribute");
-       
+
        // Will error if it bubbles
        $child.triggerHandler('foo');
-       
+
        $child.unbind();
        $parent.unbind().remove();
 });
 
 test("jQuery.Event.currentTarget", function(){
        expect(1);
-       
+
        var counter = 0,
                $elem = jQuery('<button>a</button>').click(function(e){
                equals( e.currentTarget, this, "Check currentTarget on "+(counter++?"native":"fake") +" event" );
        });
-       
+
        // Fake event
        $elem.trigger('click');
-       
+
        // Cleanup
        $elem.unbind();
 });
 
 test("toggle(Function, Function, ...)", function() {
        expect(16);
-       
+
        var count = 0,
                fn1 = function(e) { count++; },
                fn2 = function(e) { count--; },
@@ -920,7 +920,7 @@ test("toggle(Function, Function, ...)", function() {
                });
                return false;
        }).click().click().click();
-       
+
        var turn = 0;
        var fns = [
                function(){
@@ -933,7 +933,7 @@ test("toggle(Function, Function, ...)", function() {
                        turn = 3;
                }
        ];
-       
+
        var $div = jQuery("<div>&nbsp;</div>").toggle( fns[0], fns[1], fns[2] );
        $div.click();
        equals( turn, 1, "Trying toggle with 3 functions, attempt 1 yields 1");
@@ -945,7 +945,7 @@ test("toggle(Function, Function, ...)", function() {
        equals( turn, 1, "Trying toggle with 3 functions, attempt 4 yields 1");
        $div.click();
        equals( turn, 2, "Trying toggle with 3 functions, attempt 5 yields 2");
-       
+
        $div.unbind('click',fns[0]);
        var data = jQuery.data( $div[0], 'events' );
        ok( !data, "Unbinding one function from toggle unbinds them all");
@@ -1087,7 +1087,7 @@ test(".live()/.die()", function() {
        // Test binding with different this object, event data, and trigger data
        jQuery("#foo").live("click", true, jQuery.proxy(function(e, data){
                equals( e.data, true, "live with with different this object, event data, and trigger data" );
-               equals( this.foo, "bar", "live with with different this object, event data, and trigger data" ); 
+               equals( this.foo, "bar", "live with with different this object, event data, and trigger data" );
                equals( data, true, "live with with different this object, event data, and trigger data")
        }, { foo: "bar" }));
        jQuery("#foo").trigger("click", true).die("click");
@@ -1148,25 +1148,25 @@ test(".live()/.die()", function() {
 
        // Cleanup
        jQuery("#nothiddendiv").die("foo", callback);
-       
+
        // Make sure we don't loose the target by DOM modifications
        // after the bubble already reached the liveHandler
        var livec = 0, elemDiv = jQuery("#nothiddendivchild").html('<span></span>').get(0);
-       
+
        jQuery("#nothiddendivchild").live("click", function(e){ jQuery("#nothiddendivchild").html(''); });
        jQuery("#nothiddendivchild").live("click", function(e){ if(e.target) {livec++;} });
-       
+
        jQuery("#nothiddendiv span").click();
        equals( jQuery("#nothiddendiv span").length, 0, "Verify that first handler occurred and modified the DOM." );
        equals( livec, 1, "Verify that second handler occurred even with nuked target." );
-       
+
        // Cleanup
        jQuery("#nothiddendivchild").die("click");
 
        // Verify that .live() ocurs and cancel buble in the same order as
        // we would expect .bind() and .click() without delegation
        var lived = 0, livee = 0;
-       
+
        // bind one pair in one order
        jQuery('span#liveSpan1 a').live('click', function(){ lived++; return false; });
        jQuery('span#liveSpan1').live('click', function(){ livee++; });
@@ -1184,22 +1184,22 @@ test(".live()/.die()", function() {
        jQuery('span#liveSpan2 a').click();
        equals( lived, 1, "Verify that only one first handler occurred." );
        equals( livee, 0, "Verify that second handler doesn't." );
-       
+
        // Cleanup
        jQuery("span#liveSpan1 a").die("click")
        jQuery("span#liveSpan1").die("click");
        jQuery("span#liveSpan2 a").die("click");
        jQuery("span#liveSpan2").die("click");
-       
+
        // Test this, target and currentTarget are correct
-       jQuery('span#liveSpan1').live('click', function(e){ 
+       jQuery('span#liveSpan1').live('click', function(e){
                equals( this.id, 'liveSpan1', 'Check the this within a live handler' );
                equals( e.currentTarget.id, 'liveSpan1', 'Check the event.currentTarget within a live handler' );
                equals( e.target.nodeName.toUpperCase(), 'A', 'Check the event.target within a live handler' );
        });
-       
+
        jQuery('span#liveSpan1 a').click();
-       
+
        jQuery('span#liveSpan1').die('click');
 
        // Work with deep selectors
@@ -1333,18 +1333,18 @@ test("live with change", function(){
        expect(8);
 
        var selectChange = 0, checkboxChange = 0;
-       
+
        var select = jQuery("select[name='S1']")
        select.live("change", function() {
                selectChange++;
        });
-       
-       var checkbox = jQuery("#check2"), 
+
+       var checkbox = jQuery("#check2"),
                checkboxFunction = function(){
                        checkboxChange++;
                }
        checkbox.live("change", checkboxFunction);
-       
+
        // test click on select
 
        // second click that changed it
@@ -1352,17 +1352,17 @@ test("live with change", function(){
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 1, "Change on click." );
-       
+
        // test keys on select
        selectChange = 0;
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 1, "Change on keyup." );
-       
+
        // test click on checkbox
        checkbox.trigger("change");
        equals( checkboxChange, 1, "Change on checkbox." );
-       
+
        // test blur/focus on text
        var text = jQuery("#name"), textChange = 0, oldTextVal = text.val();
        text.live("change", function() {
@@ -1375,7 +1375,7 @@ test("live with change", function(){
 
        text.val(oldTextVal);
        text.die("change");
-       
+
        // test blur/focus on password
        var password = jQuery("#name"), passwordChange = 0, oldPasswordVal = password.val();
        password.live("change", function() {
@@ -1388,9 +1388,9 @@ test("live with change", function(){
 
        password.val(oldPasswordVal);
        password.die("change");
-       
+
        // make sure die works
-       
+
        // die all changes
        selectChange = 0;
        select.die("change");
@@ -1402,7 +1402,7 @@ test("live with change", function(){
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 0, "Die on keyup works." );
-       
+
        // die specific checkbox
        checkbox.die("change", checkboxFunction);
        checkbox.trigger("change");
@@ -1411,7 +1411,7 @@ test("live with change", function(){
 
 test("live with submit", function() {
        var count1 = 0, count2 = 0;
-       
+
        jQuery("#testForm").live("submit", function(ev) {
                count1++;
                ev.preventDefault();
@@ -1425,7 +1425,7 @@ test("live with submit", function() {
        jQuery("#testForm input[name=sub1]").submit();
        equals( count1, 1, "Verify form submit." );
        equals( count2, 1, "Verify body submit." );
-       
+
        jQuery("#testForm").die("submit");
        jQuery("body").die("submit");
 });
@@ -1603,7 +1603,7 @@ test(".delegate()/.undelegate()", function() {
        // Test binding with different this object, event data, and trigger data
        jQuery("#body").delegate("#foo", "click", true, jQuery.proxy(function(e, data){
                equals( e.data, true, "delegate with with different this object, event data, and trigger data" );
-               equals( this.foo, "bar", "delegate with with different this object, event data, and trigger data" ); 
+               equals( this.foo, "bar", "delegate with with different this object, event data, and trigger data" );
                equals( data, true, "delegate with with different this object, event data, and trigger data")
        }, { foo: "bar" }));
        jQuery("#foo").trigger("click", true);
@@ -1665,25 +1665,25 @@ test(".delegate()/.undelegate()", function() {
 
        // Cleanup
        jQuery("#body").undelegate("#nothiddendiv", "foo", callback);
-       
+
        // Make sure we don't loose the target by DOM modifications
        // after the bubble already reached the liveHandler
        var livec = 0, elemDiv = jQuery("#nothiddendivchild").html('<span></span>').get(0);
-       
+
        jQuery("#body").delegate("#nothiddendivchild", "click", function(e){ jQuery("#nothiddendivchild").html(''); });
        jQuery("#body").delegate("#nothiddendivchild", "click", function(e){ if(e.target) {livec++;} });
-       
+
        jQuery("#nothiddendiv span").click();
        equals( jQuery("#nothiddendiv span").length, 0, "Verify that first handler occurred and modified the DOM." );
        equals( livec, 1, "Verify that second handler occurred even with nuked target." );
-       
+
        // Cleanup
        jQuery("#body").undelegate("#nothiddendivchild", "click");
 
        // Verify that .live() ocurs and cancel buble in the same order as
        // we would expect .bind() and .click() without delegation
        var lived = 0, livee = 0;
-       
+
        // bind one pair in one order
        jQuery("#body").delegate('span#liveSpan1 a', 'click', function(){ lived++; return false; });
        jQuery("#body").delegate('span#liveSpan1', 'click', function(){ livee++; });
@@ -1701,19 +1701,19 @@ test(".delegate()/.undelegate()", function() {
        jQuery('span#liveSpan2 a').click();
        equals( lived, 1, "Verify that only one first handler occurred." );
        equals( livee, 0, "Verify that second handler doesn't." );
-       
+
        // Cleanup
        jQuery("#body").undelegate("click");
-       
+
        // Test this, target and currentTarget are correct
-       jQuery("#body").delegate('span#liveSpan1', 'click', function(e){ 
+       jQuery("#body").delegate('span#liveSpan1', 'click', function(e){
                equals( this.id, 'liveSpan1', 'Check the this within a delegate handler' );
                equals( e.currentTarget.id, 'liveSpan1', 'Check the event.currentTarget within a delegate handler' );
                equals( e.target.nodeName.toUpperCase(), 'A', 'Check the event.target within a delegate handler' );
        });
-       
+
        jQuery('span#liveSpan1 a').click();
-       
+
        jQuery("#body").undelegate('span#liveSpan1', 'click');
 
        // Work with deep selectors
@@ -1789,18 +1789,18 @@ test("delegate with change", function(){
        expect(8);
 
        var selectChange = 0, checkboxChange = 0;
-       
+
        var select = jQuery("select[name='S1']");
        jQuery("#body").delegate("select[name='S1']", "change", function() {
                selectChange++;
        });
-       
-       var checkbox = jQuery("#check2"), 
+
+       var checkbox = jQuery("#check2"),
                checkboxFunction = function(){
                        checkboxChange++;
                }
        jQuery("#body").delegate("#check2", "change", checkboxFunction);
-       
+
        // test click on select
 
        // second click that changed it
@@ -1808,17 +1808,17 @@ test("delegate with change", function(){
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 1, "Change on click." );
-       
+
        // test keys on select
        selectChange = 0;
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 1, "Change on keyup." );
-       
+
        // test click on checkbox
        checkbox.trigger("change");
        equals( checkboxChange, 1, "Change on checkbox." );
-       
+
        // test blur/focus on text
        var text = jQuery("#name"), textChange = 0, oldTextVal = text.val();
        jQuery("#body").delegate("#name", "change", function() {
@@ -1831,7 +1831,7 @@ test("delegate with change", function(){
 
        text.val(oldTextVal);
        jQuery("#body").die("change");
-       
+
        // test blur/focus on password
        var password = jQuery("#name"), passwordChange = 0, oldPasswordVal = password.val();
        jQuery("#body").delegate("#name", "change", function() {
@@ -1844,9 +1844,9 @@ test("delegate with change", function(){
 
        password.val(oldPasswordVal);
        jQuery("#body").undelegate("#name", "change");
-       
+
        // make sure die works
-       
+
        // die all changes
        selectChange = 0;
        jQuery("#body").undelegate("select[name='S1']", "change");
@@ -1858,7 +1858,7 @@ test("delegate with change", function(){
        select[0].selectedIndex = select[0].selectedIndex ? 0 : 1;
        select.trigger("change");
        equals( selectChange, 0, "Die on keyup works." );
-       
+
        // die specific checkbox
        jQuery("#body").undelegate("#check2", "change", checkboxFunction);
        checkbox.trigger("change");
@@ -1867,7 +1867,7 @@ test("delegate with change", function(){
 
 test("delegate with submit", function() {
        var count1 = 0, count2 = 0;
-       
+
        jQuery("#body").delegate("#testForm", "submit", function(ev) {
                count1++;
                ev.preventDefault();
@@ -1881,7 +1881,7 @@ test("delegate with submit", function() {
        jQuery("#testForm input[name=sub1]").submit();
        equals( count1, 1, "Verify form submit." );
        equals( count2, 1, "Verify body submit." );
-       
+
        jQuery("#body").undelegate();
        jQuery(document).undelegate();
 });
index 8797531..cfa1444 100644 (file)
@@ -13,9 +13,9 @@ var supportsScroll = false;
 
 testoffset("absolute"/* in iframe */, function($, iframe) {
        expect(4);
-       
+
        var doc = iframe.document, tests;
-       
+
        // force a scroll value on the main window
        // this insures that the results will be wrong
        // if the offset method is using the scroll offset
@@ -28,7 +28,7 @@ testoffset("absolute"/* in iframe */, function($, iframe) {
        }
 
        window.scrollTo(1, 1);
-       
+
        // get offset
        tests = [
                { id: '#absolute-1', top: 1, left: 1 }
@@ -47,16 +47,16 @@ testoffset("absolute"/* in iframe */, function($, iframe) {
                equals( jQuery( this.id, doc ).position().top,  this.top,  "jQuery('" + this.id + "').position().top" );
                equals( jQuery( this.id, doc ).position().left, this.left, "jQuery('" + this.id + "').position().left" );
        });
-       
+
        forceScroll.remove();
 });
 
 testoffset("absolute", function( jQuery ) {
        expect(178);
-       
+
        // get offset tests
        var tests = [
-               { id: '#absolute-1',     top:  1, left:  1 }, 
+               { id: '#absolute-1',     top:  1, left:  1 },
                { id: '#absolute-1-1',   top:  5, left:  5 },
                { id: '#absolute-1-1-1', top:  9, left:  9 },
                { id: '#absolute-2',     top: 20, left: 20 }
@@ -65,8 +65,8 @@ testoffset("absolute", function( jQuery ) {
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset().top" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset().left" );
        });
-       
-       
+
+
        // get position
        tests = [
                { id: '#absolute-1',     top:  0, left:  0 },
@@ -78,13 +78,13 @@ testoffset("absolute", function( jQuery ) {
                equals( jQuery( this.id ).position().top,  this.top,  "jQuery('" + this.id + "').position().top" );
                equals( jQuery( this.id ).position().left, this.left, "jQuery('" + this.id + "').position().left" );
        });
-       
+
        // test #5781
        var offset = jQuery( '#positionTest' ).offset({ top: 10, left: 10 }).offset();
        equals( offset.top,  10, "Setting offset on element with position absolute but 'auto' values." )
        equals( offset.left, 10, "Setting offset on element with position absolute but 'auto' values." )
-       
-       
+
+
        // set offset
        tests = [
                { id: '#absolute-2',     top: 30, left: 30 },
@@ -108,9 +108,9 @@ testoffset("absolute", function( jQuery ) {
                jQuery( this.id ).offset({ top: this.top, left: this.left });
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset({ top: "  + this.top  + " })" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset({ left: " + this.left + " })" );
-               
+
                var top = this.top, left = this.left;
-               
+
                jQuery( this.id ).offset(function(i, val){
                        equals( val.top, top, "Verify incoming top position." );
                        equals( val.left, left, "Verify incoming top position." );
@@ -118,13 +118,13 @@ testoffset("absolute", function( jQuery ) {
                });
                equals( jQuery( this.id ).offset().top,  this.top  + 1, "jQuery('" + this.id + "').offset({ top: "  + (this.top  + 1) + " })" );
                equals( jQuery( this.id ).offset().left, this.left + 1, "jQuery('" + this.id + "').offset({ left: " + (this.left + 1) + " })" );
-               
+
                jQuery( this.id )
                        .offset({ left: this.left + 2 })
                        .offset({ top:  this.top  + 2 });
                equals( jQuery( this.id ).offset().top,  this.top  + 2, "Setting one property at a time." );
                equals( jQuery( this.id ).offset().left, this.left + 2, "Setting one property at a time." );
-               
+
                jQuery( this.id ).offset({ top: this.top, left: this.left, using: function( props ) {
                        jQuery( this ).css({
                                top:  props.top  + 1,
@@ -138,10 +138,10 @@ testoffset("absolute", function( jQuery ) {
 
 testoffset("relative", function( jQuery ) {
        expect(60);
-       
+
        // IE is collapsing the top margin of 1px
        var ie = jQuery.browser.msie && parseInt( jQuery.browser.version, 10 ) < 8;
-       
+
        // get offset
        var tests = [
                { id: '#relative-1',   top: ie ?   6 :   7, left:  7 },
@@ -152,8 +152,8 @@ testoffset("relative", function( jQuery ) {
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset().top" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset().left" );
        });
-       
-       
+
+
        // get position
        tests = [
                { id: '#relative-1',   top: ie ?   5 :   6, left:  6 },
@@ -164,8 +164,8 @@ testoffset("relative", function( jQuery ) {
                equals( jQuery( this.id ).position().top,  this.top,  "jQuery('" + this.id + "').position().top" );
                equals( jQuery( this.id ).position().left, this.left, "jQuery('" + this.id + "').position().left" );
        });
-       
-       
+
+
        // set offset
        tests = [
                { id: '#relative-2',   top: 200, left:  50 },
@@ -185,7 +185,7 @@ testoffset("relative", function( jQuery ) {
                jQuery( this.id ).offset({ top: this.top, left: this.left });
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset({ top: "  + this.top  + " })" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset({ left: " + this.left + " })" );
-               
+
                jQuery( this.id ).offset({ top: this.top, left: this.left, using: function( props ) {
                        jQuery( this ).css({
                                top:  props.top  + 1,
@@ -199,10 +199,10 @@ testoffset("relative", function( jQuery ) {
 
 testoffset("static", function( jQuery ) {
        expect(80);
-       
+
        // IE is collapsing the top margin of 1px
        var ie = jQuery.browser.msie && parseInt( jQuery.browser.version, 10 ) < 8;
-       
+
        // get offset
        var tests = [
                { id: '#static-1',     top: ie ?   6 :   7, left:  7 },
@@ -214,8 +214,8 @@ testoffset("static", function( jQuery ) {
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset().top" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset().left" );
        });
-       
-       
+
+
        // get position
        tests = [
                { id: '#static-1',     top: ie ?   5 :   6, left:  6 },
@@ -227,8 +227,8 @@ testoffset("static", function( jQuery ) {
                equals( jQuery( this.id ).position().top,  this.top,  "jQuery('" + this.top  + "').position().top" );
                equals( jQuery( this.id ).position().left, this.left, "jQuery('" + this.left +"').position().left" );
        });
-       
-       
+
+
        // set offset
        tests = [
                { id: '#static-2',     top: 200, left: 200 },
@@ -252,7 +252,7 @@ testoffset("static", function( jQuery ) {
                jQuery( this.id ).offset({ top: this.top, left: this.left });
                equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset({ top: "  + this.top  + " })" );
                equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset({ left: " + this.left + " })" );
-               
+
                jQuery( this.id ).offset({ top: this.top, left: this.left, using: function( props ) {
                        jQuery( this ).css({
                                top:  props.top  + 1,
@@ -266,9 +266,9 @@ testoffset("static", function( jQuery ) {
 
 testoffset("fixed", function( jQuery ) {
        expect(28);
-       
+
        jQuery.offset.initialize();
-       
+
        var tests = [
                { id: '#fixed-1', top: 1001, left: 1001 },
                { id: '#fixed-2', top: 1021, left: 1021 }
@@ -288,7 +288,7 @@ testoffset("fixed", function( jQuery ) {
                        ok( true, 'Fixed position is not supported' );
                }
        });
-       
+
        tests = [
                { id: '#fixed-1', top: 100, left: 100 },
                { id: '#fixed-1', top:   0, left:   0 },
@@ -297,13 +297,13 @@ testoffset("fixed", function( jQuery ) {
                { id: '#fixed-2', top:   0, left:   0 },
                { id: '#fixed-2', top:  -5, left:  -5 }
        ];
-       
+
        jQuery.each( tests, function() {
                if ( jQuery.offset.supportsFixedPosition ) {
                        jQuery( this.id ).offset({ top: this.top, left: this.left });
                        equals( jQuery( this.id ).offset().top,  this.top,  "jQuery('" + this.id + "').offset({ top: "  + this.top  + " })" );
                        equals( jQuery( this.id ).offset().left, this.left, "jQuery('" + this.id + "').offset({ left: " + this.left + " })" );
-               
+
                        jQuery( this.id ).offset({ top: this.top, left: this.left, using: function( props ) {
                                jQuery( this ).css({
                                        top:  props.top  + 1,
@@ -324,38 +324,38 @@ testoffset("fixed", function( jQuery ) {
 
 testoffset("table", function( jQuery ) {
        expect(4);
-       
+
        equals( jQuery('#table-1').offset().top, 6, "jQuery('#table-1').offset().top" );
        equals( jQuery('#table-1').offset().left, 6, "jQuery('#table-1').offset().left" );
-       
+
        equals( jQuery('#th-1').offset().top, 10, "jQuery('#th-1').offset().top" );
        equals( jQuery('#th-1').offset().left, 10, "jQuery('#th-1').offset().left" );
 });
 
 testoffset("scroll", function( jQuery, win ) {
        expect(16);
-       
+
        var ie = jQuery.browser.msie && parseInt( jQuery.browser.version, 10 ) < 8;
-       
+
        // IE is collapsing the top margin of 1px
        equals( jQuery('#scroll-1').offset().top, ie ? 6 : 7, "jQuery('#scroll-1').offset().top" );
        equals( jQuery('#scroll-1').offset().left, 7, "jQuery('#scroll-1').offset().left" );
-       
+
        // IE is collapsing the top margin of 1px
        equals( jQuery('#scroll-1-1').offset().top, ie ? 9 : 11, "jQuery('#scroll-1-1').offset().top" );
        equals( jQuery('#scroll-1-1').offset().left, 11, "jQuery('#scroll-1-1').offset().left" );
-       
-       
+
+
        // scroll offset tests .scrollTop/Left
        equals( jQuery('#scroll-1').scrollTop(), 5, "jQuery('#scroll-1').scrollTop()" );
        equals( jQuery('#scroll-1').scrollLeft(), 5, "jQuery('#scroll-1').scrollLeft()" );
-       
+
        equals( jQuery('#scroll-1-1').scrollTop(), 0, "jQuery('#scroll-1-1').scrollTop()" );
        equals( jQuery('#scroll-1-1').scrollLeft(), 0, "jQuery('#scroll-1-1').scrollLeft()" );
-       
+
        // equals( jQuery('body').scrollTop(), 0, "jQuery('body').scrollTop()" );
        // equals( jQuery('body').scrollLeft(), 0, "jQuery('body').scrollTop()" );
-       
+
        win.name = "test";
 
        if ( !supportsScroll ) {
@@ -367,11 +367,11 @@ testoffset("scroll", function( jQuery, win ) {
        } else {
                equals( jQuery(win).scrollTop(), 1000, "jQuery(window).scrollTop()" );
                equals( jQuery(win).scrollLeft(), 1000, "jQuery(window).scrollLeft()" );
-       
+
                equals( jQuery(win.document).scrollTop(), 1000, "jQuery(document).scrollTop()" );
                equals( jQuery(win.document).scrollLeft(), 1000, "jQuery(document).scrollLeft()" );
        }
-       
+
        // test jQuery using parent window/document
        // jQuery reference here is in the iframe
        window.scrollTo(0,0);
@@ -383,7 +383,7 @@ testoffset("scroll", function( jQuery, win ) {
 
 testoffset("body", function( jQuery ) {
        expect(2);
-       
+
        equals( jQuery('body').offset().top, 1, "jQuery('#body').offset().top" );
        equals( jQuery('body').offset().left, 1, "jQuery('#body').offset().left" );
 });
@@ -423,11 +423,11 @@ test("offsetParent", function(){
 });
 
 function testoffset(name, fn) {
-       
+
        test(name, function() {
                // pause execution for now
                stop();
-               
+
                // load fixture in iframe
                var iframe = loadFixture(),
                        win = iframe.contentWindow,
@@ -443,7 +443,7 @@ function testoffset(name, fn) {
                                }
                        }, 15 );
        });
-       
+
        function loadFixture() {
                var src = './data/offset/' + name + '.html?' + parseInt( Math.random()*1000, 10 ),
                        iframe = jQuery('<iframe />').css({
index 79b753c..eada0ee 100644 (file)
@@ -3,9 +3,9 @@ module("queue");
 test("queue() with other types",function() {
        expect(9);
        var counter = 0;
-       
+
        var $div = jQuery({});
-       
+
        $div
                .queue('foo',function(){
                        equals( ++counter, 1, "Dequeuing" );
@@ -21,26 +21,26 @@ test("queue() with other types",function() {
                .queue('foo',function(){
                        equals( ++counter, 4, "Dequeuing" );
                });
-               
+
        equals( $div.queue('foo').length, 4, "Testing queue length" );
-       
+
        $div.dequeue('foo');
-       
+
        equals( counter, 3, "Testing previous call to dequeue" );
        equals( $div.queue('foo').length, 1, "Testing queue length" );
-       
+
        $div.dequeue('foo');
-       
+
        equals( counter, 4, "Testing previous call to dequeue" );
        equals( $div.queue('foo').length, 0, "Testing queue length" );
 });
 
 test("queue(name) passes in the next item in the queue as a parameter", function() {
        expect(2);
-       
+
        var div = jQuery({});
        var counter = 0;
-       
+
        div.queue("foo", function(next) {
                equals(++counter, 1, "Dequeueing");
                next();
@@ -50,16 +50,16 @@ test("queue(name) passes in the next item in the queue as a parameter", function
        }).queue("bar", function() {
                equals(++counter, 3, "Other queues are not triggered by next()")
        });
-       
+
        div.dequeue("foo");
 });
 
 test("queue(name) passes in the next item in the queue as a parameter", function() {
        expect(2);
-       
+
        var div = jQuery({});
        var counter = 0;
-       
+
        div.queue("foo", function(next) {
                equals(++counter, 1, "Dequeueing");
                next();
@@ -69,17 +69,17 @@ test("queue(name) passes in the next item in the queue as a parameter", function
        }).queue("bar", function() {
                equals(++counter, 3, "Other queues are not triggered by next()")
        });
-       
+
        div.dequeue("foo");
 });
 
 test("queue() passes in the next item in the queue as a parameter to fx queues", function() {
        expect(2);
        stop();
-       
+
        var div = jQuery({});
        var counter = 0;
-       
+
        div.queue(function(next) {
                equals(++counter, 1, "Dequeueing");
                var self = this;
@@ -111,10 +111,10 @@ test("delay()", function() {
 
 test("clearQueue(name) clears the queue", function() {
        expect(1);
-       
+
        var div = jQuery({});
        var counter = 0;
-       
+
        div.queue("foo", function(next) {
                counter++;
                jQuery(this).clearQueue("foo");
@@ -122,18 +122,18 @@ test("clearQueue(name) clears the queue", function() {
        }).queue("foo", function(next) {
                counter++;
        });
-       
+
        div.dequeue("foo");
-       
+
        equals(counter, 1, "the queue was cleared");
 });
 
 test("clearQueue() clears the fx queue", function() {
        expect(1);
-       
+
        var div = jQuery({});
        var counter = 0;
-       
+
        div.queue(function(next) {
                counter++;
                var self = this;
@@ -141,8 +141,8 @@ test("clearQueue() clears the fx queue", function() {
        }).queue(function(next) {
                counter++;
        });
-       
+
        equals(counter, 1, "the queue was cleared");
-       
+
        div.removeData();
 });
index 6ec20bc..5b758c1 100644 (file)
@@ -22,7 +22,7 @@ test("element", function() {
        same( jQuery("div").find("p").get(), q("firstp","ap","sndp","en","sap","first"), "Finding elements with a context." );
 
        same( jQuery("#form").find("select").get(), q("select1","select2","select3","select4","select5"), "Finding selects with a context." );
-       
+
        ok( jQuery("#length").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' );
        ok( jQuery("#lengthtest input").length, '&lt;input name="length"&gt; cannot be found under IE, see #945' );
 
@@ -68,7 +68,7 @@ test("broken", function() {
                                name + ": " + selector );
                }
        }
-       
+
        broken( "Broken Selector", "[", [] );
        broken( "Broken Selector", "(", [] );
        broken( "Broken Selector", "{", [] );
@@ -90,28 +90,28 @@ test("id", function() {
        t( "Multiple ID selectors using UTF8", "#台北Táiběi, #台北", ["台北Táiběi","台北"] );
        t( "Descendant ID selector using UTF8", "div #台北", ["台北"] );
        t( "Child ID selector using UTF8", "form > #台北", ["台北"] );
-       
+
        t( "Escaped ID", "#foo\\:bar", ["foo:bar"] );
        t( "Escaped ID", "#test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
        t( "Descendant escaped ID", "div #foo\\:bar", ["foo:bar"] );
        t( "Descendant escaped ID", "div #test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
        t( "Child escaped ID", "form > #foo\\:bar", ["foo:bar"] );
        t( "Child escaped ID", "form > #test\\.foo\\[5\\]bar", ["test.foo[5]bar"] );
-       
+
        t( "ID Selector, child ID present", "#form > #radio1", ["radio1"] ); // bug #267
        t( "ID Selector, not an ancestor ID", "#form #first", [] );
        t( "ID Selector, not a child ID", "#form > #option1a", [] );
-       
+
        t( "All Children of ID", "#foo > *", ["sndp", "en", "sap"] );
        t( "All Children of ID with no children", "#firstUL > *", [] );
-       
+
        var a = jQuery('<div><a name="tName1">tName1 A</a><a name="tName2">tName2 A</a><div id="tName1">tName1 Div</div></div>').appendTo('#main');
        equals( jQuery("#tName1")[0].id, 'tName1', "ID selector with same value for a name attribute" );
        equals( jQuery("#tName2").length, 0, "ID selector non-existing but name attribute on an A tag" );
        a.remove();
 
        t( "ID Selector on Form with an input that has a name of 'id'", "#lengthtest", ["lengthtest"] );
-       
+
        t( "ID selector with non-existant ancestor", "#asdfasdf #foobar", [] ); // bug #986
 
        same( jQuery("body").find("div#form").get(), [], "ID selector within the context of another element" );
@@ -134,7 +134,7 @@ test("class", function() {
        same( jQuery(".blog", "p").get(), q("mark", "simon"), "Finding elements with a context." );
        same( jQuery(".blog", jQuery("p")).get(), q("mark", "simon"), "Finding elements with a context." );
        same( jQuery("p").find(".blog").get(), q("mark", "simon"), "Finding elements with a context." );
-       
+
        t( "Class selector using UTF8", ".台北Táiběi", ["utf8class1"] );
        //t( "Class selector using UTF8", ".台北", ["utf8class1","utf8class2"] );
        t( "Class selector using UTF8", ".台北Táiběi.台北", ["utf8class1"] );
@@ -194,7 +194,7 @@ test("name", function() {
 
 test("multiple", function() {
        expect(4);
-       
+
        t( "Comma Support", "h2, p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"]);
        t( "Comma Support", "h2 , p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"]);
        t( "Comma Support", "h2 , p", ["qunit-banner","qunit-userAgent","firstp","ap","sndp","en","sap","first"]);
@@ -242,7 +242,7 @@ test("attributes", function() {
        t( "Attribute Exists", "*[title]", ["google"] );
        t( "Attribute Exists", "[title]", ["google"] );
        t( "Attribute Exists", "a[ title ]", ["google"] );
-       
+
        t( "Attribute Equals", "a[rel='bookmark']", ["simon1"] );
        t( "Attribute Equals", 'a[rel="bookmark"]', ["simon1"] );
        t( "Attribute Equals", "a[rel=bookmark]", ["simon1"] );
@@ -263,13 +263,13 @@ test("attributes", function() {
        t( "Attribute containing []", "input[name$='[bar]']", ["hidden2"] );
        t( "Attribute containing []", "input[name$='foo[bar]']", ["hidden2"] );
        t( "Attribute containing []", "input[name*='foo[bar]']", ["hidden2"] );
-       
+
        t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type='hidden']", ["radio1", "radio2", "hidden1"] );
        t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type=\"hidden\"]", ["radio1", "radio2", "hidden1"] );
        t( "Multiple Attribute Equals", "#form input[type='radio'], #form input[type=hidden]", ["radio1", "radio2", "hidden1"] );
-       
+
        t( "Attribute selector using UTF8", "span[lang=中文]", ["台北"] );
-       
+
        t( "Attribute Begins With", "a[href ^= 'http://www']", ["google","yahoo"] );
        t( "Attribute Ends With", "a[href $= 'org/']", ["mark"] );
        t( "Attribute Contains", "a[href *= 'google']", ["google","groups"] );
@@ -288,11 +288,11 @@ test("attributes", function() {
 
        t("Empty values", "#select1 option[value='']", ["option1a"]);
        t("Empty values", "#select1 option[value!='']", ["option1b","option1c","option1d"]);
-       
+
        t("Select options via :selected", "#select1 option:selected", ["option1a"] );
        t("Select options via :selected", "#select2 option:selected", ["option2d"] );
        t("Select options via :selected", "#select3 option:selected", ["option3b", "option3c"] );
-       
+
        t( "Grouped Form Elements", "input[name='foo[bar]']", ["hidden2"] );
 });
 
@@ -315,10 +315,10 @@ test("pseudo - child", function() {
        t( "First Child", "p:first-child", [] );
 
        QUnit.reset();
-       
+
        t( "Last Child", "p:last-child", ["sap"] );
        t( "Last Child", "#main a:last-child", ["simon1","anchor1","mark","yahoo","anchor2","simon","liveLink1","liveLink2"] );
-       
+
        t( "Nth-child", "#main form#form > *:nth-child(2)", ["text1"] );
        t( "Nth-child", "#main form#form > :nth-child(2)", ["text1"] );
 
@@ -347,7 +347,7 @@ test("pseudo - misc", function() {
 
        t( "Headers", ":header", ["qunit-header", "qunit-banner", "qunit-userAgent"] );
        t( "Has Children - :has()", "p:has(a)", ["firstp","ap","en","sap"] );
-       
+
        var select = document.getElementById("select1");
        ok( (window.Sizzle || window.jQuery.find).matchesSelector( select, ":has(option)" ), "Has Option Matches" );
 
@@ -393,7 +393,7 @@ test("pseudo - :not", function() {
        t( ":not() Multiple Class", "#foo a:not(.blog.link)", ["yahoo","anchor2"] );
 });
 
-test("pseudo - position", function() { 
+test("pseudo - position", function() {
        expect(25);
        t( "nth Element", "p:nth(1)", ["ap"] );
        t( "First Element", "p:first", ["firstp"] );
index 0d079f1..31cffc2 100644 (file)
@@ -138,7 +138,7 @@ test("closest()", function() {
        same( jq.closest("html", document.body).get(), [], "Context limited." );
        same( jq.closest("body", document.body).get(), [], "Context limited." );
        same( jq.closest("#nothiddendiv", document.body).get(), q("nothiddendiv"), "Context not reached." );
-       
+
        //Test that .closest() returns unique'd set
        equals( jQuery('#main p').closest('#main').length, 1, "Closest should return a unique set" );
 
@@ -275,9 +275,9 @@ test("parents([String])", function() {
 
 test("parentsUntil([String])", function() {
        expect(9);
-       
+
        var parents = jQuery("#groups").parents();
-       
+
        same( jQuery("#groups").parentsUntil().get(), parents.get(), "parentsUntil with no selector (nextAll)" );
        same( jQuery("#groups").parentsUntil(".foo").get(), parents.get(), "parentsUntil with invalid selector (nextAll)" );
        same( jQuery("#groups").parentsUntil("#html").get(), parents.not(':last').get(), "Simple parentsUntil check" );
@@ -307,9 +307,9 @@ test("prev([String])", function() {
 
 test("nextAll([String])", function() {
        expect(4);
-       
+
        var elems = jQuery('#form').children();
-       
+
        same( jQuery("#label-for").nextAll().get(), elems.not(':first').get(), "Simple nextAll check" );
        same( jQuery("#label-for").nextAll('input').get(), elems.not(':first').filter('input').get(), "Filtered nextAll check" );
        same( jQuery("#label-for").nextAll('input,select').get(), elems.not(':first').filter('input,select').get(), "Multiple-filtered nextAll check" );
@@ -318,9 +318,9 @@ test("nextAll([String])", function() {
 
 test("prevAll([String])", function() {
        expect(4);
-       
+
        var elems = jQuery( jQuery('#form').children().slice(0, 12).get().reverse() );
-       
+
        same( jQuery("#area1").prevAll().get(), elems.get(), "Simple prevAll check" );
        same( jQuery("#area1").prevAll('input').get(), elems.filter('input').get(), "Filtered prevAll check" );
        same( jQuery("#area1").prevAll('input,select').get(), elems.filter('input,select').get(), "Multiple-filtered prevAll check" );
@@ -329,9 +329,9 @@ test("prevAll([String])", function() {
 
 test("nextUntil([String])", function() {
        expect(11);
-       
+
        var elems = jQuery('#form').children().slice( 2, 12 );
-       
+
        same( jQuery("#text1").nextUntil().get(), jQuery("#text1").nextAll().get(), "nextUntil with no selector (nextAll)" );
        same( jQuery("#text1").nextUntil(".foo").get(), jQuery("#text1").nextAll().get(), "nextUntil with invalid selector (nextAll)" );
        same( jQuery("#text1").nextUntil("#area1").get(), elems.get(), "Simple nextUntil check" );
@@ -342,15 +342,15 @@ test("nextUntil([String])", function() {
        same( jQuery("#text1").nextUntil("#area1", "button,input").get(), elems.get(), "Multiple-filtered nextUntil check" );
        equals( jQuery("#text1").nextUntil("#area1", "div").length, 0, "Filtered nextUntil check, no match" );
        same( jQuery("#text1, #hidden1").nextUntil("#area1", "button,input").get(), elems.get(), "Multi-source, multiple-filtered nextUntil check" );
-       
+
        same( jQuery("#text1").nextUntil("[class=foo]").get(), jQuery("#text1").nextAll().get(), "Non-element nodes must be skipped, since they have no attributes" );
 });
 
 test("prevUntil([String])", function() {
        expect(10);
-       
+
        var elems = jQuery("#area1").prevAll();
-       
+
        same( jQuery("#area1").prevUntil().get(), elems.get(), "prevUntil with no selector (prevAll)" );
        same( jQuery("#area1").prevUntil(".foo").get(), elems.get(), "prevUntil with invalid selector (prevAll)" );
        same( jQuery("#area1").prevUntil("label").get(), elems.not(':last').get(), "Simple prevUntil check" );