From ec2b0d1c3ad2b285adeea8bbb7e40878d82b4f98 Mon Sep 17 00:00:00 2001 From: Nathan Gass Date: Mon, 15 Oct 2012 16:57:11 +0000 Subject: add more it_url::get tests (some todo) --- tests/it_url.t | 31 +++++++++++++++++++++++++++++++ tests/it_url.testserver.php | 11 +++++++++++ 2 files changed, 42 insertions(+) (limited to 'tests') diff --git a/tests/it_url.t b/tests/it_url.t index 0655bda..e5f5c6b 100755 --- a/tests/it_url.t +++ b/tests/it_url.t @@ -164,6 +164,37 @@ $output = server_output(); if (!$res) diag($output); +$res = is( + it_url::get('http://localhost:8000/relative_redirect'), + "Testserver output after relative redirect", + 'TODO: it_url::get() follows relative redirect correctly', +); +$output = server_output(); +if (!$res) + diag($output); + +$res = is( + it_url::get('http://localhost:8000/nohost_redirect'), + "Testserver output after nohost redirect", + 'TODO: it_url::get() follows redirect without host correctly', +); +$output = server_output(); +if (!$res) + diag($output); + + +$res = ok( + !it_url::get('url' => 'http://localhost:8000/does_not_exist', 'retries' => 4), + 'it_url::get() retries on empty response', +); +$output = server_output(); +$res2 = ok( + count(preg_grep('/^Got Request:/', $output)) == 5, + 'it_url::get() respects set retry count', +); +if (!$res || !$res2) + diag($output); + $res = ok( !it_url::get(U('http://localhost:8000/redirect_loop', 'num' => 10)), 'it_url::get() handles redirect loop', diff --git a/tests/it_url.testserver.php b/tests/it_url.testserver.php index 12ce892..2d10052 100644 --- a/tests/it_url.testserver.php +++ b/tests/it_url.testserver.php @@ -22,7 +22,18 @@ switch ($_SERVER['PHP_SELF']) it_url::redirect(U("redirect_loop", array('num' => $_REQUEST['num'] - 1))); break; + case "/nohost_redirect": + header('Location: /redirect_target?type=nohost', true, 301); + exit; + + case "/relative_redirect": + header('Location: ../redirect_target?type=relative', true, 301); + exit; + case "/redirect_target": echo 'Testserver output after ' . $_REQUEST['type'] . ' redirect'; break; + + default: + fwrite($stderr, "Unknown path '$_SERVER[PHP_SELF]' not handled!\n"); } -- cgit v1.2.3