]> source.dussan.org Git - jquery.git/commitdiff
Some work to modularize ajax later on.
authorjaubourg <j@ubourg.net>
Mon, 11 Jun 2012 11:59:34 +0000 (13:59 +0200)
committerjaubourg <j@ubourg.net>
Mon, 11 Jun 2012 12:00:16 +0000 (14:00 +0200)
src/manipulation.js
test/data/testinit.js
test/unit/ajax.js
test/unit/attributes.js
test/unit/core.js
test/unit/manipulation.js
test/unit/support.js

index e53daa9b626e5fddcddb7c65768472995cc29ff4..82823e578f349bd4edd2a34f9b0c5e5990bf1767 100644 (file)
@@ -340,14 +340,14 @@ jQuery.fn.extend({
                        if ( scripts.length ) {
                                jQuery.each( scripts, function( i, elem ) {
                                        if ( elem.src ) {
-                                               jQuery.ajax({
+                                               jQuery.ajax ? jQuery.ajax({
                                                        url: elem.src,
                                                        type: "GET",
                                                        dataType: "script",
                                                        async: false,
                                                        global: false,
                                                        throws: true
-                                               });
+                                               }) : jQuery.error( "no ajax" );
                                        } else {
                                                jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) );
                                        }
index 23bdb9163366452d97d744712d64f4efe2a805d9..2bf353788ae5f6427754a9277737869ba42c305d 100644 (file)
@@ -132,7 +132,7 @@ function url( value ) {
        var oldCacheLength = 0,
                oldFragmentsLength = 0,
                oldTimersLength = 0,
-               oldActive = 0;
+               oldActive = jQuery.active;
 
        /**
         * Ensures that tests have cleaned up properly after themselves. Should be passed as the
index 878b311eb350b685fd1d7c7f8705233e7d392d16..b7e2cf191471cc8d9d0f30962738cf66c79ed682 100644 (file)
@@ -1,6 +1,6 @@
 module("ajax", { teardown: moduleTeardown });
 
-if ( !isLocal || hasPHP) {
+if ( jQuery.ajax && ( !isLocal || hasPHP ) ) {
 
 test("jQuery.ajax() - success callbacks", function() {
        expect( 8 );
index 6062bc7c9975fbbe272b3ec16edf92118e303545..d07ed85c98ff27e8cebba8cfb60b50cb0144afa4 100644 (file)
@@ -683,7 +683,7 @@ test("removeProp(String)", function() {
 });
 
 test("val()", function() {
-       expect(26);
+       expect( 20 + ( jQuery.fn.serialize ? 6 : 0 ) );
 
        document.getElementById("text1").value = "bla";
        equal( jQuery("#text1").val(), "bla", "Check for modified value of input element" );
@@ -726,25 +726,27 @@ test("val()", function() {
        jQuery("#select5").val(3);
        equal( jQuery("#select5").val(), "3", "Check value on ambiguous select." );
 
-       var checks = jQuery("<input type='checkbox' name='test' value='1'/><input type='checkbox' name='test' value='2'/><input type='checkbox' name='test' value=''/><input type='checkbox' name='test'/>").appendTo("#form");
+       if ( jQuery.fn.serialize ) {
+               var checks = jQuery("<input type='checkbox' name='test' value='1'/><input type='checkbox' name='test' value='2'/><input type='checkbox' name='test' value=''/><input type='checkbox' name='test'/>").appendTo("#form");
 
-       deepEqual( checks.serialize(), "", "Get unchecked values." );
+               deepEqual( checks.serialize(), "", "Get unchecked values." );
 
-       equal( checks.eq(3).val(), "on", "Make sure a value of 'on' is provided if none is specified." );
+               equal( checks.eq(3).val(), "on", "Make sure a value of 'on' is provided if none is specified." );
 
-       checks.val([ "2" ]);
-       deepEqual( checks.serialize(), "test=2", "Get a single checked value." );
+               checks.val([ "2" ]);
+               deepEqual( checks.serialize(), "test=2", "Get a single checked value." );
 
-       checks.val([ "1", "" ]);
-       deepEqual( checks.serialize(), "test=1&test=", "Get multiple checked values." );
+               checks.val([ "1", "" ]);
+               deepEqual( checks.serialize(), "test=1&test=", "Get multiple checked values." );
 
-       checks.val([ "", "2" ]);
-       deepEqual( checks.serialize(), "test=2&test=", "Get multiple checked values." );
+               checks.val([ "", "2" ]);
+               deepEqual( checks.serialize(), "test=2&test=", "Get multiple checked values." );
 
-       checks.val([ "1", "on" ]);
-       deepEqual( checks.serialize(), "test=1&test=on", "Get multiple checked values." );
+               checks.val([ "1", "on" ]);
+               deepEqual( checks.serialize(), "test=1&test=on", "Get multiple checked values." );
 
-       checks.remove();
+               checks.remove();
+       }
 
        var $button = jQuery("<button value='foobar'>text</button>").insertAfter("#button");
        equal( $button.val(), "foobar", "Value retrieval on a button does not return innerHTML" );
index 88c4701043d72e04474126026ae883b97c158db2..9950228e80838bfee268dfaa93c08e9a0c7fb21a 100644 (file)
@@ -236,26 +236,26 @@ test( "globalEval", function() {
        window.globalEvalTest = undefined;
 });
 
-if ( !isLocal ) {
-test("browser", function() {
-       stop();
+if ( jQuery.get && !isLocal ) {
+       test("browser", function() {
+               stop();
+
+               jQuery.get("data/ua.txt", function(data){
+                       var uas = data.split("\n");
+                       expect( (uas.length - 1) * 2 );
+
+                       jQuery.each(uas, function(){
+                               var parts = this.split("\t");
+                               if ( parts[2] ) {
+                                       var ua = jQuery.uaMatch( parts[2] );
+                                       equal( ua.browser, parts[0], "Checking browser for " + parts[2] );
+                                       equal( ua.version, parts[1], "Checking version string for " + parts[2] );
+                               }
+                       });
 
-       jQuery.get("data/ua.txt", function(data){
-               var uas = data.split("\n");
-               expect( (uas.length - 1) * 2 );
-
-               jQuery.each(uas, function(){
-                       var parts = this.split("\t");
-                       if ( parts[2] ) {
-                               var ua = jQuery.uaMatch( parts[2] );
-                               equal( ua.browser, parts[0], "Checking browser for " + parts[2] );
-                               equal( ua.version, parts[1], "Checking version string for " + parts[2] );
-                       }
+                       start();
                });
-
-               start();
        });
-});
 }
 
 test("noConflict", function() {
index e8c183f3c836f6a014356cd9ba34c610c5994dff..5ef64ed54932f1cf97e3739cb888a2ab6bde3b85 100644 (file)
@@ -626,7 +626,7 @@ test("append(xml)", function() {
 });
 
 test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
-       expect(17);
+       expect( 16 + ( jQuery.getScript ? 1 : 0 ) );
 
        var defaultText = "Try them out:"
        jQuery("<b>buga</b>").appendTo("#first");
@@ -699,11 +699,13 @@ test("appendTo(String|Element|Array&lt;Element&gt;|jQuery)", function() {
 
        QUnit.reset();
 
-       stop();
-       jQuery.getScript('data/test.js', function() {
-               jQuery('script[src*="data\\/test\\.js"]').remove();
-               start();
-       });
+       if ( jQuery.getScript ) {
+               stop();
+               jQuery.getScript('data/test.js', function() {
+                       jQuery('script[src*="data\\/test\\.js"]').remove();
+                       start();
+               });
+       }
 });
 
 var testPrepend = function(val) {
index e733d520d1923b6dbe7b955f26d2efb9573e4277..46ac2224235359ab36673c697850fce0ee7255c8 100644 (file)
@@ -38,13 +38,14 @@ testIframeWithCallback( "A background on the testElement does not cause IE8 to c
        ok( true, "IE8 does not crash" );
 });
 
-var userAgent = window.navigator.userAgent;
+(function() {
 
-// These tests do not have to stay
-// They are here to help with upcoming support changes for 1.8
-if ( /chrome\/19\.0/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       var userAgent = window.navigator.userAgent,
+               expected;
+
+       // These tests do not have to stay
+       // They are here to help with upcoming support changes for 1.8
+       if ( /chrome\/19\.0/i.test(userAgent) ) {
                expected = {
                        "leadingWhitespace":true,
                        "tbody":true,
@@ -77,13 +78,7 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "cors":true,
                        "doesNotIncludeMarginInBodyOffset":true
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
-               }
-       });
-} else if ( /msie 8\.0/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       } else if ( /msie 8\.0/i.test(userAgent) ) {
                expected = {
                        "leadingWhitespace":false,
                        "tbody":true,
@@ -116,13 +111,7 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "cors":false,
                        "doesNotIncludeMarginInBodyOffset":true
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
-               }
-       });
-} else if ( /msie 7\.0/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       } else if ( /msie 7\.0/i.test(userAgent) ) {
                expected = {
                        "ajax": true,
                        "appendChecked": false,
@@ -155,13 +144,7 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "tbody": false,
                        "style": false
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
-               }
-       });
-} else if ( /msie 6\.0/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       } else if ( /msie 6\.0/i.test(userAgent) ) {
                expected = {
                        "leadingWhitespace":false,
                        "tbody":false,
@@ -194,13 +177,7 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "cors":false,
                        "doesNotIncludeMarginInBodyOffset":true
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
-               }
-       });
-} else if ( /5\.1\.1 safari/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       } else if ( /5\.1\.1 safari/i.test(userAgent) ) {
                expected = {
                        "leadingWhitespace":true,
                        "tbody":true,
@@ -233,13 +210,7 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "cors":true,
                        "doesNotIncludeMarginInBodyOffset":true
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
-               }
-       });
-} else if ( /firefox\/3\.6/i.test(userAgent) ) {
-       test("Verify that the support tests resolve as expected per browser", function() {
-               var i,
+       } else if ( /firefox\/3\.6/i.test(userAgent) ) {
                expected = {
                        "leadingWhitespace":true,
                        "tbody":true,
@@ -272,8 +243,16 @@ if ( /chrome\/19\.0/i.test(userAgent) ) {
                        "cors":true,
                        "doesNotIncludeMarginInBodyOffset":true
                };
-               for ( i in expected ) {
-                       equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
+       }
+
+       test("Verify that the support tests resolve as expected per browser", function() {
+               for ( var i in expected ) {
+                       if ( jQuery.isAjax || i !== "ajax" && i !== "cors" ) {
+                               equal( jQuery.support[i], expected[i], "jQuery.support['" + i + "']: " + jQuery.support[i] + ", expected['" + i + "']: " + expected[i]);
+                       }
                }
        });
-}
+
+})();
+
+