diff options
author | Raghubansh Kumar <kraghuba@php.net> | 2007-08-12 06:55:52 +0000 |
---|---|---|
committer | Raghubansh Kumar <kraghuba@php.net> | 2007-08-12 06:55:52 +0000 |
commit | 721e2ab3a7c76de1f5a5400ad45eed0296130b41 (patch) | |
tree | 86b8e7c9214a14c652657da11faceea0b939b9ad | |
parent | c7d2d62a02c6f0d47c31f72f36ceb24eed6817af (diff) | |
download | php-git-721e2ab3a7c76de1f5a5400ad45eed0296130b41.tar.gz |
New testcases for fgetss() function
-rw-r--r-- | ext/standard/tests/file/fgetss_basic1.phpt | 202 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_basic2-win32.phpt | 352 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_basic2.phpt | 352 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_error.phpt | 163 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation1-win32.phpt | 168 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation1.phpt | 261 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation2.phpt | 1547 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation3-win32.phpt | 1056 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation3.phpt | 1056 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation4.phpt | 256 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation5-win32.phpt | 217 | ||||
-rw-r--r-- | ext/standard/tests/file/fgetss_variation5.phpt | 217 |
12 files changed, 5847 insertions, 0 deletions
diff --git a/ext/standard/tests/file/fgetss_basic1.phpt b/ext/standard/tests/file/fgetss_basic1.phpt new file mode 100644 index 0000000000..3fc03412b9 --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic1.phpt @@ -0,0 +1,202 @@ +--TEST-- +Test fgetss() function : Basic functionality - read modes only(bug#42126/42125) +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* test fgetss with all read modes */ + +// include the common file related test functions +include ("file.inc"); + +echo "*** Testing fgetss() : Basic operations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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 +--UEXPECTF-- +*** 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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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..55ad7b96c6 --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic2-win32.phpt @@ -0,0 +1,352 @@ +--TEST-- +Test fgetss() function : Basic functionality - read/write modes +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip.. only on Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t +*/ + + +echo "*** Testing fgetss() : basic operations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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,(binary)$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 +--UEXPECTF-- +*** 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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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..9e42e3cb11 --- /dev/null +++ b/ext/standard/tests/file/fgetss_basic2.phpt @@ -0,0 +1,352 @@ +--TEST-- +Test fgetss() function : Basic functionality - read/write modes +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. Not valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t +*/ + + +echo "*** Testing fgetss() : basic operations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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,(binary)$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 +--UEXPECTF-- +*** 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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(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 -- +unicode(27) "Testing fgetss() functions +" +int(40) +bool(false) +-- fgets() with length = 30, file pointer at 0 -- +unicode(23) "Testing fgetss() functi" +int(29) +bool(false) +Done
\ No newline at end of file diff --git a/ext/standard/tests/file/fgetss_error.phpt b/ext/standard/tests/file/fgetss_error.phpt new file mode 100644 index 0000000000..7939ddedaf --- /dev/null +++ b/ext/standard/tests/file/fgetss_error.phpt @@ -0,0 +1,163 @@ +--TEST-- +Test fgetss() function : error conditions +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +echo "*** Testing error conditions ***\n"; +// zero argument +echo "-- Testing fgetss() with zero argument --\n"; +var_dump( fgetss() ); + +// more than expected no. of args +echo "-- Testing fgetss() with more than expected number of arguments --\n"; +$fp = fopen(__FILE__, "r"); +var_dump( fgetss($fp, 100, '<p><a>', $fp) ); + +// invalid length argument +echo "-- Testing fgetss() with invalid length arguments --\n"; +$len = 0; +$allowable_tags = '<p><a>'; +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)); +var_dump(fclose(@$file_handle)); + +echo "Done\n"; +?> +--EXPECTF-- +*** Testing error conditions *** +-- Testing fgetss() with zero argument -- + +Warning: fgetss() expects at least 1 parameter, 0 given in %s on line %d +NULL +-- Testing fgetss() with more than expected number of arguments -- + +Warning: fgetss() expects at most 3 parameters, 4 given 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() expects parameter 1 to be resource, string given in %s on line %d +NULL +-- Iteration 2 -- + +Warning: fgetss() expects parameter 1 to be resource, integer given in %s on line %d +NULL +-- Iteration 3 -- + +Warning: fgetss() expects parameter 1 to be resource, double given in %s on line %d +NULL +-- Iteration 4 -- + +Warning: fgetss() expects parameter 1 to be resource, boolean given in %s on line %d +NULL +-- Iteration 5 -- + +Warning: fgetss() expects parameter 1 to be resource, array given in %s on line %d +NULL +-- Iteration 6 -- + +Warning: fgetss() expects parameter 1 to be resource, object given in %s on line %d +NULL +-- 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() expects parameter 1 to be resource, null given in %s on line %d +NULL + +Warning: fclose(): supplied argument is not a valid stream resource in %s on line %d +bool(false) +Done +--UEXPECTF-- +*** Testing error conditions *** +-- Testing fgetss() with zero argument -- + +Warning: fgetss() expects at least 1 parameter, 0 given in %s on line %d +NULL +-- Testing fgetss() with more than expected number of arguments -- + +Warning: fgetss() expects at most 3 parameters, 4 given 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() expects parameter 1 to be resource, Unicode string given in %s on line %d +NULL +-- Iteration 2 -- + +Warning: fgetss() expects parameter 1 to be resource, integer given in %s on line %d +NULL +-- Iteration 3 -- + +Warning: fgetss() expects parameter 1 to be resource, double given in %s on line %d +NULL +-- Iteration 4 -- + +Warning: fgetss() expects parameter 1 to be resource, boolean given in %s on line %d +NULL +-- Iteration 5 -- + +Warning: fgetss() expects parameter 1 to be resource, array given in %s on line %d +NULL +-- Iteration 6 -- + +Warning: fgetss() expects parameter 1 to be resource, object given in %s on line %d +NULL +-- 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() expects parameter 1 to be resource, null given in %s on line %d +NULL + +Warning: fclose(): 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..0525f26c52 --- /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-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip.. only on Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgets on files which are opened in non readable modes + w, wb, wt, + a, ab, at, + x, xb, xt +*/ + +// include the common file related test functions +include ("file.inc"); + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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..e3206f0822 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation1.phpt @@ -0,0 +1,261 @@ +--TEST-- +Test fgetss() function : usage variations - write only modes +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. Not valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgets on files which are opened in non readable modes + w, wb, wt, + a, ab, at, + x, xb, xt +*/ + +// include the common file related test functions +include ("file.inc"); + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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 +--UEXPECTF-- +*** 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..296fc170b0 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation2.phpt @@ -0,0 +1,1547 @@ +--TEST-- +Test fgetss() function : usage variations - read modes(bug#42126/42125) +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +// include the common file related test functions +include ("file.inc"); + +/*Test fgetss() with all read modes , reading line by line with allowable tags: <test>, <html>, <?> */ + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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: <test>, <html>, <?> --\n"; + rewind($file_handle); + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") ); + 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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 +--UEXPECTF-- +*** 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +unicode(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +unicode(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +unicode(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +unicode(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +unicode(12) " character. " +int(486) +bool(true) +Done +--UEXPECTF-- +*** 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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 +--UEXPECTF-- +*** 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +unicode(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +unicode(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(41) "this is the text containing + character +" +int(383) +bool(false) +-- Line 9 -- +unicode(46) "this text contains some html tags body br +" +int(451) +bool(false) +-- Line 10 -- +unicode(23) "this is the line with +" +int(474) +bool(false) +-- Line 11 -- +unicode(12) " character. " +int(486) +bool(true) +Done
\ No newline at end of file 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..d4dab80e99 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation3-win32.phpt @@ -0,0 +1,1056 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip.. only valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t + reading line by line with allowable tags: <test>, <html>, <?> +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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: <test>, <html>, <?> --\n"; + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") ); + 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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 +--UEXPECTF-- +*** 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(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..21946c0ac8 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation3.phpt @@ -0,0 +1,1056 @@ +--TEST-- +Test fgetss() function : usage variations - read/write modes +--SKIPIF-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. Not valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t + reading line by line with allowable tags: <test>, <html>, <?> +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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: <test>, <html>, <?> --\n"; + $line = 1; + while( !feof($file_handle) ) { + echo "-- Line $line --\n"; $line++; + var_dump( fgetss($file_handle, 80, "<test>, <html>, <?>") ); + 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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 +--UEXPECTF-- +*** 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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +string(40) "<test>Testing fgetss() functions</test> +" +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> html </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: <test>, <html>, <?> -- +-- Line 1 -- +unicode(40) "<test>Testing fgetss() functions</test> +" +int(40) +bool(false) +-- Line 2 -- +unicode(10) " {;} this +" +int(99) +bool(false) +-- Line 3 -- +unicode(44) "is a heredoc string. ksklnm@@$$&$&^%&^%&^%& +" +int(152) +bool(false) +-- Line 4 -- +unicode(21) "<html> html </html> +" +int(193) +bool(false) +-- Line 5 -- +unicode(43) "this line is without any html and php tags +" +int(236) +bool(false) +-- Line 6 -- +unicode(79) "this is a line with more than eighty character,want to check line splitting cor" +int(315) +bool(false) +-- Line 7 -- +unicode(27) "rectly after 80 characters +" +int(342) +bool(false) +-- Line 8 -- +unicode(46) "this text contains some html tags body br +" +int(410) +bool(false) +-- Line 9 -- +unicode(23) "this is the line with +" +int(433) +bool(false) +-- Line 10 -- +unicode(12) " character. " +int(445) +bool(true) +Done
\ No newline at end of file diff --git a/ext/standard/tests/file/fgetss_variation4.phpt b/ext/standard/tests/file/fgetss_variation4.phpt new file mode 100644 index 0000000000..22b7e3d858 --- /dev/null +++ b/ext/standard/tests/file/fgetss_variation4.phpt @@ -0,0 +1,256 @@ +--TEST-- +Test fgetss() function : usage variations - read modes, file pointer at EOF(bug#42126) +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +// include the common file related test functions +include ("file.inc"); + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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, "<test>, <html>, <?>") ); + 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 +--UEXPECTF-- +*** 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..32777213a6 --- /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-- +<?php +if (substr(PHP_OS, 0, 3) != 'WIN') { + die('skip.. only valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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, "<test>, <html>, <?>") ); + 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..a0b52088d3 --- /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-- +<?php +if (substr(PHP_OS, 0, 3) == 'WIN') { + die('skip.. Not valid for Windows'); +} +?> +--FILE-- +<?php +/* + Prototype: string fgetss ( resource $handle [, int $length [, string $allowable_tags]] ); + Description: Gets line from file pointer and strip HTML tags +*/ + +/* try fgetss on files which are opened in read/write modes + w+, w+b, w+t, + a+, a+b, a+t, + x+, x+b, x+t +*/ + + +echo "*** Testing fgetss() : usage variations ***\n"; + +/* string with html and php tags */ +$string_with_tags = <<<EOT +<test>Testing fgetss() functions</test> +<?php echo "this string is within php tag"; ?> {;}<{> this +is a heredoc string. <pg>ksklnm@@$$&$&^%&^%&^%&</pg> +<html> html </html> <?php echo "php"; ?> +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> body </body> <br> br </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,(binary)$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, "<test>, <html>, <?>") ); + 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 |