better reporting whether the response was sent out completely
[m6w6/ext-http] / tests / envresponse016.phpt
diff --git a/tests/envresponse016.phpt b/tests/envresponse016.phpt
new file mode 100644 (file)
index 0000000..67595b4
--- /dev/null
@@ -0,0 +1,34 @@
+--TEST--
+env response send failure
+--SKIPIF--
+<?php
+include "skipif.inc";
+?>
+--FILE--
+<?php
+
+echo "Test\n";
+
+class closer extends php_user_filter {
+       function filter ($in, $out, &$consumed, $closing) {
+               while ($bucket = stream_bucket_make_writeable($in)) {
+                       stream_bucket_append($out, $bucket);
+               }
+               return PSFS_ERR_FATAL;
+       }
+}
+
+stream_filter_register("closer", "closer");
+
+$r = new http\Env\Response;
+$r->getBody()->append(str_repeat("a", 16*1024*4));
+$s = fopen("php://temp", "w");
+stream_filter_append($s, "closer");
+var_dump($r->send($s));
+?>
+DONE
+--EXPECTF--
+Test
+Warning: http\Env\Response::send(): Failed to send response body in %s on line %d
+bool(false)
+DONE