X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=tests%2Fhelper%2Fdump.inc;h=59d258c46f8c9681e863ed82cc1d3e4e27eed59b;hb=HEAD;hp=5f5f367235a5956ca3b5ca658280c309ec477db4;hpb=468e8d748d365811af4ce890fd8fc4c1f88cc08a;p=m6w6%2Fext-http diff --git a/tests/helper/dump.inc b/tests/helper/dump.inc index 5f5f367..59d258c 100644 --- a/tests/helper/dump.inc +++ b/tests/helper/dump.inc @@ -1,21 +1,42 @@ getInfo()); - $headers = $msg->getHeaders(); ksort($headers); foreach ($headers as $key => $val) { fprintf($stream, "%s: %s\n", $key, $val); } fprintf($stream, "\n"); +} + +function dump_message($stream, http\Message $msg, $parent = false) { + if (!is_resource($stream)) { + $stream = fopen("php://output", "w"); + } + fprintf($stream, "%s\n", $msg->getInfo()); + dump_headers($stream, $msg->getHeaders()); $msg->getBody()->toStream($stream); - + if ($parent && ($msg = $msg->getParentMessage())) { dump_message($stream, $msg, true); } } -?> \ No newline at end of file +function dump_responses($client, array $expect_cookie = []) { + while (($r = $client->getResponse())) { + dump_headers(null, $r->getHeaders()); + if ($expect_cookie) { + $got_cookies = array_merge(...array_map(function($c) { + return $c->getCookies(); + }, $r->getCookies())); + if ($expect_cookie != $got_cookies) { + var_dump($expect_cookie, $got_cookies); + echo $r->toString(true); + } + } + } + +} +?>