Made it so that search input elements are now serialized. Fixes bug #4107.
[jquery.git] / test / unit / ajax.js
index 357c536..0d2f071 100644 (file)
@@ -157,17 +157,18 @@ test("jQuery.ajax - beforeSend, cancel request (#2688)", function() {
        ok( request === false, "canceled request must return false instead of XMLHttpRequest instance" );
 });
 
+window.foobar = null;
+window.testFoo = undefined;
+
 test("jQuery.ajax - dataType html", function() {
        expect(5);
        stop();
        
-       jQuery.foobar = null;
-       jQuery.testFoo = undefined;
-
        var verifyEvaluation = function() {
-         equals( jQuery.testFoo, "foo", 'Check if script was evaluated for datatype html' );
-         equals( jQuery.foobar, "bar", 'Check if script src was evaluated for datatype html' );
-         start();
+               equals( testFoo, "foo", 'Check if script was evaluated for datatype html' );
+               equals( foobar, "bar", 'Check if script src was evaluated for datatype html' );
+         
+               start();
        };
 
        jQuery.ajax({
@@ -185,11 +186,11 @@ test("serialize()", function() {
        expect(6);
        
        equals( jQuery('#form').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&select1=&select2=3&select3=1&select3=2",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&select1=&select2=3&select3=1&select3=2",
                'Check form serialization as query string');
                
        equals( jQuery('#form :input').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&select1=&select2=3&select3=1&select3=2",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&select1=&select2=3&select3=1&select3=2",
                'Check input serialization as query string');
        
        equals( jQuery('#testForm').serialize(), 
@@ -201,11 +202,11 @@ test("serialize()", function() {
                'Check input serialization as query string');
                
        equals( jQuery('#form, #testForm').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
                'Multiple form serialization as query string');
                
        equals( jQuery('#form, #testForm :input').serialize(),
-               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
+               "action=Test&radio2=on&check=on&hidden=&foo%5Bbar%5D=&name=name&search=search&select1=&select2=3&select3=1&select3=2&T3=%3F%0AZ&H1=x&H2=&PWD=&T1=&T2=YES&My+Name=me&S1=abc&S3=YES&S4=",
                'Mixed form/input serialization as query string');
 });
 
@@ -243,18 +244,19 @@ test("pass-through request object", function() {
        var target = "data/name.html";
        var successCount = 0;
        var errorCount = 0;
-  var errorEx = "";
+       var errorEx = "";
        var success = function() {
                successCount++;
        };
        jQuery("#foo").ajaxError(function (e, xml, s, ex) {
                errorCount++;
-    errorEx += ": " + xml.status;
+               errorEx += ": " + xml.status;
        });
        jQuery("#foo").one('ajaxStop', function () {
                equals(successCount, 5, "Check all ajax calls successful");
                equals(errorCount, 0, "Check no ajax errors (status" + errorEx + ")");
                jQuery("#foo").unbind('ajaxError');
+               
                start();
        });
        
@@ -357,17 +359,17 @@ test("load(String, Function) - simple: inject text into DOM", function() {
 test("load(String, Function) - check scripts", function() {
        expect(7);
        stop();
-       jQuery.testFoo = undefined;
-       jQuery.foobar = null;
+       
        var verifyEvaluation = function() {
-               equals( jQuery.foobar, "bar", 'Check if script src was evaluated after load' );
+               equals( foobar, "bar", 'Check if script src was evaluated after load' );
                equals( jQuery('#ap').html(), 'bar', 'Check if script evaluation has modified DOM');
+               
                start();
        };
        jQuery('#first').load(url('data/test.html'), function() {
                ok( jQuery('#first').html().match(/^html text/), 'Check content after loading html' );
                equals( jQuery('#foo').html(), 'foo', 'Check if script evaluation has modified DOM');
-               equals( jQuery.testFoo, "foo", 'Check if script was evaluated after load' );
+               equals( testFoo, "foo", 'Check if script was evaluated after load' );
                setTimeout(verifyEvaluation, 600);
        });
 });
@@ -375,10 +377,11 @@ test("load(String, Function) - check scripts", function() {
 test("load(String, Function) - check file with only a script tag", function() {
        expect(3);
        stop();
-       jQuery.testFoo = undefined;
+
        jQuery('#first').load(url('data/test2.html'), function() {
                equals( jQuery('#foo').html(), 'foo', 'Check if script evaluation has modified DOM');
-               equals( jQuery.testFoo, "foo", 'Check if script was evaluated after load' );
+               equals( testFoo, "foo", 'Check if script was evaluated after load' );
+               
                start();
        });
 });
@@ -424,9 +427,8 @@ test("jQuery.get(String, Hash, Function) - parse xml and use text() on nodes", f
 test("jQuery.getScript(String, Function) - with callback", function() {
        expect(2);
        stop();
-       jQuery.foobar = null;
        jQuery.getScript(url("data/test.js"), function() {
-               equals( jQuery.foobar, "bar", 'Check if script was evaluated' );
+               equals( foobar, "bar", 'Check if script was evaluated' );
                setTimeout(start, 100);
        });
 });
@@ -434,7 +436,9 @@ test("jQuery.getScript(String, Function) - with callback", function() {
 test("jQuery.getScript(String, Function) - no callback", function() {
        expect(1);
        stop();
-       jQuery.getScript(url("data/test.js"), start);
+       jQuery.getScript(url("data/test.js"), function(){
+               start();
+       });
 });
 
 test("jQuery.ajax() - JSONP, Local", function() {
@@ -616,12 +620,11 @@ test("jQuery.ajax() - script, Remote", function() {
 
        stop();
 
-       jQuery.foobar = null;
        jQuery.ajax({
                url: base + "data/test.js",
                dataType: "script",
                success: function(data){
-                       ok( jQuery.foobar, "Script results returned (GET, no callback)" );
+                       ok( foobar, "Script results returned (GET, no callback)" );
                        start();
                }
        });
@@ -634,13 +637,12 @@ test("jQuery.ajax() - script, Remote with POST", function() {
 
        stop();
 
-       jQuery.foobar = null;
        jQuery.ajax({
                url: base + "data/test.js",
                type: "POST",
                dataType: "script",
                success: function(data, status){
-                       ok( jQuery.foobar, "Script results returned (GET, no callback)" );
+                       ok( foobar, "Script results returned (GET, no callback)" );
                        equals( status, "success", "Script results returned (GET, no callback)" );
                        start();
                }
@@ -655,12 +657,11 @@ test("jQuery.ajax() - script, Remote with scheme-less URL", function() {
 
        stop();
 
-       jQuery.foobar = null;
        jQuery.ajax({
                url: base + "data/test.js",
                dataType: "script",
                success: function(data){
-                       ok( jQuery.foobar, "Script results returned (GET, no callback)" );
+                       ok( foobar, "Script results returned (GET, no callback)" );
                        start();
                }
        });
@@ -704,11 +705,14 @@ test("jQuery.getJSON(String, Function) - JSON object with absolute url to local
 test("jQuery.post(String, Hash, Function) - simple with xml", function() {
        expect(4);
        stop();
+       var done = 0;
+
        jQuery.post(url("data/name.php"), {xml: "5-2"}, function(xml){
          jQuery('math', xml).each(function() {
                    equals( jQuery('calculation', this).text(), '5-2', 'Check for XML' );
                    equals( jQuery('result', this).text(), '3', 'Check for XML' );
                 });
+         if ( ++done === 2 ) start();
        });
 
        jQuery.post(url("data/name.php?xml=5-2"), {}, function(xml){
@@ -716,7 +720,7 @@ test("jQuery.post(String, Hash, Function) - simple with xml", function() {
                    equals( jQuery('calculation', this).text(), '5-2', 'Check for XML' );
                    equals( jQuery('result', this).text(), '3', 'Check for XML' );
                 });
-         start();
+         if ( ++done === 2 ) start();
        });
 });