X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=tests%2Fhelper%2Fdump.inc;h=5612d06e606eca70e860e9d168ee1c55cff06f07;hp=5f5f367235a5956ca3b5ca658280c309ec477db4;hb=ef9c474299e45b4d952b6a821b11f5121624a5fc;hpb=0a5bb2d697afe41949b22afa679d7a5aa4e11f13 diff --git a/tests/helper/dump.inc b/tests/helper/dump.inc index 5f5f367..5612d06 100644 --- a/tests/helper/dump.inc +++ b/tests/helper/dump.inc @@ -1,16 +1,22 @@ 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())) { @@ -18,4 +24,17 @@ function dump_message($stream, http\Message $msg, $parent = false) { } } -?> \ 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(fn($c) => $c->getCookies(), $r->getCookies())); + if ($expect_cookie != $got_cookies) { + var_dump($expect_cookie, $got_cookies); + echo $r->toString(true); + } + } + } + +} +?>