summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/fgetc_variation1.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/fgetc_variation1.phpt')
-rw-r--r--ext/standard/tests/file/fgetc_variation1.phpt94
1 files changed, 94 insertions, 0 deletions
diff --git a/ext/standard/tests/file/fgetc_variation1.phpt b/ext/standard/tests/file/fgetc_variation1.phpt
new file mode 100644
index 0000000..007b2e0
--- /dev/null
+++ b/ext/standard/tests/file/fgetc_variation1.phpt
@@ -0,0 +1,94 @@
+--TEST--
+Test fgetc() function : usage variations - read when file pointer at EOF
+--FILE--
+<?php
+/*
+ Prototype: string fgetc ( resource $handle );
+ Description: Gets character from file pointer
+*/
+// include the header for common test function
+include ("file.inc");
+
+echo "*** Testing fgetc() : usage variations ***\n";
+echo "-- Testing fgetc() with file whose file pointer is pointing to EOF --\n";
+// create a file
+create_files(dirname(__FILE__), 1, "text_with_new_line", 0755, 1, "w", "fgetc_variation");
+
+$filename = dirname(__FILE__)."/fgetc_variation1.tmp";
+
+// loop to check the file opened in different read modes
+$file_modes = array("r", "rb", "rt", "r+", "r+b", "r+t");
+$loop_counter =0;
+for(; $loop_counter < count($file_modes); $loop_counter++) {
+ // print the hearder
+ echo "-- File opened in mode : $file_modes[$loop_counter] --\n";
+ // open the file
+ $file_handle = fopen ($filename, $file_modes[$loop_counter]);
+ if (!$file_handle) {
+ echo "Error: failed to open file $filename! \n";
+ exit();
+ }
+
+ // seek to end of the file and try fgetc()
+ var_dump( fseek($file_handle, 0, SEEK_END) ); // set file pointer to eof
+ var_dump( feof($file_handle) ); // expected false
+ var_dump( ftell($file_handle) ); // ensure that file pointer is at eof
+ var_dump( fgetc($file_handle) ); // try n read a char, none expected
+ var_dump( feof($file_handle) ); // ensure thta file pointer is at eof
+ var_dump( ftell($file_handle) ); // file pointer position
+
+ // close the file handle
+ fclose($file_handle);
+}
+echo "Done\n";
+?>
+--CLEAN--
+<?php
+unlink( dirname(__FILE__)."/fgetc_variation1.tmp");
+?>
+--EXPECTF--
+*** Testing fgetc() : usage variations ***
+-- Testing fgetc() with file whose file pointer is pointing to EOF --
+-- File opened in mode : r --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+-- File opened in mode : rb --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+-- File opened in mode : rt --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+-- File opened in mode : r+ --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+-- File opened in mode : r+b --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+-- File opened in mode : r+t --
+int(0)
+bool(false)
+int(1024)
+bool(false)
+bool(true)
+int(1024)
+Done