From: Raghubansh Kumar Date: Sun, 12 Aug 2007 06:53:04 +0000 (+0000) Subject: New testcases for fgetss() function X-Git-Tag: php-5.2.4RC2~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b6e86f054c9e7dfca8534c53e9b688c58db3d616;p=php New testcases for fgetss() function --- diff --git a/ext/standard/tests/file/fgetss_basic1.phpt b/ext/standard/tests/file/fgetss_basic1.phpt new file mode 100644 index 0000000000..ab9eae0be2 --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic1.phpt @@ -0,0 +1,133 @@ +--TEST-- +Test fgetss() function : Basic functionality - read modes only +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +EOT; + + +/* try reading the file opened in different modes of reading */ +$file_modes = array("r","rb", "rt","r+", "r+b", "r+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $filename = dirname(__FILE__)."/fgetss_basic1.tmp"; + create_file ($filename); //create an empty file + file_put_contents($filename, $string_with_tags); + $file_handle = fopen($filename, $file_modes[$mode_counter]); + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + rewind($file_handle); + /* read entire file and strip tags */ + echo "-- fgetss() with default length, file pointer at 0 --\n"; + var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + rewind($file_handle); + /* read entire file and strip tags tags */ + echo "-- fgets() with length = 30, file pointer at 0 --\n"; + var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file + var_dump( ftell($file_handle) ); // checking file pointer position initially + var_dump( feof($file_handle) ); // confirm file pointer is not at eof + + // close the file + fclose($file_handle); + + // delete the file + delete_file($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : Basic operations *** + +-- Testing fgetss() with file opened using r mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using rb mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using rt mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using r+ mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using r+b mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using r+t mode -- +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_basic2-win32.phpt b/ext/standard/tests/file/fgetss_basic2-win32.phpt new file mode 100644 index 0000000000..5a87b4c039 --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic2-win32.phpt @@ -0,0 +1,214 @@ +--TEST-- +Test fgetss() function : Basic functionality - read/write modes +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +EOT; + +$filename = dirname(__FILE__)."/fgetss_basic2.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + /* read entire file and strip tags */ + echo "-- fgetss() with default length, file pointer at 0 --\n"; + var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + rewind($file_handle); + /* read entire file and strip tags tags */ + echo "-- fgets() with length = 30, file pointer at 0 --\n"; + var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file + var_dump( ftell($file_handle) ); // checking file pointer position initially + var_dump( feof($file_handle) ); // confirm file pointer is not at eof + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : basic operations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using w+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using w+t mode -- +int(195) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+t mode -- +int(195) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+t mode -- +int(195) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_basic2.phpt b/ext/standard/tests/file/fgetss_basic2.phpt new file mode 100644 index 0000000000..63fdde850d --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic2.phpt @@ -0,0 +1,214 @@ +--TEST-- +Test fgetss() function : Basic functionality - read/write modes +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +EOT; + +$filename = dirname(__FILE__)."/fgetss_basic2.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + /* read entire file and strip tags */ + echo "-- fgetss() with default length, file pointer at 0 --\n"; + var_dump( fgetss($file_handle) ); // no length and allowable tags provided, reads entire file + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + rewind($file_handle); + /* read entire file and strip tags tags */ + echo "-- fgets() with length = 30, file pointer at 0 --\n"; + var_dump( fgetss($file_handle ,30) ); // length parameter given,not reading entire file + var_dump( ftell($file_handle) ); // checking file pointer position initially + var_dump( feof($file_handle) ); // confirm file pointer is not at eof + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : basic operations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using w+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using w+t mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using a+t mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+ mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+b mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) + +-- Testing fgetss() with file opened using x+t mode -- +int(192) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 -- +string(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +string(23) "Testing fgetss() functi" +int(29) +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_error.phpt b/ext/standard/tests/file/fgetss_error.phpt new file mode 100644 index 0000000000..f9961972c9 --- /dev/null +++ b/ext/standard/tests/file/fgetss_error.phpt @@ -0,0 +1,106 @@ +--TEST-- +Test fgetss() function : error conditions +--FILE-- +', $fp) ); + +// invalid length argument +echo "-- Testing fgetss() with invalid length arguments --\n"; +$len = 0; +$allowable_tags = '

'; +var_dump( fgetss($fp, $len, $allowable_tags) ); +$len = -10; +var_dump( fgetss($fp, $len, $allowable_tags) ); +$len = 1; +var_dump( fgetss($fp, $len, $allowable_tags) ); // return length - 1 always, expect false + +// test invalid arguments : non-resources +echo "-- Testing fgetss() with invalid arguments --\n"; +$invalid_args = array ( + "string", + 10, + 10.5, + true, + array(1,2,3), + new stdclass, +); +/* loop to test fgetss() with different invalid type of args */ +for($loop_counter = 1; $loop_counter <= count($invalid_args); $loop_counter++) { + echo "-- Iteration $loop_counter --\n"; + var_dump( fgetss($invalid_args[$loop_counter - 1], 10, $allowable_tags) ); +} +// fgetss() on a file handle which is already closed +echo "-- Testing fgetss() with closed/unset file handle --"; +fclose($fp); +var_dump(fgetss($fp,10,$allowable_tags)); + +// fgetss() on a file handle which is unset +$file_handle = fopen(__FILE__, "r"); +unset($file_handle); //unset file handle +var_dump( fgetss(@$file_handle,10)); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing error conditions *** +-- Testing fgetss() with zero argument -- + +Warning: Wrong parameter count for fgetss() in %s on line %d +NULL +-- Testing fgetss() with more than expected number of arguments -- + +Warning: Wrong parameter count for fgetss() in %s on line %d +NULL +-- Testing fgetss() with invalid length arguments -- + +Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d +bool(false) + +Warning: fgetss(): Length parameter must be greater than 0 in %s on line %d +bool(false) +bool(false) +-- Testing fgetss() with invalid arguments -- +-- Iteration 1 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Iteration 2 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Iteration 3 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Iteration 4 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Iteration 5 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Iteration 6 -- + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +-- Testing fgetss() with closed/unset file handle -- +Warning: fgetss(): 5 is not a valid stream resource in %s on line %d +bool(false) + +Warning: fgetss(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_variation1-win32.phpt b/ext/standard/tests/file/fgetss_variation1-win32.phpt new file mode 100644 index 0000000000..dc3ee930c7 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation1-win32.phpt @@ -0,0 +1,168 @@ +--TEST-- +Test fgetss() function : usage variations - write only modes +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation1.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w","wb", "wt","a", "ab", "at","x","xb","xt"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + /* read entire file and strip tags */ + echo "-- fgetss() with default length, file pointer at 0 , expected : no character should be read --\n"; + var_dump( fgetss($file_handle) ); // expected : no character should be read + var_dump( ftell($file_handle) ); //ensure that file pointer position is not changed + var_dump( feof($file_handle) ); // check if end of file pointer is set + + // close the file + fclose($file_handle); + + // delete the file + delete_file($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using wb mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using wt mode -- +int(453) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using a mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using ab mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using at mode -- +int(453) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using x mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using xb mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using xt mode -- +int(453) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_variation1.phpt b/ext/standard/tests/file/fgetss_variation1.phpt new file mode 100644 index 0000000000..d85b09556d --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation1.phpt @@ -0,0 +1,168 @@ +--TEST-- +Test fgetss() function : usage variations - write only modes +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation1.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w","wb", "wt","a", "ab", "at","x","xb","xt"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + /* read entire file and strip tags */ + echo "-- fgetss() with default length, file pointer at 0 , expected : no character should be read --\n"; + var_dump( fgetss($file_handle) ); // expected : no character should be read + var_dump( ftell($file_handle) ); //ensure that file pointer position is not changed + var_dump( feof($file_handle) ); // check if end of file pointer is set + + // close the file + fclose($file_handle); + + // delete the file + delete_file($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using wb mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using wt mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using a mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using ab mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using at mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using x mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using xb mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) + +-- Testing fgetss() with file opened using xt mode -- +int(445) +bool(true) +int(0) +bool(false) +-- fgetss() with default length, file pointer at 0 , expected : no character should be read -- +bool(false) +int(0) +bool(false) +Done diff --git a/ext/standard/tests/file/fgetss_variation2.phpt b/ext/standard/tests/file/fgetss_variation2.phpt new file mode 100644 index 0000000000..f13f8be82a --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation2.phpt @@ -0,0 +1,440 @@ +--TEST-- +Test fgetss() function : usage variations - read modes +--FILE-- +, , */ + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this is the text containing \r character +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation2.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("r","rb", "rt","r+", "r+b", "r+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + create_file ($filename); //create an empty file + file_put_contents($filename, $string_with_tags); + $file_handle = fopen($filename, $file_modes[$mode_counter]); + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + /* rewind the file and read the file line by line with allowable tags */ + echo "-- Reading line by line with allowable tags: , , --\n"; + rewind($file_handle); + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // check the file pointer position + var_dump( feof($file_handle) ); // check if eof reached + } + + // close the file + fclose($file_handle); + // delete the file + delete_file($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using r mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) + +-- Testing fgetss() with file opened using rb mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) + +-- Testing fgetss() with file opened using rt mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+ mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+b mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+t mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +string(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +string(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +string(12) " character. " +int(486) +bool(true) +Done diff --git a/ext/standard/tests/file/fgetss_variation3-win32.phpt b/ext/standard/tests/file/fgetss_variation3-win32.phpt new file mode 100644 index 0000000000..ea8ee2f8c6 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation3-win32.phpt @@ -0,0 +1,567 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes +--SKIPIF-- + +--FILE-- +, , +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation3.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + rewind($file_handle); + var_dump( ftell($file_handle) ); + var_dump( filesize($filename) ); + var_dump( feof($file_handle) ); + + /* rewind the file and read the file line by line with allowable tags */ + echo "-- Reading line by line with allowable tags: , , --\n"; + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // check the file pointer position + var_dump( feof($file_handle) ); // check if eof reached + } + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+t mode -- +int(0) +int(453) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+t mode -- +int(0) +int(453) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+t mode -- +int(0) +int(453) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) +Done diff --git a/ext/standard/tests/file/fgetss_variation3.phpt b/ext/standard/tests/file/fgetss_variation3.phpt new file mode 100644 index 0000000000..5b339a1bb9 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation3.phpt @@ -0,0 +1,567 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes +--SKIPIF-- + +--FILE-- +, , +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation3.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + rewind($file_handle); + var_dump( ftell($file_handle) ); + var_dump( filesize($filename) ); + var_dump( feof($file_handle) ); + + /* rewind the file and read the file line by line with allowable tags */ + echo "-- Reading line by line with allowable tags: , , --\n"; + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // check the file pointer position + var_dump( feof($file_handle) ); // check if eof reached + } + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+t mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+t mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+ mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+b mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+t mode -- +int(0) +int(445) +bool(false) +-- Reading line by line with allowable tags: , , -- +-- Line 1 -- +string(40) "Testing fgetss() functions +" +int(40) +bool(false) +-- Line 2 -- +string(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +string(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +string(21) " html +" +int(193) +bool(false) +-- Line 5 -- +string(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +string(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +string(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +string(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +string(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +string(12) " character. " +int(445) +bool(true) +Done diff --git a/ext/standard/tests/file/fgetss_variation4.phpt b/ext/standard/tests/file/fgetss_variation4.phpt new file mode 100644 index 0000000000..134a9652ab --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation4.phpt @@ -0,0 +1,163 @@ +--TEST-- +Test fgetss() function : usage variations - read modes, file pointer at EOF +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this is the text containing \r character +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation4.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("r","rb", "rt","r+", "r+b", "r+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + create_file ($filename); //create an empty file + file_put_contents($filename, $string_with_tags); + $file_handle = fopen($filename, $file_modes[$mode_counter]); + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + echo "-- Reading when file pointer points to EOF --\n"; + var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end + var_dump( ftell($file_handle) ); //ensure file pointer at end + var_dump( fgetss($file_handle) ); // try to read + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + // now file is at the end try reading with length and allowable tags,expecting false + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + // close the file + fclose($file_handle); + // delete the file + delete_file($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using r mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) + +-- Testing fgetss() with file opened using rb mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) + +-- Testing fgetss() with file opened using rt mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+ mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+b mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) + +-- Testing fgetss() with file opened using r+t mode -- +int(486) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(486) +bool(false) +int(486) +bool(true) +bool(false) +int(486) +bool(true) +Done diff --git a/ext/standard/tests/file/fgetss_variation5-win32.phpt b/ext/standard/tests/file/fgetss_variation5-win32.phpt new file mode 100644 index 0000000000..d806ddd47d --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation5-win32.phpt @@ -0,0 +1,217 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes, file pointer at EOF +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation5.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + echo "-- Reading when file pointer points to EOF --\n"; + var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end + var_dump( ftell($file_handle) ); //ensure file pointer at end + var_dump( fgetss($file_handle) ); // try to read + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + // now file is at the end try reading with length and allowable tags,expecting false + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+t mode -- +int(453) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(453) +bool(false) +int(453) +bool(true) +bool(false) +int(453) +bool(true) + +-- Testing fgetss() with file opened using a+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+t mode -- +int(453) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(453) +bool(false) +int(453) +bool(true) +bool(false) +int(453) +bool(true) + +-- Testing fgetss() with file opened using x+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+t mode -- +int(453) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(453) +bool(false) +int(453) +bool(true) +bool(false) +int(453) +bool(true) +Done diff --git a/ext/standard/tests/file/fgetss_variation5.phpt b/ext/standard/tests/file/fgetss_variation5.phpt new file mode 100644 index 0000000000..ea53382e2d --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation5.phpt @@ -0,0 +1,217 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes, file pointer at EOF +--SKIPIF-- + +--FILE-- +Testing fgetss() functions + {;}<{> this +is a heredoc string. ksklnm@@$$&$&^%&^%&^%& + html +this line is without any html and php tags +this is a line with more than eighty character,want to check line splitting correctly after 80 characters +this text contains some html tags body
br
+this is the line with \n character. +EOT; + +$filename = dirname(__FILE__)."/fgetss_variation5.tmp"; + +/* try reading the file opened in different modes of reading */ +$file_modes = array("w+","w+b", "w+t","a+", "a+b", "a+t","x+","x+b","x+t"); + +for($mode_counter = 0; $mode_counter < count($file_modes); $mode_counter++) { + echo "\n-- Testing fgetss() with file opened using $file_modes[$mode_counter] mode --\n"; + + /* create an empty file and write the strings with tags */ + $file_handle = fopen($filename, $file_modes[$mode_counter]); + fwrite($file_handle,$string_with_tags); //writing data to the file + if(!$file_handle) { + echo "Error: failed to open file $filename!\n"; + exit(); + } + // rewind the file pointer to begining of the file + var_dump( filesize($filename) ); + var_dump( rewind($file_handle) ); + var_dump( ftell($file_handle) ); + var_dump( feof($file_handle) ); + + echo "-- Reading when file pointer points to EOF --\n"; + var_dump( fseek($file_handle,0,SEEK_END) ); // now file pointer at end + var_dump( ftell($file_handle) ); //ensure file pointer at end + var_dump( fgetss($file_handle) ); // try to read + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + // now file is at the end try reading with length and allowable tags,expecting false + var_dump( fgetss($file_handle, 80, ", , ") ); + var_dump( ftell($file_handle) ); // find out file position + var_dump( feof($file_handle) ); // ensure that file pointer is at eof + + + // close the file + fclose($file_handle); + + // delete the file + unlink($filename); +} // end of for - mode_counter + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing fgetss() : usage variations *** + +-- Testing fgetss() with file opened using w+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using w+t mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using a+t mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+ mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+b mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) + +-- Testing fgetss() with file opened using x+t mode -- +int(445) +bool(true) +int(0) +bool(false) +-- Reading when file pointer points to EOF -- +int(0) +int(445) +bool(false) +int(445) +bool(true) +bool(false) +int(445) +bool(true) +Done