felixdv Sun Jun 22 13:31:10 2008 UTC Modified files: /php-src/ext/standard/tests/strings vfprintf_basic.phpt vfprintf_error1.phpt vfprintf_error2.phpt vfprintf_error3.phpt vfprintf_error4.phpt vfprintf_variation1.phpt Log: Testcases for vfprintf(), testfest task #133.
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_basic.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_basic.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_basic.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_basic.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,72 @@ +--TEST-- +Test vfprintf() function : basic functionality +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +function writeAndDump($fp, $format, $args) +{ + ftruncate( $fp, 0 ); + $length = vfprintf( $fp, $format, $args ); + rewind( $fp ); + $content = stream_get_contents( $fp ); + var_dump( $content ); + var_dump( $length ); +} + +echo "*** Testing vfprintf() : basic functionality ***\n"; + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, "a+" ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +// Test vfprintf() +writeAndDump( $fp, "Foo is %d and %s", array( 30, 'bar' ) ); +writeAndDump( $fp, "%s %s %s", array( 'bar', 'bar', 'bar' ) ); +writeAndDump( $fp, "%d digit", array( '54' ) ); +writeAndDump( $fp, "%b %b", array( true, false ) ); +writeAndDump( $fp, "%c %c %c", array( 65, 66, 67 ) ); +writeAndDump( $fp, "%e %E %e", array( 1000, 2e4, +2e2 ) ); +writeAndDump( $fp, "%02d", array( 50 ) ); +writeAndDump( $fp, "Testing %b %d %f %s %x %X", array( 9, 6, 2.5502, "foobar", 15, 65 ) ); + +// Close handle +fclose( $fp ); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_test.txt'; +unlink( $file ); + +?> +--EXPECTF-- +*** Testing vfprintf() : basic functionality *** +unicode(17) "Foo is 30 and bar" +int(17) +unicode(11) "bar bar bar" +int(11) +unicode(8) "54 digit" +int(8) +unicode(3) "1 0" +int(3) +unicode(5) "A B C" +int(5) +unicode(35) "1.000000e+3 2.000000E+4 2.000000e+2" +int(35) +unicode(2) "50" +int(2) +unicode(35) "Testing 1001 6 2.550200 foobar f 41" +int(35) +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_error1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_error1.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_error1.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_error1.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,47 @@ +--TEST-- +Test vfprintf() function : error conditions (more than expected arguments) +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, "a+" ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +echo "\n-- Testing vfprintf() function with more than expected no. of arguments --\n"; +$format = 'string_val'; +$args = array( 1, 2 ); +$extra_arg = 10; +var_dump( vfprintf( $fp, $format, $args, $extra_arg ) ); +var_dump( vfprintf( $fp, "Foo %d", array(6), "bar" ) ); + +// Close handle +fclose($fp); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_text.txt'; +unlink( $file ); + +?> +--EXPECTF-- +-- Testing vfprintf() function with more than expected no. of arguments -- + +Warning: Wrong parameter count for vfprintf() in %s on line %d +NULL + +Warning: Wrong parameter count for vfprintf() in %s on line %d +NULL +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_error2.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_error2.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_error2.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_error2.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,49 @@ +--TEST-- +Test vfprintf() function : error conditions (less than expected arguments) +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, "a+" ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +echo "\n-- Testing vfprintf() function with less than expected no. of arguments --\n"; +$format = 'string_val'; +var_dump( vfprintf($fp, $format) ); +var_dump( vfprintf( $fp ) ); +var_dump( vfprintf() ); + +// Close handle +fclose($fp); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_text.txt'; +unlink( $file ); + +?> +--EXPECTF-- +-- Testing vfprintf() function with less than expected no. of arguments -- + +Warning: Wrong parameter count for vfprintf() in %s on line %d +NULL + +Warning: Wrong parameter count for vfprintf() in %s on line %d +NULL + +Warning: Wrong parameter count for vfprintf() in %s on line %d +NULL +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_error3.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_error3.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_error3.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_error3.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,55 @@ +--TEST-- +Test vfprintf() function : error conditions (wrong argument types) +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, "a+" ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +echo "\n-- Testing vfprintf() function with wrong variable types as argument --\n"; +var_dump( vfprintf( $fp, array( 'foo %d', 'bar %s' ), 3.55552 ) ); + +rewind( $fp ); +var_dump( stream_get_contents( $fp ) ); +ftruncate( $fp, 0 ); +rewind( $fp ); + +var_dump( vfprintf( $fp, "Foo %y fake", "not available" ) ); + +rewind( $fp ); +var_dump( stream_get_contents( $fp ) ); +ftruncate( $fp, 0 ); +rewind( $fp ); + +// Close handle +fclose( $fp ); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_text.txt'; +unlink( $file ); + +?> +--EXPECTF-- +-- Testing vfprintf() function with wrong variable types as argument -- + +Notice: Array to string conversion in %s on line %d +int(5) +unicode(5) "Array" +int(9) +unicode(9) "Foo fake" +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_error4.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_error4.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_error4.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_error4.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,44 @@ +--TEST-- +Test vfprintf() function : error conditions (various conditions) +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, "a+" ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +echo "\n-- Testing vfprintf() function with other strangeties --\n"; +var_dump( vfprintf( 'foo', 'bar', array( 'baz' ) ) ); +var_dump( vfprintf( $fp, 'Foo %$c-0202Sd', array( 2 ) ) ); + +// Close handle +fclose( $fp ); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_text.txt'; +unlink( $file ); + +?> +--EXPECTF-- +-- Testing vfprintf() function with other strangeties -- + +Warning: vfprintf(): supplied argument is not a valid stream resource in %s on line %d +bool(false) + +Warning: vfprintf(): Zero is not a valid argument number in %s on line %d +bool(false) +===DONE=== http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/vfprintf_variation1.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/strings/vfprintf_variation1.phpt diff -u /dev/null php-src/ext/standard/tests/strings/vfprintf_variation1.phpt:1.2 --- /dev/null Sun Jun 22 13:31:10 2008 +++ php-src/ext/standard/tests/strings/vfprintf_variation1.phpt Sun Jun 22 13:31:10 2008 @@ -0,0 +1,87 @@ +--TEST-- +Test vfprintf() function : variation functionality +--INI-- +precision=14 +--FILE-- +<?php +/* Prototype : int vfprintf(resource stream, string format, array args) + * Description: Output a formatted string into a stream + * Source code: ext/standard/formatted_print.c + * Alias to functions: + */ + +echo "*** Testing vfprintf() : variation functionality ***\n"; + +// Open handle +$file = 'vfprintf_test.txt'; +$fp = fopen( $file, 'a+' ); + +// Set unicode encoding +stream_encoding( $fp, 'unicode' ); + +$funset = fopen( __FILE__, 'r' ); +unset( $funset ); + +class FooClass +{ + public function __toString() + { + return "Object"; + } +} + +// Output facilitating function +function writeAndDump($fp, $format, $args) +{ + ftruncate( $fp, 0 ); + $length = vfprintf( $fp, $format, $args ); + rewind( $fp ); + $content = stream_get_contents( $fp ); + var_dump( $content ); + var_dump( $length ); +} + +// Test vfprintf() +writeAndDump( $fp, "format", null ); +writeAndDump( $fp, "Foo is %d and %s", array( 30, 'bar' ) ); +writeAndDump( $fp, "Foobar testing", array() ); +writeAndDump( $fp, "%s %s %s", array( 'bar', 'bar', 'bar' ) ); +writeAndDump( $fp, "%02d", array( 50 ) ); +writeAndDump( $fp, "", array() ); +writeAndDump( $fp, "Testing %b %d %f %o %s %x %X", array( 9, 6, 2.5502, 24, "foobar", 15, 65 ) ); [EMAIL PROTECTED]( $funset, "Foo with %s", array( 'string' ) ); [EMAIL PROTECTED]( new FooClass(), "Foo with %s", array( 'string' ) ); + +// Close handle +fclose( $fp ); + +?> +===DONE=== +--CLEAN-- +<?php + +$file = 'vfprintf_test.txt'; +unlink( $file ); + +?> +--EXPECTF-- +*** Testing vfprintf() : variation functionality *** +unicode(6) "format" +int(6) +unicode(17) "Foo is 30 and bar" +int(17) +unicode(14) "Foobar testing" +int(14) +unicode(11) "bar bar bar" +int(11) +unicode(2) "50" +int(2) +unicode(0) "" +int(0) +unicode(38) "Testing 1001 6 2.550200 30 foobar f 41" +int(38) +bool(false) +bool(false) +bool(false) +bool(false) +===DONE===
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php