cvs: php-src /ext/standard/tests/file fgetss_basic1.phpt fgetss_basic2-win32.phpt fgetss_basic2.phpt fgetss_error.phpt fgetss_variation1-win32.phpt
fgetss_variation1.phpt fgetss_variation2.phpt fgetss_variation3-win32.phpt fgetss_variation3.phpt fgetss_variation4.phpt fgetss_variation5-win32.phpt
fgetss_variation5.phpt
| From: | Raghubansh Kumar | Date: | Sun, 12 Aug 2007 06:55:52 +0000 |
| Subject: | cvs: php-src /ext/standard/tests/file fgetss_basic1.phpt fgetss_basic2-win32.phpt fgetss_basic2.phpt fgetss_error.phpt fgetss_variation1-win32.phpt fgetss_variation1.phpt fgetss_variation2.phpt fgetss_variation3-win32.phpt fgetss_variation3.phpt fgetss_variation4.phpt fgetss_variation5-win32.phpt fgetss_variation5.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-45872@lists.php.net to get a copy of this message | ||
kraghuba Sun Aug 12 06:55:52 2007 UTC
Modified files:
/php-src/ext/standard/tests/file fgetss_variation2.phpt
fgetss_variation5-win32.phpt
fgetss_variation3.phpt
fgetss_error.phpt
fgetss_variation4.phpt
fgetss_variation5.phpt
fgetss_basic2-win32.phpt
fgetss_basic1.phpt
fgetss_basic2.phpt
fgetss_variation1-win32.phpt
fgetss_variation3-win32.phpt
fgetss_variation1.phpt
Log:
New testcases for fgetss() function
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation2.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation2.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation2.phpt Sun Aug 12 06:55:52 2007 @@ -0,0 +1,1523 @@ +--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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation3.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation3.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation3.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation3.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_error.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_error.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_error.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_error.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation4.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation4.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation4.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation4.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation5.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation5.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation5.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation5.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic1.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic1.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic1.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic2.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic2.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic2.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation1.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation1.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation1.phpt Sun Aug 12 06:55:52 2007 @@ -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
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation2.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation2.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation2.phpt Sun Aug 12 06:55:52 2007 @@ -0,0 +1,1523 @@ +--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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation5-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation3.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation3.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation3.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation3.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_error.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_error.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_error.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_error.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation4.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation4.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation4.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation4.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation5.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation5.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation5.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation5.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic2-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic1.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic1.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic1.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_basic2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_basic2.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_basic2.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_basic2.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation1-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation3-win32.phpt Sun Aug 12 06:55:52 2007 @@ -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 http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/file/fgetss_variation1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/file/fgetss_variation1.phpt diff -u /dev/null php-src/ext/standard/tests/file/fgetss_variation1.phpt:1.2 --- /dev/null Sun Aug 12 06:55:52 2007 +++ php-src/ext/standard/tests/file/fgetss_variation1.phpt Sun Aug 12 06:55:52 2007 @@ -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