--TEST--
Test fgetc() function : basic functionality
--FILE--
<?php
include ("file.inc");
echo "*** Testing fgetc() : basic operations ***\n";
$file_modes = array( "r", "rb", "rt", "r+", "r+b", "r+t");
$file_content_types = array("numeric", "text", "text_with_new_line");
for($outerloop_counter = 0; $outerloop_counter < count($file_content_types); $outerloop_counter++) {
echo "--- Outerloop iteration ";
echo $outerloop_counter + 1;
echo " ---\n";
create_files(dirname(__FILE__), 1, $file_content_types[$outerloop_counter], 0755, 1, "w", "fgetc_basic", 1);
for($innerloop_counter = 0; $innerloop_counter < count($file_modes); $innerloop_counter++) {
echo "-- Innerloop iteration ";
echo $innerloop_counter + 1;
echo " of Outerloop Iteration ";
echo $outerloop_counter + 1;
echo " --\n";
$filename = dirname(__FILE__)."/fgetc_basic1.tmp"; echo "-- Testing fgetc() : file opened using $file_modes[$innerloop_counter] mode --\n";
$file_handle = fopen($filename, $file_modes[$innerloop_counter]);
if ( !$file_handle ) {
echo "Error: failed to open file $filename!";
exit();
}
for( $counter = 1; $counter <= 6; $counter++ ) {
var_dump( fgetc($file_handle) ); var_dump( ftell($file_handle) ); var_dump( feof($file_handle) ); var_dump($file_handle); }
fclose ( $file_handle);
}
delete_files(dirname(__FILE__), 1, "fgetc_basic", 1, ".tmp");
}
echo "Done\n";
?>
--EXPECTF--
*** Testing fgetc() : basic operations ***
--- Outerloop iteration 1 ---
-- Innerloop iteration 1 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using r mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 2 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using rb mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 3 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using rt mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 4 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using r+ mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 5 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using r+b mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 6 of Outerloop Iteration 1 --
-- Testing fgetc() : file opened using r+t mode --
string(1) "2"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "2"
int(6)
bool(false)
resource(%d) of type (stream)
--- Outerloop iteration 2 ---
-- Innerloop iteration 1 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using r mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 2 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using rb mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 3 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using rt mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 4 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using r+ mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 5 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using r+b mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 6 of Outerloop Iteration 2 --
-- Testing fgetc() : file opened using r+t mode --
string(1) "t"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "x"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) " "
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "t"
int(6)
bool(false)
resource(%d) of type (stream)
--- Outerloop iteration 3 ---
-- Innerloop iteration 1 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using r mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 2 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using rb mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 3 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using rt mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 4 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using r+ mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 5 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using r+b mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
-- Innerloop iteration 6 of Outerloop Iteration 3 --
-- Testing fgetc() : file opened using r+t mode --
string(1) "l"
int(1)
bool(false)
resource(%d) of type (stream)
string(1) "i"
int(2)
bool(false)
resource(%d) of type (stream)
string(1) "n"
int(3)
bool(false)
resource(%d) of type (stream)
string(1) "e"
int(4)
bool(false)
resource(%d) of type (stream)
string(1) "
"
int(5)
bool(false)
resource(%d) of type (stream)
string(1) "l"
int(6)
bool(false)
resource(%d) of type (stream)
Done