X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=tests%2Fmessageparser001.phpt;h=d2d22a50aafe2c2d1eaa857f8eb59878c7bb3d93;hp=f4ec2d90967a01e42350817d1a93f8cf776f63ce;hb=5560fddc86c1fbbc53ab57e885acbd5e879077a8;hpb=55cd3786a42cab5979e8559991fa816af485dbe0;ds=sidebyside diff --git a/tests/messageparser001.phpt b/tests/messageparser001.phpt index f4ec2d9..d2d22a5 100644 --- a/tests/messageparser001.phpt +++ b/tests/messageparser001.phpt @@ -12,6 +12,7 @@ echo "Test\n"; use http\Message\Parser; foreach (glob(__DIR__."/data/message_*.txt") as $file) { + $string = ""; $parser = new Parser; $fd = fopen($file, "r") or die("Could not open $file"); while (!feof($fd)) { @@ -23,6 +24,11 @@ foreach (glob(__DIR__."/data/message_*.txt") as $file) { throw new Exception(($e = error_get_last()) ? $e["message"] : "Could not parse $file"); } } + + if (!$string) { + $s = ["START", "HEADER", "HEADER_DONE", "BODY", "BODY_DUMB", "BODY_LENGTH", "BODY_CHUNK", "BODY_DONE", "UPDATE_CL", "DONE"]; + printf("Unexpected state: %s (%s)\n", $s[$parser->getState()], $file); + } $parser = new Parser; rewind($fd); @@ -38,12 +44,14 @@ foreach (glob(__DIR__."/data/message_*.txt") as $file) { if ($string !== (string) $message) { $a = explode("\n", $string); $b = explode("\n", (string) $message); - while ((null !== ($aa = array_shift($a))) || (null !== ($bb = array_shift($b)))) { + do { + $aa = array_shift($a); + $bb = array_shift($b); if ($aa !== $bb) { isset($aa) and printf("-- %s\n", $aa); isset($bb) and printf("++ %s\n", $bb); } - } + } while ($a || $b); } } ?>