});
test("pass-through request object", function() {
- expect(6);
+ expect(8);
stop(true);
var target = "data/name.html";
- var count = 0;
+ var successCount = 0;
+ var errorCount = 0;
+ var errorEx = "";
var success = function() {
- // Re-enabled because a bug was found in the unit test that probably caused the problem
- if(++count == 5)
- start();
+ successCount++;
};
+ $("#foo").ajaxError(function (e, xml, s, ex) {
+ errorCount++;
+ errorEx += ": " + xml.status;
+ });
+ $("#foo").one('ajaxStop', function () {
+ equals(successCount, 5, "Check all ajax calls successful");
+ equals(errorCount, 0, "Check no ajax errors (status" + errorEx + ")");
+ $("#foo").unbind('ajaxError');
+ start();
+ });
ok( $.get(url(target), success), "get" );
ok( $.post(url(target), success), "post" );
});
});
+test("load(String, Function) with ajaxSetup on dataType json, see #2046", function() {
+ expect(1);
+ stop();
+ $.ajaxSetup({ dataType: "json" });
+ $("#first").ajaxComplete(function (e, xml, s) {
+ equals( s.dataType, "html", "Verify the load() dataType was html" );
+ $("#first").unbind("ajaxComplete");
+ $.ajaxSetup({ dataType: "" });
+ start();
+ });
+ $('#first').load("data/test3.html");
+});
+
test("load(String, Function) - simple: inject text into DOM", function() {
expect(2);
stop();
window.testFoo = undefined;
window.foobar = null;
var verifyEvaluation = function() {
- equals( foobar, "bar", 'Check if script src was evaluated after load' );
- equals( $('#ap').html(), 'bar', 'Check if script evaluation has modified DOM');
- start();
+ equals( foobar, "bar", 'Check if script src was evaluated after load' );
+ equals( $('#ap').html(), 'bar', 'Check if script evaluation has modified DOM');
+ start();
};
$('#first').load(url('data/test.html'), function() {
- ok( $('#first').html().match(/^html text/), 'Check content after loading html' );
- equals( $('#foo').html(), 'foo', 'Check if script evaluation has modified DOM');
- equals( testFoo, "foo", 'Check if script was evaluated after load' );
- setTimeout(verifyEvaluation, 600);
+ ok( $('#first').html().match(/^html text/), 'Check content after loading html' );
+ equals( $('#foo').html(), 'foo', 'Check if script evaluation has modified DOM');
+ equals( testFoo, "foo", 'Check if script was evaluated after load' );
+ setTimeout(verifyEvaluation, 600);
});
});
stop();
testFoo = undefined;
$('#first').load(url('data/test2.html'), function() {
- ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM');
- ok( testFoo == "foo", 'Check if script was evaluated after load' );
- start();
+ ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM');
+ ok( testFoo == "foo", 'Check if script was evaluated after load' );
+ start();
});
});
test("$.getScript(String, Function) - with callback", function() {
expect(2);
stop();
+ window.foobar = null;
$.getScript(url("data/test.js"), function() {
equals( foobar, "bar", 'Check if script was evaluated' );
setTimeout(start, 100);
success: function(data){
ok( data.data, "JSON results returned (GET, no callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, no callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (GET, url callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, url callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (GET, data callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, data callback)" );
+ plus();
}
});
$.ajax({
url: "data/jsonp.php",
dataType: "jsonp",
- data: { callback: "?" },
+ jsonp: "callback",
success: function(data){
ok( data.data, "JSON results returned (GET, data obj callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, data obj callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (POST, no callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, data obj callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (POST, data callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (POST, data callback)" );
+ plus();
}
});
$.ajax({
type: "POST",
url: "data/jsonp.php",
- data: { callback: "?" },
+ jsonp: "callback",
dataType: "jsonp",
success: function(data){
ok( data.data, "JSON results returned (POST, data obj callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (POST, data obj callback)" );
+ plus();
}
});
});
success: function(data){
ok( data.data, "JSON results returned (GET, no callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, no callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (GET, url callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, url callback)" );
+ plus();
}
});
success: function(data){
ok( data.data, "JSON results returned (GET, data callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, data callback)" );
+ plus();
}
});
$.ajax({
url: base + "data/jsonp.php",
dataType: "jsonp",
- data: { callback: "?" },
+ jsonp: "callback",
success: function(data){
ok( data.data, "JSON results returned (GET, data obj callback)" );
plus();
+ },
+ error: function(data){
+ ok( false, "Ajax error JSON (GET, data obj callback)" );
+ plus();
}
});
});
stop();
+ window.foobar = null;
+ $.ajax({
+ url: base + "data/test.js",
+ dataType: "script",
+ success: function(data){
+ ok( foobar, "Script results returned (GET, no callback)" );
+ start();
+ }
+ });
+});
+
+test("$.ajax() - script, Remote with POST", function() {
+ expect(3);
+
+ var base = window.location.href.replace(/\?.*$/, "");
+
+ stop();
+
+ window.foobar = null;
+ $.ajax({
+ url: base + "data/test.js",
+ type: "POST",
+ dataType: "script",
+ success: function(data, status){
+ ok( foobar, "Script results returned (GET, no callback)" );
+ equals( status, "success", "Script results returned (GET, no callback)" );
+ start();
+ }
+ });
+});
+
+test("$.ajax() - script, Remote with scheme-less URL", function() {
+ expect(2);
+
+ var base = window.location.href.replace(/\?.*$/, "");
+ base = base.replace(/^.*?\/\//, "//");
+
+ stop();
+
+ window.foobar = null;
$.ajax({
url: base + "data/test.js",
dataType: "script",