mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
New testcases for vfprintf(), Committed for Felix De Vliegher, TestFest Task No: 124, Tested on RHEL5 -32bit, WinXP-32bit
Added *.txt to .cvsignore
This commit is contained in:
parent
2bb7df3504
commit
48b0cc4134
71
ext/standard/tests/strings/vfprintf_basic.phpt
Normal file
71
ext/standard/tests/strings/vfprintf_basic.phpt
Normal file
@ -0,0 +1,71 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+" );
|
||||
|
||||
// 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 ***
|
||||
string(17) "Foo is 30 and bar"
|
||||
int(17)
|
||||
string(11) "bar bar bar"
|
||||
int(11)
|
||||
string(8) "54 digit"
|
||||
int(8)
|
||||
string(3) "1 0"
|
||||
int(3)
|
||||
string(5) "A B C"
|
||||
int(5)
|
||||
string(35) "1.000000e+3 2.000000E+4 2.000000e+2"
|
||||
int(35)
|
||||
string(2) "50"
|
||||
int(2)
|
||||
string(35) "Testing 1001 6 2.550200 foobar f 41"
|
||||
int(35)
|
||||
===DONE===
|
46
ext/standard/tests/strings/vfprintf_error1.phpt
Normal file
46
ext/standard/tests/strings/vfprintf_error1.phpt
Normal file
@ -0,0 +1,46 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : error conditions (more than expected arguments)
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+" );
|
||||
|
||||
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===
|
48
ext/standard/tests/strings/vfprintf_error2.phpt
Normal file
48
ext/standard/tests/strings/vfprintf_error2.phpt
Normal file
@ -0,0 +1,48 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : error conditions (less than expected arguments)
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+" );
|
||||
|
||||
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===
|
54
ext/standard/tests/strings/vfprintf_error3.phpt
Normal file
54
ext/standard/tests/strings/vfprintf_error3.phpt
Normal file
@ -0,0 +1,54 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : error conditions (wrong argument types)
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+" );
|
||||
|
||||
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)
|
||||
string(5) "Array"
|
||||
int(9)
|
||||
string(9) "Foo fake"
|
||||
===DONE===
|
43
ext/standard/tests/strings/vfprintf_error4.phpt
Normal file
43
ext/standard/tests/strings/vfprintf_error4.phpt
Normal file
@ -0,0 +1,43 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : error conditions (various conditions)
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+" );
|
||||
|
||||
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(): Argument number must be greater than zero in %s on line %d
|
||||
bool(false)
|
||||
===DONE===
|
86
ext/standard/tests/strings/vfprintf_variation1.phpt
Normal file
86
ext/standard/tests/strings/vfprintf_variation1.phpt
Normal file
@ -0,0 +1,86 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : variation functionality
|
||||
--CREDITS--
|
||||
Felix De Vliegher <felix.devliegher@gmail.com>
|
||||
--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+' );
|
||||
|
||||
$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 ) );
|
||||
@writeAndDump( $funset, "Foo with %s", array( 'string' ) );
|
||||
@writeAndDump( 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 ***
|
||||
string(6) "format"
|
||||
int(6)
|
||||
string(17) "Foo is 30 and bar"
|
||||
int(17)
|
||||
string(14) "Foobar testing"
|
||||
int(14)
|
||||
string(11) "bar bar bar"
|
||||
int(11)
|
||||
string(2) "50"
|
||||
int(2)
|
||||
string(0) ""
|
||||
int(0)
|
||||
string(38) "Testing 1001 6 2.550200 30 foobar f 41"
|
||||
int(38)
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
bool(false)
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user