X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax%2FajaxTest.js;h=200376c00d626730ef52a980637c3e64fb226b7c;hb=d776dc9d5c5322e81b56272728325990ed6892bb;hp=8d32716faa18dec6faffb372e68441cd54a0c26c;hpb=4c66f62a6fcc84a6c85249d0fb34b93edd40be00;p=jquery.git diff --git a/src/ajax/ajaxTest.js b/src/ajax/ajaxTest.js index 8d32716..200376c 100644 --- a/src/ajax/ajaxTest.js +++ b/src/ajax/ajaxTest.js @@ -4,7 +4,7 @@ test("serialize()", function() { expect(1); var data = $(':input').not('button').serialize(); // ignore button, IE takes text content as value, not relevant for this test - ok( data == 'action=Test&text2=Test&radio1=on&radio2=on&check=on&=on&hidden=&foo[bar]=&name=name&=foobar&select1=&select2=3&select3=1', 'Check form serialization as query string' ); + ok( data == 'action=Test&text2=Test&radio1=on&radio2=on&check=on&=on&hidden=&foo%5Bbar%5D=&name=name&=foobar&select1=&select2=3&select3=1', 'Check form serialization as query string' ); }); test("param", function() { @@ -16,10 +16,35 @@ test("param", function() { ok( $.param(params) == "someName=1&someName=2&someName=3®ularThing=blah", "with array" ); params = {"foo[]":["baz", 42, "All your base are belong to us"]}; - ok( $.param(params) == "foo[]=baz&foo[]=42&foo[]=All%20your%20base%20are%20belong%20to%20us", "more array" ); + ok( $.param(params) == "foo%5B%5D=baz&foo%5B%5D=42&foo%5B%5D=All%20your%20base%20are%20belong%20to%20us", "more array" ); params = {"foo[bar]":"baz", "foo[beep]":42, "foo[quux]":"All your base are belong to us"}; - ok( $.param(params) == "foo[bar]=baz&foo[beep]=42&foo[quux]=All%20your%20base%20are%20belong%20to%20us", "even more arrays" ); + ok( $.param(params) == "foo%5Bbar%5D=baz&foo%5Bbeep%5D=42&foo%5Bquux%5D=All%20your%20base%20are%20belong%20to%20us", "even more arrays" ); +}); + +test("evalScripts() with no script elements", function() { + expect(2); + + var data = "this is just some bogus text"; + $('#foo').html(data); + ok ( true, 'before evalScripts()'); + try { + $('#foo').evalScripts(); + } catch(e) { + ok (false, 'exception evaluating scripts: ' + e.message); + } + ok ( true, 'after evalScripts()'); +}); + +test("synchronous request", function() { + ok( /^{ "data"/.test( $.ajax({url: url("data/json_obj.js"), async: false}).responseText ), "check returned text" ); +}); + +test("synchronous request with callbacks", function() { + expect(2); + var result; + $.ajax({url: url("data/json_obj.js"), async: false, success: function(data) { ok(true, "sucess callback executed"); result = data; } }); + ok( /^{ "data"/.test( result ), "check returned text" ); }); test("pass-through request object", function() { @@ -30,30 +55,19 @@ test("pass-through request object", function() { if(count++ == 6) start(); } - var target = "data/name.php"; + var target = "data/name.html"; ok( $.get(url(target), success), "get" ); ok( $.getIfModified(url(target), success), "getIfModified" ); ok( $.post(url(target), success), "post" ); ok( $.getScript(url("data/test.js"), success), "script" ); - ok( $.getJSON(url("data/json.php"), success), "json" ); + ok( $.getJSON(url("data/json_obj.js"), success), "json" ); ok( $.ajax({url: url(target), success: success}), "generic" ); }); -test("synchronous request", function() { - ok( /^{ "data"/.test( $.ajax({url: url("data/json.php"), async: false}).responseText ), "check returned text" ); -}); - -test("synchronous request with callbacks", function() { - expect(2); - var result; - $.ajax({url: url("data/json.php"), async: false, success: function(data) { ok(true, "sucess callback executed"); result = data; } }); - ok( /^{ "data"/.test( result ), "check returned text" ); -}); - test("load(String, Object, Function) - simple: inject text into DOM", function() { expect(2); stop(); - $('#first').load(url("data/name.php"), function() { + $('#first').load(url("data/name.html"), function() { ok( /^ERROR/.test($('#first').text()), 'Check if content was injected into the DOM' ); start(); }); @@ -62,27 +76,40 @@ test("load(String, Object, Function) - simple: inject text into DOM", function() test("load(String, Object, Function) - inject without callback", function() { expect(1); stop(true); // check if load can be called with only url - $('#first').load("data/name.php"); + $('#first').load("data/name.html"); }); +if ( location.protocol != "file:" ) { + test("load(String, Object, Function) - check scripts", function() { expect(7); stop(); - testFoo = undefined; - foobar = null; + window.testFoo = undefined; + window.foobar = null; var verifyEvaluation = function() { ok( foobar == "bar", 'Check if script src was evaluated after load' ); - ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM'); ok( $('#ap').html() == 'bar', 'Check if script evaluation has modified DOM'); start(); }; $('#first').load(url('data/test.php'), function() { ok( $('#first').html().match(/^html text/), 'Check content after loading html' ); + ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM'); ok( testFoo == "foo", 'Check if script was evaluated after load' ); setTimeout(verifyEvaluation, 600); }); }); +test("load(String, Object, Function) - check file with only a script tag", function() { + expect(3); + stop(); + testFoo = undefined; + $('#first').load(url('data/test2.php'), function() { + ok( $('#foo').html() == 'foo', 'Check if script evaluation has modified DOM'); + ok( testFoo == "foo", 'Check if script was evaluated after load' ); + start(); + }); +}); + test("test global handlers - success", function() { expect(8); stop(); @@ -351,3 +378,18 @@ test("ajaxSetup()", function() { }); $.ajax(); }); + +test("custom timeout does not set error message when timeout occurs, see #970", function() { + stop(); + $.ajax({ + url: "data/name.php?wait=10", + timeout: 500, + error: function(request, status) { + ok( status != null, "status shouldn't be null in error handler" ); + equals( "timeout", status ); + start(); + } + }); +}); + +}