+
+ jQuery.ajax({
+ url: base + "data/test.js",
+ type: "POST",
+ dataType: "script",
+ success: function(data, status){
+ ok( foobar, "Script results returned (POST, no callback)" );
+ equals( status, "success", "Script results returned (POST, no callback)" );
+ start();
+ },
+ error: function(xhr) {
+ ok( false, "ajax error, status code: " + xhr.status );
+ start();
+ }
+ });
+});
+
+test("jQuery.ajax() - script, Remote with scheme-less URL", function() {
+ expect(2);
+
+ var base = window.location.href.replace(/\?.*$/, "");
+ base = base.replace(/^.*?\/\//, "//");
+
+ stop();
+
+ jQuery.ajax({
+ url: base + "data/test.js",
+ dataType: "script",
+ success: function(data){
+ ok( foobar, "Script results returned (GET, no callback)" );
+ start();
+ }
+ });
+});
+
+test("jQuery.ajax() - malformed JSON", function() {
+ expect(1);
+
+ stop();
+
+ jQuery.ajax({
+ url: "data/badjson.js",
+ dataType: "json",
+ success: function(){
+ ok( false, "Success." );
+ start();
+ },
+ error: function(xhr, msg) {
+ equals( "parsererror", msg, "A parse error occurred." );
+ start();
+ }
+ });
+});
+
+test("jQuery.ajax() - script by content-type", function() {
+ expect(1);
+
+ stop();
+
+ jQuery.ajax({
+ url: "data/script.php",
+ data: { header: "script" },
+ success: function() {
+ start();
+ }
+ });
+});
+
+test("jQuery.ajax() - json by content-type", function() {
+ expect(5);
+
+ stop();
+
+ jQuery.ajax({
+ url: "data/json.php",
+ data: { header: "json", json: "array" },
+ success: function( json ) {
+ ok( json.length >= 2, "Check length");
+ equals( json[0].name, 'John', 'Check JSON: first, name' );
+ equals( json[0].age, 21, 'Check JSON: first, age' );
+ equals( json[1].name, 'Peter', 'Check JSON: second, name' );
+ equals( json[1].age, 25, 'Check JSON: second, age' );
+ start();
+ }
+ });
+});
+
+test("jQuery.getJSON(String, Hash, Function) - JSON array", function() {
+ expect(5);
+ stop();
+ jQuery.getJSON(url("data/json.php"), {json: "array"}, function(json) {
+ ok( json.length >= 2, "Check length");
+ equals( json[0].name, 'John', 'Check JSON: first, name' );
+ equals( json[0].age, 21, 'Check JSON: first, age' );
+ equals( json[1].name, 'Peter', 'Check JSON: second, name' );
+ equals( json[1].age, 25, 'Check JSON: second, age' );
+ start();
+ });
+});
+
+test("jQuery.getJSON(String, Function) - JSON object", function() {
+ expect(2);
+ stop();
+ jQuery.getJSON(url("data/json.php"), function(json) {
+ if (json && json.data) {
+ equals( json.data.lang, 'en', 'Check JSON: lang' );
+ equals( json.data.length, 25, 'Check JSON: length' );
+ }