X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=test%2Funit%2Fajax.js;h=fc2ab9e3367e60442b16b4b202cb607dbf5d7f44;hb=bf802496c6b1055222814e8cd5185c023eadf202;hp=813c65fbc09dc28b7929299b3da2e23f9bd262ff;hpb=12ef255ffdb3c2d045ee37beb9419f14d9c30217;p=jquery.git diff --git a/test/unit/ajax.js b/test/unit/ajax.js index 813c65f..fc2ab9e 100644 --- a/test/unit/ajax.js +++ b/test/unit/ajax.js @@ -136,6 +136,27 @@ test("$.ajax - beforeSend", function() { }); }); +test("$.ajax - beforeSend, cancel request (#2688)", function() { + expect(2); + var request = $.ajax({ + url: url("data/name.html"), + beforeSend: function() { + ok( true, "beforeSend got called, canceling" ); + return false; + }, + success: function() { + ok( false, "request didn't get canceled" ); + }, + complete: function() { + ok( false, "request didn't get canceled" ); + }, + error: function() { + ok( false, "request didn't get canceled" ); + } + }); + ok( request === false, "canceled request must return false instead of XMLHttpRequest instance" ); +}); + var foobar; test("$.ajax - dataType html", function() { @@ -146,8 +167,8 @@ test("$.ajax - dataType html", function() { testFoo = undefined; var verifyEvaluation = function() { - ok( testFoo == "foo", 'Check if script was evaluated for datatype html' ); - ok( foobar == "bar", 'Check if script src was evaluated for datatype html' ); + equals( testFoo, "foo", 'Check if script was evaluated for datatype html' ); + equals( foobar, "bar", 'Check if script src was evaluated for datatype html' ); start(); }; @@ -277,19 +298,15 @@ test("ajax cache", function () { }); test("global ajaxSettings", function() { - expect(3); + expect(2); var tmp = jQuery.extend({}, jQuery.ajaxSettings); - var orig = { url: "data/with_fries.xml", data: null }; + var orig = { url: "data/with_fries.xml" }; var t; $.ajaxSetup({ data: {foo: 'bar', bar: 'BAR'} }); t = jQuery.extend({}, orig); - $.ajax(t); - ok( t.url.indexOf('foo') > -1 && t.url.indexOf('bar') > -1, "Check extending null" ); - - t = jQuery.extend({}, orig); t.data = {}; $.ajax(t); ok( t.url.indexOf('foo') > -1 && t.url.indexOf('bar') > -1, "Check extending {}" ); @@ -317,6 +334,19 @@ test("load('url selector')", function() { }); }); +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(); @@ -332,15 +362,15 @@ test("load(String, Function) - check scripts", function() { 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); }); }); @@ -349,9 +379,9 @@ test("load(String, Function) - check file with only a script tag", function() { 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(); + equals( $('#foo').html(), 'foo', 'Check if script evaluation has modified DOM'); + equals( testFoo, "foo", 'Check if script was evaluated after load' ); + start(); }); }); @@ -372,6 +402,7 @@ test("$.get(String, Hash, Function) - parse xml and use text() on nodes", functi 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); @@ -435,7 +466,7 @@ test("$.ajax() - JSONP, Local", function() { $.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(); @@ -478,7 +509,7 @@ test("$.ajax() - JSONP, Local", function() { $.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)" ); @@ -544,7 +575,7 @@ test("$.ajax() - JSONP, Remote", function() { $.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(); @@ -563,6 +594,46 @@ test("$.ajax() - script, Remote", function() { 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", @@ -577,10 +648,10 @@ test("$.getJSON(String, Hash, Function) - JSON array", function() { expect(4); stop(); $.getJSON(url("data/json.php"), {json: "array"}, function(json) { - ok( json[0].name == 'John', 'Check JSON: first, name' ); - ok( json[0].age == 21, 'Check JSON: first, age' ); - ok( json[1].name == 'Peter', 'Check JSON: second, name' ); - ok( json[1].age == 25, 'Check JSON: second, age' ); + 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(); }); }); @@ -589,21 +660,21 @@ test("$.getJSON(String, Function) - JSON object", function() { expect(2); stop(); $.getJSON(url("data/json.php"), function(json) { - ok( json.data.lang == 'en', 'Check JSON: lang' ); - ok( json.data.length == 25, 'Check JSON: length' ); + equals( json.data.lang, 'en', 'Check JSON: lang' ); + equals( json.data.length, 25, 'Check JSON: length' ); start(); }); }); -test("$.getJSON(String, Function) - Remote JSON object with assignment", function() { +test("$.getJSON(String, Function) - JSON object with absolute url to local content", function() { expect(2); var base = window.location.href.replace(/\?.*$/, ""); stop(); - $.getJSON(base + "data/json_assigned_obj.js", function() { - ok( typeof json_assigned_obj == "object", 'Check JSON loaded' ); - equals( json_assigned_obj.test, "worked", 'Check JSON obj.test' ); + $.getJSON(url(base + "data/json.php"), function(json) { + equals( json.data.lang, 'en', 'Check JSON: lang' ); + equals( json.data.length, 25, 'Check JSON: length' ); start(); }); }); @@ -613,15 +684,15 @@ test("$.post(String, Hash, Function) - simple with xml", function() { stop(); $.post(url("data/name.php"), {xml: "5-2"}, function(xml){ $('math', xml).each(function() { - ok( $('calculation', this).text() == '5-2', 'Check for XML' ); - ok( $('result', this).text() == '3', 'Check for XML' ); + equals( $('calculation', this).text(), '5-2', 'Check for XML' ); + equals( $('result', this).text(), '3', 'Check for XML' ); }); }); $.post(url("data/name.php?xml=5-2"), {}, function(xml){ $('math', xml).each(function() { - ok( $('calculation', this).text() == '5-2', 'Check for XML' ); - ok( $('result', this).text() == '3', 'Check for XML' ); + equals( $('calculation', this).text(), '5-2', 'Check for XML' ); + equals( $('result', this).text(), '3', 'Check for XML' ); }); start(); }); @@ -690,7 +761,7 @@ test("$.ajax - simple get", function() { type: "GET", url: url("data/name.php?name=foo"), success: function(msg){ - ok( msg == 'bar', 'Check for GET' ); + equals( msg, 'bar', 'Check for GET' ); start(); } }); @@ -704,7 +775,7 @@ test("$.ajax - simple post", function() { url: url("data/name.php"), data: "name=peter", success: function(msg){ - ok( msg == 'pan', 'Check for POST' ); + equals( msg, 'pan', 'Check for POST' ); start(); } }); @@ -716,7 +787,7 @@ test("ajaxSetup()", function() { $.ajaxSetup({ url: url("data/name.php?name=foo"), success: function(msg){ - ok( msg == 'bar', 'Check for GET' ); + equals( msg, 'bar', 'Check for GET' ); start(); } }); @@ -736,6 +807,22 @@ test("custom timeout does not set error message when timeout occurs, see #970", }); }); +test("data option: evaluate function values (#2806)", function() { + stop(); + $.ajax({ + url: "data/echoQuery.php", + data: { + key: function() { + return "value"; + } + }, + success: function(result) { + equals( result, "key=value" ); + start(); + } + }) +}); + } //}