diff options
author | Raghubansh Kumar <kraghuba@php.net> | 2007-07-21 17:30:23 +0000 |
---|---|---|
committer | Raghubansh Kumar <kraghuba@php.net> | 2007-07-21 17:30:23 +0000 |
commit | 0e6b39f51565f5c9cf7c784b97c7d82606f47fb5 (patch) | |
tree | 8d684a1835927dba1292803e02612020da1a52af /ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt | |
parent | ff2a77b1d3c2d93a71ad4a244f9b9f1234b4d5c3 (diff) | |
download | php-git-0e6b39f51565f5c9cf7c784b97c7d82606f47fb5.tar.gz |
New testcases for fseek(), ftell() and rewind() functions
Diffstat (limited to 'ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt')
-rw-r--r-- | ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt | 484 |
1 files changed, 484 insertions, 0 deletions
diff --git a/ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt b/ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt new file mode 100644 index 0000000000..cf5e6494f7 --- /dev/null +++ b/ext/standard/tests/file/fseek_ftell_rewind_variation6.phpt @@ -0,0 +1,484 @@ +--TEST-- +Test fseek(), ftell() & rewind() functions : usage variations - all w & x modes, SEEK_CUR +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip Not valid for Windows'); +} +?> +--FILE-- +<?php +/* Prototype: int fseek ( resource $handle, int $offset [, int $whence] ); + Description: Seeks on a file pointer + + Prototype: bool rewind ( resource $handle ); + Description: Rewind the position of a file pointer + + Prototype: int ftell ( resource $handle ); + Description: Tells file pointer read/write position +*/ + +// include the file.inc for common functions for test +include ("file.inc"); + +/* Testing fseek(),ftell(),rewind() functions + 1. All write and create with write modes + 2. Testing fseek() with whence = SEEK_CUR +*/ +echo "*** Testing fseek(), ftell(), rewind() : whence = SEEK_CUR & all w and x modes ***\n"; + +$file_modes = array( "w","wb","wt","w+","w+b","w+t", + "x","xb","xt","x+","x+b","x+t"); +$file_content_types = array( "text_with_new_line","alphanumeric"); + +$offset = array(-1,0,1,512,600); // different offsets + +$filename = dirname(__FILE__)."/fseek_ftell_rewind_variation6.tmp"; // this is name of the file created by create_files() + +/* open the file using $files_modes and perform fseek(),ftell() and rewind() on it */ +foreach($file_content_types as $file_content_type){ + echo "\n-- File having data of type ". $file_content_type ." --\n"; + foreach($file_modes as $file_mode) { + echo "-- File opened in mode ".$file_mode." --\n"; + $file_handle = fopen($filename, $file_mode); + if (!$file_handle){ + echo "Error: failed to fopen() file: $filename!"; + exit(); + } + $data_to_be_written=""; + fill_buffer($data_to_be_written, $file_content_type, 512); //get the data of size 512 + $data_to_be_written = $data_to_be_written; + fwrite($file_handle,$data_to_be_written); + rewind($file_handle); + + foreach($offset as $count){ + var_dump( fseek($file_handle,$count,SEEK_CUR) ); + var_dump( ftell($file_handle) ); // confirm the file pointer position + var_dump( feof($file_handle) ); //ensure that file pointer is not at end + } //end of offset loop + + //close the file and check the size + fclose($file_handle); + var_dump( filesize($filename) ); + + delete_file($filename); // delete file with name + } //end of file_mode loop +} //end of file_content_types loop + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fseek(), ftell(), rewind() : whence = SEEK_CUR & all w and x modes *** + +-- File having data of type text_with_new_line -- +-- File opened in mode w -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode wb -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode wt -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+ -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+b -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+t -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode xb -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode xt -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+ -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+b -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+t -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) + +-- File having data of type alphanumeric -- +-- File opened in mode w -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode wb -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode wt -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+ -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+b -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode w+t -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode xb -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode xt -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+ -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+b -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +-- File opened in mode x+t -- +int(-1) +int(0) +bool(false) +int(0) +int(0) +bool(false) +int(0) +int(1) +bool(false) +int(0) +int(513) +bool(false) +int(0) +int(1113) +bool(false) +int(512) +Done
\ No newline at end of file |