]> granicus.if.org Git - php/commitdiff
add test for #37158
authorAntony Dovgal <tony2001@php.net>
Sat, 22 Apr 2006 23:46:42 +0000 (23:46 +0000)
committerAntony Dovgal <tony2001@php.net>
Sat, 22 Apr 2006 23:46:42 +0000 (23:46 +0000)
ext/standard/tests/file/bug37158.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/file/bug37158.phpt b/ext/standard/tests/file/bug37158.phpt
new file mode 100644 (file)
index 0000000..d071569
--- /dev/null
@@ -0,0 +1,43 @@
+--TEST--
+Bug #37158 (if userspace stream is present, fread() reads in 8192 max, otherwise it works)
+--FILE--
+<?php
+
+class VariableStream {
+   
+   function stream_open($path, $mode, $options, &$opened_path) 
+   {
+       return true;
+   }
+}
+
+stream_wrapper_register("var", "VariableStream");
+
+error_reporting(E_ALL | E_STRICT);
+$file = dirname(__FILE__) . '/footest.txt';
+$x = str_repeat(1, 8192);
+$fp = fopen($file, 'w');
+for ($i = 0; $i < 5; $i++) {
+       fwrite($fp, $x);
+}
+fclose($fp);
+
+$fp = fopen($file, 'r');
+$outsidecontents = fread($fp, 20000);
+fclose($fp);
+var_dump('size of contents 1 = ' . strlen($outsidecontents));
+$outsidecontents = file_get_contents($file);
+var_dump('size of contents 2 = ' . strlen($outsidecontents));
+
+unlink($file);
+
+echo "Done\n";
+?>
+--EXPECT--     
+string(26) "size of contents 1 = 20000"
+string(26) "size of contents 2 = 40960"
+Done
+--UEXPECT--    
+unicode(26) "size of contents 1 = 20000"
+unicode(26) "size of contents 2 = 40960"
+Done