summaryrefslogtreecommitdiff
path: root/tests/it_url.t
diff options
context:
space:
mode:
authorNathan Gass2012-10-16 09:46:10 +0000
committerNathan Gass2012-10-16 09:46:10 +0000
commite1828e884f7c5475eea92ec13191ebd9c20ede92 (patch)
treeb3f4e3123bdd1fc24104528fe7453d2b113e982d /tests/it_url.t
parentd2ef55e48f160f44a64188dddeade2d2b6d32ee3 (diff)
downloaditools-e1828e884f7c5475eea92ec13191ebd9c20ede92.tar.gz
itools-e1828e884f7c5475eea92ec13191ebd9c20ede92.tar.bz2
itools-e1828e884f7c5475eea92ec13191ebd9c20ede92.zip
dry
Diffstat (limited to 'tests/it_url.t')
-rwxr-xr-xtests/it_url.t149
1 files changed, 64 insertions, 85 deletions
diff --git a/tests/it_url.t b/tests/it_url.t
index de1cd0b..45e882c 100755
--- a/tests/it_url.t
+++ b/tests/it_url.t
@@ -123,120 +123,99 @@ ok(
'it_url::get() static call'
);
-$server = proc_open(
- 'php -S localhost:8000 ' . dirname($_SERVER['PHP_SELF']) . '/it_url.testserver.php',
- array(0 => fopen('/dev/null', 'r'), 1 => fopen('/dev/null', 'w'), 2 => array('pipe', 'w')),
- $pipes
-);
-usleep(100000);
-stream_set_blocking($pipes[2], 0);
-function server_output() {
- $result = array();
- while (($result[] = trim(fgets($GLOBALS['pipes'][2])))) {};
- return array_filter($result);
-}
-
-$res = is(
- it_url::get('http://localhost:8000/'),
- "Testserver root output",
- 'it_url::get() static call with port',
-);
-$output = server_output();
-if (!$res)
- diag($output);
+require 'it_url_server.php';
-$res = is(
- it_url::get('http://localhost:8000/temp_redirect'),
- "Testserver output after temporary redirect",
- 'it_url::get() follows temproary redirect',
+handle_server(
+ is(
+ it_url::get('http://localhost:8000/'),
+ "Testserver root output",
+ 'it_url::get() static call with port',
+ )
);
-$output = server_output();
-if (!$res)
- diag($output);
-$res = is(
- it_url::get('http://localhost:8000/perm_redirect'),
- "Testserver output after permanent redirect",
- 'it_url::get() follows permanent redirect',
+handle_server(
+ is(
+ it_url::get('http://localhost:8000/temp_redirect'),
+ "Testserver output after temporary redirect",
+ 'it_url::get() follows temproary redirect',
+ )
);
-$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',
+handle_server(
+ is(
+ it_url::get('http://localhost:8000/perm_redirect'),
+ "Testserver output after permanent redirect",
+ 'it_url::get() follows permanent redirect',
+ )
);
-$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',
+handle_server(
+ is(
+ it_url::get('http://localhost:8000/relative_redirect'),
+ "Testserver output after relative redirect",
+ 'TODO: it_url::get() follows relative redirect correctly',
+ )
+);
+
+handle_server(
+ 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(U('http://localhost:8000/redirect_loop', 'num' => 10)),
- 'it_url::get() handles redirect loop',
+$output = handle_server(
+ ok(
+ !it_url::get(U('http://localhost:8000/redirect_loop', 'num' => 10)),
+ 'it_url::get() handles redirect loop',
+ )
);
-$output = server_output();
$last_num = it::match('num=(\d+)', end($output));
-$res2 = ok(
+if (!ok(
$last_num == 5,
'it_url::get() aborts redirect loop after 5 redirects',
-);
-if (!$res || !$res2)
+))
diag($output);
-$res = ok(
- !it_url::get('url' => 'http://localhost:8000/does_not_exist', 'retries' => 4),
- 'it_url::get() retries on empty response',
+$output = handle_server(
+ 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(
+if (!ok(
count(preg_grep('/^Got Request:/', $output)) == 5,
'it_url::get() respects set retry count',
-);
-if (!$res || !$res2)
+))
diag($output);
-$res = is(
- it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_HOST')),
- 'localhost:8000',
- 'TODO it_url::get() sets correct Host header',
+handle_server(
+ is(
+ it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_HOST')),
+ 'localhost:8000',
+ 'TODO it_url::get() sets correct Host header',
+ )
);
-$output = server_output();
-if (!$res)
- diag($output);
-$res = is(
- it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_ACCEPT_LANGUAGE')),
- T_lang(),
- 'it_url::get() sets correct Accept-Language header',
+handle_server(
+ is(
+ it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_ACCEPT_LANGUAGE')),
+ T_lang(),
+ 'it_url::get() sets correct Accept-Language header',
+ )
);
-$output = server_output();
-if (!$res)
- diag($output);
-$res = ok(
- it::match('Mozilla', it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_USER_AGENT'))),
- 'it_url::get() sets User-Agent containing Mozilla',
+handle_server(
+ ok(
+ it::match('Mozilla', it_url::get(U('http://localhost:8000/get_server_value', 'key' => 'HTTP_USER_AGENT'))),
+ 'it_url::get() sets User-Agent containing Mozilla',
+ )
);
-$output = server_output();
-if (!$res)
- diag($output);
$pages = it_url::get_multi('urls' => array('a' => 'http://www.gna.ch/', 'b' => 'http://search.ch/'));
ok(strpos($pages['a'], '</html>'), 'it_url::get_multi got first url'); # UTF8SAFE
ok(strpos($pages['b'], '</html>'), 'it_url::get_multi got second url'); # UTF8SAFE
is(count($pages), 2, 'it_url::get_multi no additional array elements');
-proc_terminate($server);
-
?>