fflush_variation3.phpt [plain text]
--TEST--
Test fflush() function: usage variations - hard links as resource
--SKIPIF--
<?php
if( substr(PHP_OS, 0, 3) == 'WIN')
die("skip Links not valid on Windows");
?>
--FILE--
<?php
$file_path = dirname(__FILE__);
require $file_path.'/file.inc';
echo "*** Testing fflush(): with hard links to files opened in diff modes ***\n";
$file_types = array("empty", "numeric", "text", "text_with_new_line", "alphanumeric");
$file_modes = array("w", "wb", "wt", "w+", "w+b","w+t",
"a", "ab", "at", "a+","a+b", "a+t");
$file_name = "$file_path/fflush_variation3.tmp";
$link_name = "$file_path/lnk_fflush_variation3.tmp";
$count = 1;
foreach( $file_types as $type ) {
echo "-- Iteration $count with file containing $type data --\n";
foreach( $file_modes as $mode ) {
$file_handle = fopen($file_name, "w");
if($file_handle == false)
exit("Error:failed to open file $file_name");
if( substr($mode, 0, 1) == "a" )
fill_file($file_handle, $type, 10);
var_dump( link($file_name, $link_name) );
$file_handle = fopen($link_name, $mode);
if($file_handle == false)
exit("Error:failed to open link $link_name");
var_dump( fill_file($file_handle, $type, 50) );
var_dump( fflush($file_handle) );
fclose($file_handle);
var_dump( readfile($link_name) );
unlink($link_name);
unlink($file_name);
}
$count++;
}
echo "\n*** Done ***";
?>
--EXPECTF--
*** Testing fflush(): with hard links to files opened in diff modes ***
-- Iteration 1 with file containing empty data --
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
bool(true)
bool(true)
bool(true)
int(0)
-- Iteration 2 with file containing numeric data --
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
22222222222222222222222222222222222222222222222222int(50)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
bool(true)
bool(true)
bool(true)
222222222222222222222222222222222222222222222222222222222222int(60)
-- Iteration 3 with file containing text data --
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text int(50)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
bool(true)
bool(true)
bool(true)
text text text text text text text text text text text text int(60)
-- Iteration 4 with file containing text_with_new_line data --
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line of text
line
line of text
line
line of tint(50)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
bool(true)
bool(true)
bool(true)
line
line line
line of text
line
line of text
line
line of tint(60)
-- Iteration 5 with file containing alphanumeric data --
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(50)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
bool(true)
bool(true)
bool(true)
ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 ab12 int(60)
*** Done ***