php-src/ext/standard/tests/streams/stream_get_meta_data_file_variation2.phpt

136 lines
2.1 KiB
Plaintext
Raw Normal View History

2008-03-19 17:38:23 +00:00
--TEST--
Testing stream_get_meta_data() "unread_bytes" field
--FILE--
<?php
$filename = __FILE__ . '.tmp';
$fp = fopen($filename, "w+");
echo "Write some data to the file:\n";
$i = 0;
while ($i++ < 20) {
fwrite($fp, "a line of data\n");
}
var_dump(stream_get_meta_data($fp));
//seek to start of file
rewind($fp);
echo "\n\nRead a line of the file, causing data to be buffered:\n";
var_dump(fgets($fp));
var_dump(stream_get_meta_data($fp));
echo "\n\nRead 20 bytes from the file:\n";
fread($fp, 20);
var_dump(stream_get_meta_data($fp));
echo "\n\nRead entire file:\n";
while(!feof($fp)) {
fread($fp, 1);
}
var_dump(stream_get_meta_data($fp));
fclose($fp);
unlink($filename);
?>
--EXPECTF--
Write some data to the file:
array(9) {
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
}
Read a line of the file, causing data to be buffered:
string(15) "a line of data
"
array(9) {
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(285)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
}
Read 20 bytes from the file:
array(9) {
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(265)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
}
Read entire file:
array(9) {
["wrapper_type"]=>
string(9) "plainfile"
["stream_type"]=>
string(5) "STDIO"
["mode"]=>
string(2) "w+"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(true)
["uri"]=>
string(%i) "%s.tmp"
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(true)
}