mirror of
https://github.com/php/php-src.git
synced 2026-04-23 16:08:35 +02:00
New vfprintf() tests. Tested on Window, Linux and Linux 64 bit
This commit is contained in:
@@ -39,42 +39,40 @@ foreach($resource_values as $resource_value) {
|
||||
|
||||
// closing the resources
|
||||
fclose($fp);
|
||||
fclose($dfp);
|
||||
closedir($dfp);
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing sprintf() : char formats with resource values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
string(1) ""
|
||||
string(1) "%a"
|
||||
string(1) "c"
|
||||
string(1) ""
|
||||
string(1) "%a"
|
||||
string(1) "c"
|
||||
string(2) " "
|
||||
string(2) " "
|
||||
string(2) " "
|
||||
string(2) " %a"
|
||||
string(2) "%a "
|
||||
string(2) " %a"
|
||||
string(2) "
|
||||
"
|
||||
string(1) ""
|
||||
string(1) ""
|
||||
%a"
|
||||
string(1) "%a"
|
||||
string(1) "%a"
|
||||
string(11) "a-bA-B@#$&]"
|
||||
string(1) "c"
|
||||
|
||||
-- Iteration 2 --
|
||||
string(1) ""
|
||||
string(1) "%a"
|
||||
string(1) "%a"
|
||||
string(1) "%a"
|
||||
string(1) "c"
|
||||
string(1) ""
|
||||
string(1) "c"
|
||||
string(2) " "
|
||||
string(2) " "
|
||||
string(2) " "
|
||||
string(2) " %a"
|
||||
string(2) "%a "
|
||||
string(2) " %a"
|
||||
string(2) "
|
||||
"
|
||||
string(1) ""
|
||||
string(1) ""
|
||||
%a"
|
||||
string(1) "%a"
|
||||
string(1) "%a"
|
||||
string(11) "a-bA-B@#$&]"
|
||||
string(1) "c"
|
||||
|
||||
Warning: fclose(): %d is not a valid stream resource in %s on line %d
|
||||
Done
|
||||
===DONE===
|
||||
|
||||
@@ -37,38 +37,42 @@ foreach($resource_values as $resource_value) {
|
||||
$count++;
|
||||
};
|
||||
|
||||
echo "Done";
|
||||
// closing the resources
|
||||
fclose($fp);
|
||||
closedir($dfp);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing sprintf() : hexa formats with resource values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
string(%d) "%d"
|
||||
string(%d) "%dx"
|
||||
string(%d) "%d"
|
||||
string(%d) "%a"
|
||||
string(%d) "%ax"
|
||||
string(%d) "%a"
|
||||
string(1) "x"
|
||||
string(%d) " %d"
|
||||
string(%d) "%d "
|
||||
string(%d) " %d"
|
||||
string(%d) " %a"
|
||||
string(%d) "%a "
|
||||
string(%d) " %a"
|
||||
string(%d) "
|
||||
%d"
|
||||
string(%d) " %d"
|
||||
string(%d) " %d"
|
||||
%a"
|
||||
string(4) "%a"
|
||||
string(30) "%a"
|
||||
string(10) "0-9A-Fa-f]"
|
||||
string(1) "x"
|
||||
|
||||
-- Iteration 2 --
|
||||
string(%d) "%d"
|
||||
string(%d) "%dx"
|
||||
string(%d) "%d"
|
||||
string(%d) "%a"
|
||||
string(%d) "%ax"
|
||||
string(%d) "%a"
|
||||
string(1) "x"
|
||||
string(%d) " %d"
|
||||
string(%d) "%d "
|
||||
string(%d) " %d"
|
||||
string(%d) " %a"
|
||||
string(%d) "%a "
|
||||
string(%d) " %a"
|
||||
string(%d) "
|
||||
%d"
|
||||
string(%d) " %d"
|
||||
string(%d) " %d"
|
||||
%a"
|
||||
string(4) "%a"
|
||||
string(30) "%a"
|
||||
string(10) "0-9A-Fa-f]"
|
||||
string(1) "x"
|
||||
Done
|
||||
===DONE===
|
||||
|
||||
@@ -41,9 +41,8 @@ foreach($resource_values as $resource_value) {
|
||||
fclose($fp);
|
||||
closedir($dfp);
|
||||
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing sprintf() : scientific formats with resource values ***
|
||||
|
||||
@@ -58,7 +57,7 @@ string(%d) " %f"
|
||||
string(%d) "
|
||||
%f"
|
||||
string(%d) "%f"
|
||||
string(%d) "%s%f"
|
||||
string(30) "%s%f"
|
||||
string(%d) "0-1]"
|
||||
string(1) "e"
|
||||
|
||||
@@ -73,7 +72,7 @@ string(%d) " %f"
|
||||
string(%d) "
|
||||
%f"
|
||||
string(%d) "%f"
|
||||
string(%d) "%s%f"
|
||||
string(30) "%s%f"
|
||||
string(%d) "0-1]"
|
||||
string(1) "e"
|
||||
Done
|
||||
===DONE===
|
||||
|
||||
@@ -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===
|
||||
@@ -0,0 +1,49 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - string format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using string format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%s\n";
|
||||
$format2 = "%s %s\n";
|
||||
$format3 = "%s %s %s\n";
|
||||
$arg1 = array("one");
|
||||
$arg2 = array("one","two");
|
||||
$arg3 = array("one","two","three");
|
||||
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
$result = vfprintf($fp, $format1, $arg1);
|
||||
var_dump($result);
|
||||
$result = vfprintf($fp, $format2, $arg2);
|
||||
var_dump($result);
|
||||
$result = vfprintf($fp, $format3, $arg3);
|
||||
var_dump($result);
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using string format ***
|
||||
int(4)
|
||||
int(8)
|
||||
int(14)
|
||||
one
|
||||
one two
|
||||
one two three
|
||||
===DONE===
|
||||
@@ -0,0 +1,51 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - integer format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Testing vfprintf() : basic functionality - using integer format
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using integer format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%d";
|
||||
$format2 = "%d %d";
|
||||
$format3 = "%d %d %d";
|
||||
$arg1 = array(111);
|
||||
$arg2 = array(111,222);
|
||||
$arg3 = array(111,222,333);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1, $arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2, $arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3, $arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using integer format ***
|
||||
111
|
||||
111 222
|
||||
111 222 333
|
||||
===DONE===
|
||||
@@ -0,0 +1,63 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - float format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using float format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
|
||||
$format = "format";
|
||||
$format1 = "%f";
|
||||
$format2 = "%f %f";
|
||||
$format3 = "%f %f %f";
|
||||
|
||||
$format11 = "%F";
|
||||
$format22 = "%F %F";
|
||||
$format33 = "%F %F %F";
|
||||
$arg1 = array(11.11);
|
||||
$arg2 = array(11.11,22.22);
|
||||
$arg3 = array(11.11,22.22,33.33);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp,$format11,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp,$format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp,$format22,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp,$format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format33,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using float format ***
|
||||
11.110000
|
||||
11.110000
|
||||
11.110000 22.220000
|
||||
11.110000 22.220000
|
||||
11.110000 22.220000 33.330000
|
||||
11.110000 22.220000 33.330000
|
||||
===DONE===
|
||||
@@ -0,0 +1,46 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - bool format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using bool format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%b";
|
||||
$format2 = "%b %b";
|
||||
$format3 = "%b %b %b";
|
||||
$arg1 = array(TRUE);
|
||||
$arg2 = array(TRUE,FALSE);
|
||||
$arg3 = array(TRUE,FALSE,TRUE);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using bool format ***
|
||||
1
|
||||
1 0
|
||||
1 0 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,48 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - char format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using char format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%c";
|
||||
$format2 = "%c %c";
|
||||
$format3 = "%c %c %c";
|
||||
$arg1 = array(65);
|
||||
$arg2 = array(65,66);
|
||||
$arg3 = array(65,66,67);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using char format ***
|
||||
A
|
||||
A B
|
||||
A B C
|
||||
===DONE===
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - exponential format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using exponential format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%e";
|
||||
$format2 = "%e %e";
|
||||
$format3 = "%e %e %e";
|
||||
$arg1 = array(1000);
|
||||
$arg2 = array(1000,2000);
|
||||
$arg3 = array(1000,2000,3000);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using exponential format ***
|
||||
1.000000e+3
|
||||
1.000000e+3 2.000000e+3
|
||||
1.000000e+3 2.000000e+3 3.000000e+3
|
||||
===DONE===
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - unsigned format
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using unsigned format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%u";
|
||||
$format2 = "%u %u";
|
||||
$format3 = "%u %u %u";
|
||||
$arg1 = array(-1111);
|
||||
$arg2 = array(-1111,-1234567);
|
||||
$arg3 = array(-1111,-1234567,-2345432);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using unsigned format ***
|
||||
4294966185
|
||||
4294966185 4293732729
|
||||
4294966185 4293732729 4292621864
|
||||
===DONE===
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - unsigned format
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using unsigned format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%u";
|
||||
$format2 = "%u %u";
|
||||
$format3 = "%u %u %u";
|
||||
$arg1 = array(-1111);
|
||||
$arg2 = array(-1111,-1234567);
|
||||
$arg3 = array(-1111,-1234567,-2345432);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using unsigned format ***
|
||||
18446744073709550505
|
||||
18446744073709550505 18446744073708317049
|
||||
18446744073709550505 18446744073708317049 18446744073707206184
|
||||
===DONE===
|
||||
@@ -0,0 +1,46 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : basic functionality - octal format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : basic functionality - using octal format ***\n";
|
||||
|
||||
// Initialise all required variables
|
||||
$format = "format";
|
||||
$format1 = "%o";
|
||||
$format2 = "%o %o";
|
||||
$format3 = "%o %o %o";
|
||||
$arg1 = array(021);
|
||||
$arg2 = array(021,0347);
|
||||
$arg3 = array(021,0347,05678);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1,$arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2,$arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3,$arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : basic functionality - using octal format ***
|
||||
21
|
||||
21 347
|
||||
21 347 567
|
||||
===DONE===
|
||||
@@ -0,0 +1,60 @@
|
||||
--TEST--
|
||||
Test vfprintf) function : basic functionality - hexadecimal format
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf) : basic functionality - using hexadecimal format ***\n";
|
||||
|
||||
// Initialising different format strings
|
||||
$format = "format";
|
||||
$format1 = "%x";
|
||||
$format2 = "%x %x";
|
||||
$format3 = "%x %x %x";
|
||||
|
||||
$format11 = "%X";
|
||||
$format22 = "%X %X";
|
||||
$format33 = "%X %X %X";
|
||||
|
||||
$arg1 = array(11);
|
||||
$arg2 = array(11,132);
|
||||
$arg3 = array(11,132,177);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
vfprintf($fp, $format1, $arg1);
|
||||
fprintf($fp, "\n");
|
||||
vfprintf($fp, $format11, $arg1);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format2, $arg2);
|
||||
fprintf($fp, "\n");
|
||||
vfprintf($fp, $format22, $arg2);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
vfprintf($fp, $format3, $arg3);
|
||||
fprintf($fp, "\n");
|
||||
vfprintf($fp, $format33, $arg3);
|
||||
fprintf($fp, "\n");
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf) : basic functionality - using hexadecimal format ***
|
||||
b
|
||||
B
|
||||
b 84
|
||||
B 84
|
||||
b 84 b1
|
||||
B 84 B1
|
||||
===DONE===
|
||||
@@ -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===
|
||||
@@ -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===
|
||||
@@ -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===
|
||||
@@ -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===
|
||||
@@ -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===
|
||||
Binary file not shown.
@@ -0,0 +1,88 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - octal formats with octal values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different octal formats and octal values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : octal formats with octal values ***\n";
|
||||
|
||||
// defining array of octal formats
|
||||
$formats = array(
|
||||
"%o",
|
||||
"%+o %-o %O",
|
||||
"%lo %Lo, %4o %-4o",
|
||||
"%10.4o %-10.4o %04o %04.4o",
|
||||
"%'#2o %'2o %'$2o %'_2o",
|
||||
"%o %o %o %o",
|
||||
"%% %%o %10 o%",
|
||||
'%3$o %4$o %1$o %2$o'
|
||||
);
|
||||
|
||||
// Arrays of octal values for the format defined in $format.
|
||||
// Each sub array contains octal values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(00),
|
||||
array(-01, 01, +022),
|
||||
array(-020000000000, 020000000000, 017777777777, -017777777777),
|
||||
array(0123456, 012345678, -01234567, 01234567),
|
||||
array(0111, 02222, -0333333, -044444444),
|
||||
array(0x123b, 0xfAb, 0123, 01293),
|
||||
array(01234, 05678, -01234, 02345),
|
||||
array(03, 04, 01, 02)
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different octal formats from the above $formats array
|
||||
// and with octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : octal formats with octal values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
37777777777 1
|
||||
-- Iteration 3 --
|
||||
20000000000 o, 17777777777 20000000001
|
||||
-- Iteration 4 --
|
||||
37776543211 0000
|
||||
-- Iteration 5 --
|
||||
111 2222 37777444445 37733333334
|
||||
-- Iteration 6 --
|
||||
11073 7653 123 12
|
||||
-- Iteration 7 --
|
||||
% %o o
|
||||
-- Iteration 8 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,88 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - octal formats with octal values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different octal formats and octal values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : octal formats with octal values ***\n";
|
||||
|
||||
// defining array of octal formats
|
||||
$formats = array(
|
||||
"%o",
|
||||
"%+o %-o %O",
|
||||
"%lo %Lo, %4o %-4o",
|
||||
"%10.4o %-10.4o %04o %04.4o",
|
||||
"%'#2o %'2o %'$2o %'_2o",
|
||||
"%o %o %o %o",
|
||||
"%% %%o %10 o%",
|
||||
'%3$o %4$o %1$o %2$o'
|
||||
);
|
||||
|
||||
// Arrays of octal values for the format defined in $format.
|
||||
// Each sub array contains octal values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(00),
|
||||
array(-01, 01, +022),
|
||||
array(-020000000000, 020000000000, 017777777777, -017777777777),
|
||||
array(0123456, 012345678, -01234567, 01234567),
|
||||
array(0111, 02222, -0333333, -044444444),
|
||||
array(0x123b, 0xfAb, 0123, 01293),
|
||||
array(01234, 05678, -01234, 02345),
|
||||
array(03, 04, 01, 02)
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different octal formats from the above $formats array
|
||||
// and with octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : octal formats with octal values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
1777777777777777777777 1
|
||||
-- Iteration 3 --
|
||||
1777777777760000000000 o, 17777777777 1777777777760000000001
|
||||
-- Iteration 4 --
|
||||
1777777777777776543211 0000
|
||||
-- Iteration 5 --
|
||||
111 2222 1777777777777777444445 1777777777777733333334
|
||||
-- Iteration 6 --
|
||||
11073 7653 123 12
|
||||
-- Iteration 7 --
|
||||
% %o o
|
||||
-- Iteration 8 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,125 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - octal formats with non-octal values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different octal formats and non-octal values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : octal formats and non-octal values ***\n";
|
||||
|
||||
// defining array of octal formats
|
||||
$formats =
|
||||
'%o %+o %-o
|
||||
%lo %Lo %4o %-4o
|
||||
%10.4o %-10.4o %.4o
|
||||
%\'#2o %\'2o %\'$2o %\'_2o
|
||||
%3$o %4$o %1$o %2$o';
|
||||
|
||||
// Arrays of non octal values for the format defined in $format.
|
||||
// Each sub array contains non octal values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e12, 22e+12,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different octal formats from the above $format array
|
||||
// and with non-octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : octal formats and non-octal values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 12
|
||||
361100 o 37777775456 2322
|
||||
|
||||
30071 14 37777777764 37777416700
|
||||
12 361100 2 0
|
||||
-- Iteration 2 --
|
||||
2 37777777776 2
|
||||
361100 o 37720715133 57062645
|
||||
|
||||
57060664 4475347 37721631371 37720717336
|
||||
2 361100 2 37777777776
|
||||
-- Iteration 3 --
|
||||
0 0 0
|
||||
173 o 37777777605 173
|
||||
|
||||
2322 0 $0 _0
|
||||
0 173 0 0
|
||||
-- Iteration 4 --
|
||||
1 1 1
|
||||
1 o 1 1
|
||||
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 5 --
|
||||
1 1 0
|
||||
1 o 0 1
|
||||
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,125 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - octal formats with non-octal values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different octal formats and non-octal values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : octal formats and non-octal values ***\n";
|
||||
|
||||
// defining array of octal formats
|
||||
$formats =
|
||||
'%o %+o %-o
|
||||
%lo %Lo %4o %-4o
|
||||
%10.4o %-10.4o %.4o
|
||||
%\'#2o %\'2o %\'$2o %\'_2o
|
||||
%3$o %4$o %1$o %2$o';
|
||||
|
||||
// Arrays of non octal values for the format defined in $format.
|
||||
// Each sub array contains non octal values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e12, 22e+12,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different octal formats from the above $format array
|
||||
// and with non-octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : octal formats and non-octal values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 12
|
||||
361100 o 1777777777777777775456 2322
|
||||
|
||||
30071 14 1777777777777777777764 1777777777777777416700
|
||||
12 361100 2 0
|
||||
-- Iteration 2 --
|
||||
2 1777777777777777777776 2
|
||||
361100 o 1777777777777720715133 57062645
|
||||
|
||||
57060664 4475347 1777777777777721631371 1777777777777720717336
|
||||
2 361100 2 1777777777777777777776
|
||||
-- Iteration 3 --
|
||||
0 0 0
|
||||
173 o 1777777777777777777605 173
|
||||
|
||||
2322 0 $0 _0
|
||||
0 173 0 0
|
||||
-- Iteration 4 --
|
||||
1 1 1
|
||||
1 o 1 1
|
||||
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 5 --
|
||||
1 1 0
|
||||
1 o 0 1
|
||||
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,88 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - hexa formats with hexa values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different hexa formats and hexa values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : hexa formats with hexa values ***\n";
|
||||
|
||||
// defining array of different hexa formats
|
||||
$formats = array(
|
||||
"%x",
|
||||
"%+x %-x %X",
|
||||
"%lx %Lx, %4x %-4x",
|
||||
"%10.4x %-10.4x %04x %04.4x",
|
||||
"%'#2x %'2x %'$2x %'_2x",
|
||||
"%x %x %x %x",
|
||||
"% %%x x%",
|
||||
'%3$x %4$x %1$x %2$x'
|
||||
);
|
||||
|
||||
// Arrays of hexa values for the format defined in $format.
|
||||
// Each sub array contains hexa values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(0x0),
|
||||
array(-0x1, 0x1, +0x22),
|
||||
array(0x7FFFFFFF, -0x7fffffff, +0x7000000, -0x80000000),
|
||||
array(123456, 12345678, -1234567, 1234567),
|
||||
array(1, 0x2222, 0333333, -0x44444444),
|
||||
array(0x123b, 0xfAb, "0xaxz", 01293),
|
||||
array(0x1234, 0x34, 0x2ff),
|
||||
array(0x3, 0x4, 0x1, 0x2)
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different char octal from the above $format array
|
||||
// and with octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : hexa formats with hexa values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
ffffffff 1 22
|
||||
-- Iteration 3 --
|
||||
7fffffff x, 7000000 80000000
|
||||
-- Iteration 4 --
|
||||
ffed2979 0000
|
||||
-- Iteration 5 --
|
||||
#1 2222 1b6db bbbbbbbc
|
||||
-- Iteration 6 --
|
||||
123b fab 0 a
|
||||
-- Iteration 7 --
|
||||
%34 x
|
||||
-- Iteration 8 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,88 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - hexa formats with hexa values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different hexa formats and hexa values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : hexa formats with hexa values ***\n";
|
||||
|
||||
// defining array of different hexa formats
|
||||
$formats = array(
|
||||
"%x",
|
||||
"%+x %-x %X",
|
||||
"%lx %Lx, %4x %-4x",
|
||||
"%10.4x %-10.4x %04x %04.4x",
|
||||
"%'#2x %'2x %'$2x %'_2x",
|
||||
"%x %x %x %x",
|
||||
"% %%x x%",
|
||||
'%3$x %4$x %1$x %2$x'
|
||||
);
|
||||
|
||||
// Arrays of hexa values for the format defined in $format.
|
||||
// Each sub array contains hexa values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(0x0),
|
||||
array(-0x1, 0x1, +0x22),
|
||||
array(0x7FFFFFFF, -0x7fffffff, +0x7000000, -0x80000000),
|
||||
array(123456, 12345678, -1234567, 1234567),
|
||||
array(1, 0x2222, 0333333, -0x44444444),
|
||||
array(0x123b, 0xfAb, "0xaxz", 01293),
|
||||
array(0x1234, 0x34, 0x2ff),
|
||||
array(0x3, 0x4, 0x1, 0x2)
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different char octal from the above $format array
|
||||
// and with octal values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : hexa formats with hexa values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
ffffffffffffffff 1 22
|
||||
-- Iteration 3 --
|
||||
7fffffff x, 7000000 ffffffff80000000
|
||||
-- Iteration 4 --
|
||||
ffffffffffed2979 0000
|
||||
-- Iteration 5 --
|
||||
#1 2222 1b6db ffffffffbbbbbbbc
|
||||
-- Iteration 6 --
|
||||
123b fab 0 a
|
||||
-- Iteration 7 --
|
||||
%34 x
|
||||
-- Iteration 8 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,125 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - hexa formats with non-hexa values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different hexa formats and non-hexa values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : hexa formats and non-hexa values ***\n";
|
||||
|
||||
// defining array of different hexa formats
|
||||
$formats =
|
||||
'%x %+x %-x
|
||||
%lx %Lx %4x %-4x
|
||||
%10.4x %-10.4x %.4x
|
||||
%\'#2x %\'2x %\'$2x %\'_2x
|
||||
%3$x %4$x %1$x %2$x';
|
||||
|
||||
// Arrays of non hexa values for the format defined in $format.
|
||||
// Each sub array contains non hexa values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e12, 22e+12,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different hexa formats from the above $format array
|
||||
// and with non-hexa values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : hexa formats and non-hexa values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 a
|
||||
1e240 x fffffb2e 4d2
|
||||
|
||||
3039 c fffffff4 fffe1dc0
|
||||
a 1e240 2 0
|
||||
-- Iteration 2 --
|
||||
2 fffffffe 2
|
||||
1e240 x ff439a5b bc65a5
|
||||
|
||||
bc61b4 127ae7 ff4732f9 ff439ede
|
||||
2 1e240 2 fffffffe
|
||||
-- Iteration 3 --
|
||||
0 0 0
|
||||
7b x ffffff85 7b
|
||||
|
||||
4d2 0 $0 _0
|
||||
0 7b 0 0
|
||||
-- Iteration 4 --
|
||||
1 1 1
|
||||
1 x 1 1
|
||||
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 5 --
|
||||
1 1 0
|
||||
1 x 0 1
|
||||
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,125 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - hexa formats with non-hexa values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different hexa formats and non-hexa values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : hexa formats and non-hexa values ***\n";
|
||||
|
||||
// defining array of different hexa formats
|
||||
$formats =
|
||||
'%x %+x %-x
|
||||
%lx %Lx %4x %-4x
|
||||
%10.4x %-10.4x %.4x
|
||||
%\'#2x %\'2x %\'$2x %\'_2x
|
||||
%3$x %4$x %1$x %2$x';
|
||||
|
||||
// Arrays of non hexa values for the format defined in $format.
|
||||
// Each sub array contains non hexa values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e12, 22e+12,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different hexa formats from the above $format array
|
||||
// and with non-hexa values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : hexa formats and non-hexa values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 a
|
||||
1e240 x fffffffffffffb2e 4d2
|
||||
|
||||
3039 c fffffffffffffff4 fffffffffffe1dc0
|
||||
a 1e240 2 0
|
||||
-- Iteration 2 --
|
||||
2 fffffffffffffffe 2
|
||||
1e240 x ffffffffff439a5b bc65a5
|
||||
|
||||
bc61b4 127ae7 ffffffffff4732f9 ffffffffff439ede
|
||||
2 1e240 2 fffffffffffffffe
|
||||
-- Iteration 3 --
|
||||
0 0 0
|
||||
7b x ffffffffffffff85 7b
|
||||
|
||||
4d2 0 $0 _0
|
||||
0 7b 0 0
|
||||
-- Iteration 4 --
|
||||
1 1 1
|
||||
1 x 1 1
|
||||
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 5 --
|
||||
1 1 0
|
||||
1 x 0 1
|
||||
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,75 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unsigned formats with unsigned values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unsigned formats and unsigned values
|
||||
* are passed to the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : unsigned formats and unsigned values ***\n";
|
||||
|
||||
// defining array of unsigned formats
|
||||
$formats = array(
|
||||
'%u %+u %-u',
|
||||
'%lu %Lu %4u %-4u',
|
||||
'%10.4u %-10.4u %.4u',
|
||||
'%\'#2u %\'2u %\'$2u %\'_2u',
|
||||
'%3$u %4$u %1$u %2$u'
|
||||
);
|
||||
|
||||
// Arrays of unsigned values for the format defined in $format.
|
||||
// Each sub array contains unsigned values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(1234567, 01234567, 0 ),
|
||||
array(12345678900, 12345678900, 1234, 12345),
|
||||
array("1234000", 10.1234567e10, 1.2e2),
|
||||
array(1, 0, 00, "10_"),
|
||||
array(3, 4, 1, 2)
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different unsigned formats from the above $format array
|
||||
// and with signed and other types of values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : unsigned formats and unsigned values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
1234567 342391 0
|
||||
-- Iteration 2 --
|
||||
3755744308 u 1234 12345
|
||||
-- Iteration 3 --
|
||||
1234000 2450319192 120
|
||||
-- Iteration 4 --
|
||||
#1 0 $0 10
|
||||
-- Iteration 5 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,75 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unsigned formats with unsigned values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unsigned formats and unsigned values
|
||||
* are passed to the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : unsigned formats and unsigned values ***\n";
|
||||
|
||||
// defining array of unsigned formats
|
||||
$formats = array(
|
||||
'%u %+u %-u',
|
||||
'%lu %Lu %4u %-4u',
|
||||
'%10.4u %-10.4u %.4u',
|
||||
'%\'#2u %\'2u %\'$2u %\'_2u',
|
||||
'%3$u %4$u %1$u %2$u'
|
||||
);
|
||||
|
||||
// Arrays of unsigned values for the format defined in $format.
|
||||
// Each sub array contains unsigned values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(1234567, 01234567, 0 ),
|
||||
array(12345678900, 12345678900, 1234, 12345),
|
||||
array("1234000", 10.1234567e10, 1.2e2),
|
||||
array(1, 0, 00, "10_"),
|
||||
array(3, 4, 1, 2)
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different unsigned formats from the above $format array
|
||||
// and with signed and other types of values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : unsigned formats and unsigned values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
1234567 342391 0
|
||||
-- Iteration 2 --
|
||||
12345678900 u 1234 12345
|
||||
-- Iteration 3 --
|
||||
1234000 101234567000 120
|
||||
-- Iteration 4 --
|
||||
#1 0 $0 10
|
||||
-- Iteration 5 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
@@ -0,0 +1,112 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unsigned formats with signed and other types of values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unsigned formats and signed values and other types of values
|
||||
* are passed to the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : unsigned formats and signed & other types of values ***\n";
|
||||
|
||||
// defining array of unsigned formats
|
||||
$formats =
|
||||
'%u %+u %-u
|
||||
%lu %Lu %4u %-4u
|
||||
%10.4u %-10.4u %.4u
|
||||
%\'#2u %\'2u %\'$2u %\'_2u
|
||||
%3$u %4$u %1$u %2$u';
|
||||
|
||||
// Arrays of signed and other type of values for the format defined in $format.
|
||||
// Each sub array contains signed values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(+2.2, +.2, +10.2,
|
||||
+123456.234, +123456.234, +1234.6789,
|
||||
+2e10, +2e12, +22e+12,
|
||||
+12345.780, +12.000000011111, -12.00000111111, -123456.234,
|
||||
+3.33, +4.44, +1.11,-2.22 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different unsigned formats from the above $format array
|
||||
// and with signed and other types of values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : unsigned formats and signed & other types of values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 10
|
||||
123456 u 1234 2820130816
|
||||
2840207360 1177509888 12345
|
||||
12 4294967284 4294843840 _3
|
||||
10 123456 2 0
|
||||
-- Iteration 2 --
|
||||
0 0 0
|
||||
123 u 4294967173 123
|
||||
0 0 0
|
||||
1234 0 $0 _0
|
||||
0 123 0 0
|
||||
-- Iteration 3 --
|
||||
1 1 1
|
||||
1 u 1 1
|
||||
1 1 1
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 4 --
|
||||
1 1 0
|
||||
1 u 0 1
|
||||
1 1 0
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,112 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unsigned formats with signed and other types of values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unsigned formats and signed values and other types of values
|
||||
* are passed to the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : unsigned formats and signed & other types of values ***\n";
|
||||
|
||||
// defining array of unsigned formats
|
||||
$formats =
|
||||
'%u %+u %-u
|
||||
%lu %Lu %4u %-4u
|
||||
%10.4u %-10.4u %.4u
|
||||
%\'#2u %\'2u %\'$2u %\'_2u
|
||||
%3$u %4$u %1$u %2$u';
|
||||
|
||||
// Arrays of signed and other type of values for the format defined in $format.
|
||||
// Each sub array contains signed values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(+2.2, +.2, +10.2,
|
||||
+123456.234, +123456.234, +1234.6789,
|
||||
+2e10, +2e12, +22e+12,
|
||||
+12345.780, +12.000000011111, -12.00000111111, -123456.234,
|
||||
+3.33, +4.44, +1.11,-2.22 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different unsigned formats from the above $format array
|
||||
// and with signed and other types of values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : unsigned formats and signed & other types of values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 0 10
|
||||
123456 u 1234 20000000000
|
||||
2000000000000 22000000000000 12345
|
||||
12 18446744073709551604 18446744073709428160 _3
|
||||
10 123456 2 0
|
||||
-- Iteration 2 --
|
||||
0 0 0
|
||||
123 u 18446744073709551493 123
|
||||
0 0 0
|
||||
1234 0 $0 _0
|
||||
0 123 0 0
|
||||
-- Iteration 3 --
|
||||
1 1 1
|
||||
1 u 1 1
|
||||
1 1 1
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 4 --
|
||||
1 1 0
|
||||
1 u 0 1
|
||||
1 1 0
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,70 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - scientific formats with scientific values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different scientific formats and scientific values
|
||||
* are passed to the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : scientific formats and scientific values ***\n";
|
||||
|
||||
// defining array of scientific formats
|
||||
$formats = array(
|
||||
'%e %+e %-e',
|
||||
'%le %Le %4e %-4e',
|
||||
'%10.4e %-10.4e %.4e',
|
||||
'%\'#20e %\'20e %\'$20e %\'_20e',
|
||||
'%3$e %4$e %1$e %2$e'
|
||||
);
|
||||
|
||||
// Arrays of scientific values for the format defined in $format.
|
||||
// Each sub array contains scientific values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(0, 1e0, "10e2" ),
|
||||
array(2.2e2, 10e10, 1000e-2, 1000e7),
|
||||
array(-22e12, 10e20, 1.2e2),
|
||||
array(1e1, +1e2, -1e3, "1e2_"),
|
||||
array(3e3, 4e3, 1e3, 2e3)
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different scientific formats from the above $format array
|
||||
// and with signed and other types of values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : scientific formats and scientific values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0.000000e+0 +1.000000e+0 1.000000e+3
|
||||
-- Iteration 2 --
|
||||
2.200000e+2 e 1.000000e+1 1.000000e+10
|
||||
-- Iteration 3 --
|
||||
-2.2000e+13 1.0000e+21 1.2000e+2
|
||||
-- Iteration 4 --
|
||||
#########1.000000e+1 1.000000e+2 $$$$$$$$-1.000000e+3 _________1.000000e+2
|
||||
-- Iteration 5 --
|
||||
1.000000e+3 2.000000e+3 3.000000e+3 4.000000e+3
|
||||
===DONE===
|
||||
@@ -0,0 +1,107 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - scientific formats with non-scientific values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different scientific formats and non-scientific values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : scientific formats and non-scientific values ***\n";
|
||||
|
||||
// defining array of non-scientific formats
|
||||
$formats =
|
||||
'%e %+e %-e
|
||||
%le %Le %4e %-4e
|
||||
%10.4e %-10.4e %04e %04.4e
|
||||
%\'#2e %\'2e %\'$2e %\'_2e
|
||||
%3$e %4$e %1$e %2$e';
|
||||
|
||||
// Arrays of non scientific values for the format defined in $format.
|
||||
// Each sub array contains non scientific values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
20.00, +212.2, -411000000000, 2212.000000000001,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", '0123456hello', 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different scientific formats from the above $format array
|
||||
// and with non-scientific values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : scientific formats and non-scientific values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2.200000e+0 +2.000000e-1 1.020000e+1
|
||||
1.234562e+5 e -1.234679e+3 1.234679e+3
|
||||
2.0000e+1 2.1220e+2 -4.110000e+11 2.2120e+3
|
||||
1.234578e+4 1.200000e+1 -1.200000e+1 -1.234562e+5
|
||||
1.020000e+1 1.234562e+5 2.200000e+0 2.000000e-1
|
||||
-- Iteration 2 --
|
||||
0.000000e+0 +0.000000e+0 0.000000e+0
|
||||
1.230000e+2 e -1.230000e+2 1.230000e+2
|
||||
0.0000e+0 0.0000e+0 1.234560e+5 0.0000e+0
|
||||
1.234000e+3 0.000000e+0 0.000000e+0 0.000000e+0
|
||||
0.000000e+0 1.230000e+2 0.000000e+0 0.000000e+0
|
||||
-- Iteration 3 --
|
||||
1.000000e+0 +1.000000e+0 1.000000e+0
|
||||
1.000000e+0 e 1.000000e+0 1.000000e+0
|
||||
1.0000e+0 1.0000e+0 1.000000e+0 1.0000e+0
|
||||
1.000000e+0 1.000000e+0 1.000000e+0 1.000000e+0
|
||||
1.000000e+0 1.000000e+0 1.000000e+0 1.000000e+0
|
||||
-- Iteration 4 --
|
||||
1.000000e+0 +1.000000e+0 0.000000e+0
|
||||
1.000000e+0 e 0.000000e+0 1.000000e+0
|
||||
1.0000e+0 0.0000e+0 1.000000e+0 0.0000e+0
|
||||
0.000000e+0 1.000000e+0 1.000000e+0 0.000000e+0
|
||||
0.000000e+0 1.000000e+0 1.000000e+0 1.000000e+0
|
||||
===DONE===
|
||||
@@ -0,0 +1,94 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - with whitespaces in format strings
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : with white spaces in format strings ***\n";
|
||||
|
||||
// initializing the format array
|
||||
$formats = array(
|
||||
"% d % d % d",
|
||||
"% f % f % f",
|
||||
"% F % F % F",
|
||||
"% b % b % b",
|
||||
"% c % c % c",
|
||||
"% e % e % e",
|
||||
"% u % u % u",
|
||||
"% o % o % o",
|
||||
"% x % x % x",
|
||||
"% X % X % X",
|
||||
"% E % E % E"
|
||||
);
|
||||
|
||||
// initializing the args array
|
||||
|
||||
$args_array = array(
|
||||
array(111, 222, 333),
|
||||
array(1.1, .2, -0.6),
|
||||
array(1.12, -1.13, +0.23),
|
||||
array(1, 2, 3),
|
||||
array(65, 66, 67),
|
||||
array(2e1, 2e-1, -2e1),
|
||||
array(-11, +22, 33),
|
||||
array(012, -02394, +02389),
|
||||
array(0x11, -0x22, +0x33),
|
||||
array(0x11, -0x22, +0x33),
|
||||
array(2e1, 2e-1, -2e1)
|
||||
);
|
||||
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different scientific formats from the above $format array
|
||||
// and with non-scientific values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp,$format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : with white spaces in format strings ***
|
||||
|
||||
-- Iteration 1 --
|
||||
111 222 333
|
||||
-- Iteration 2 --
|
||||
1.100000 0.200000 -0.600000
|
||||
-- Iteration 3 --
|
||||
1.120000 -1.130000 0.230000
|
||||
-- Iteration 4 --
|
||||
1 10 11
|
||||
-- Iteration 5 --
|
||||
A B C
|
||||
-- Iteration 6 --
|
||||
2.000000e+1 2.000000e-1 -2.000000e+1
|
||||
-- Iteration 7 --
|
||||
4294967285 22 33
|
||||
-- Iteration 8 --
|
||||
12 37777777755 23
|
||||
-- Iteration 9 --
|
||||
11 ffffffde 33
|
||||
-- Iteration 10 --
|
||||
11 FFFFFFDE 33
|
||||
-- Iteration 11 --
|
||||
2.000000E+1 2.000000E-1 -2.000000E+1
|
||||
===DONE===
|
||||
@@ -0,0 +1,94 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - with whitespaces in format strings
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : with white spaces in format strings ***\n";
|
||||
|
||||
// initializing the format array
|
||||
$formats = array(
|
||||
"% d % d % d",
|
||||
"% f % f % f",
|
||||
"% F % F % F",
|
||||
"% b % b % b",
|
||||
"% c % c % c",
|
||||
"% e % e % e",
|
||||
"% u % u % u",
|
||||
"% o % o % o",
|
||||
"% x % x % x",
|
||||
"% X % X % X",
|
||||
"% E % E % E"
|
||||
);
|
||||
|
||||
// initializing the args array
|
||||
|
||||
$args_array = array(
|
||||
array(111, 222, 333),
|
||||
array(1.1, .2, -0.6),
|
||||
array(1.12, -1.13, +0.23),
|
||||
array(1, 2, 3),
|
||||
array(65, 66, 67),
|
||||
array(2e1, 2e-1, -2e1),
|
||||
array(-11, +22, 33),
|
||||
array(012, -02394, +02389),
|
||||
array(0x11, -0x22, +0x33),
|
||||
array(0x11, -0x22, +0x33),
|
||||
array(2e1, 2e-1, -2e1)
|
||||
);
|
||||
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different scientific formats from the above $format array
|
||||
// and with non-scientific values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp,$format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : with white spaces in format strings ***
|
||||
|
||||
-- Iteration 1 --
|
||||
111 222 333
|
||||
-- Iteration 2 --
|
||||
1.100000 0.200000 -0.600000
|
||||
-- Iteration 3 --
|
||||
1.120000 -1.130000 0.230000
|
||||
-- Iteration 4 --
|
||||
1 10 11
|
||||
-- Iteration 5 --
|
||||
A B C
|
||||
-- Iteration 6 --
|
||||
2.000000e+1 2.000000e-1 -2.000000e+1
|
||||
-- Iteration 7 --
|
||||
18446744073709551605 22 33
|
||||
-- Iteration 8 --
|
||||
12 1777777777777777777755 23
|
||||
-- Iteration 9 --
|
||||
11 ffffffffffffffde 33
|
||||
-- Iteration 10 --
|
||||
11 FFFFFFFFFFFFFFDE 33
|
||||
-- Iteration 11 --
|
||||
2.000000E+1 2.000000E-1 -2.000000E+1
|
||||
===DONE===
|
||||
@@ -0,0 +1,175 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unexpected values for the format argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unexpected format strings are passed to
|
||||
* the '$format' argument of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : with unexpected values for format argument ***\n";
|
||||
|
||||
// initialising the required variables
|
||||
$args = array(1, 2);
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
// declaring a class
|
||||
class sample
|
||||
{
|
||||
public function __toString() {
|
||||
return "object";
|
||||
}
|
||||
}
|
||||
|
||||
// Defining resource
|
||||
$file_handle = fopen(__FILE__, 'r');
|
||||
|
||||
|
||||
//array of values to iterate over
|
||||
$values = array(
|
||||
|
||||
// int data
|
||||
/*1*/ 0,
|
||||
1,
|
||||
12345,
|
||||
-2345,
|
||||
|
||||
// float data
|
||||
/*5*/ 10.5,
|
||||
-10.5,
|
||||
10.1234567e10,
|
||||
10.7654321E-10,
|
||||
.5,
|
||||
|
||||
// array data
|
||||
/*10*/ array(),
|
||||
array(0),
|
||||
array(1),
|
||||
array(1,2),
|
||||
array('color' => 'red', 'item' => 'pen'),
|
||||
|
||||
// null data
|
||||
/*15*/ NULL,
|
||||
null,
|
||||
|
||||
// boolean data
|
||||
/*17*/ true,
|
||||
false,
|
||||
TRUE,
|
||||
FALSE,
|
||||
|
||||
// empty data
|
||||
/*21*/ "",
|
||||
'',
|
||||
|
||||
// object data
|
||||
/*23*/ new sample(),
|
||||
|
||||
// undefined data
|
||||
/*24*/ @$undefined_var,
|
||||
|
||||
// unset data
|
||||
/*25*/ @$unset_var,
|
||||
|
||||
// resource data
|
||||
/*26*/ $file_handle
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
fprintf($fp, "\n*** Testing vprintf() with with unexpected values for format argument ***\n");
|
||||
|
||||
$counter = 1;
|
||||
foreach( $values as $value ) {
|
||||
fprintf( $fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $value, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing vfprintf() : with unexpected values for format argument ***
|
||||
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
|
||||
Notice: Array to string conversion in %s on line %d
|
||||
|
||||
*** Testing vprintf() with with unexpected values for format argument ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
1
|
||||
-- Iteration 3 --
|
||||
12345
|
||||
-- Iteration 4 --
|
||||
-2345
|
||||
-- Iteration 5 --
|
||||
10.5
|
||||
-- Iteration 6 --
|
||||
-10.5
|
||||
-- Iteration 7 --
|
||||
101234567000
|
||||
-- Iteration 8 --
|
||||
1.07654321E-9
|
||||
-- Iteration 9 --
|
||||
0.5
|
||||
-- Iteration 10 --
|
||||
Array
|
||||
-- Iteration 11 --
|
||||
Array
|
||||
-- Iteration 12 --
|
||||
Array
|
||||
-- Iteration 13 --
|
||||
Array
|
||||
-- Iteration 14 --
|
||||
Array
|
||||
-- Iteration 15 --
|
||||
|
||||
-- Iteration 16 --
|
||||
|
||||
-- Iteration 17 --
|
||||
1
|
||||
-- Iteration 18 --
|
||||
|
||||
-- Iteration 19 --
|
||||
1
|
||||
-- Iteration 20 --
|
||||
|
||||
-- Iteration 21 --
|
||||
|
||||
-- Iteration 22 --
|
||||
|
||||
-- Iteration 23 --
|
||||
object
|
||||
-- Iteration 24 --
|
||||
|
||||
-- Iteration 25 --
|
||||
|
||||
-- Iteration 26 --
|
||||
Resource id #%d
|
||||
===DONE===
|
||||
@@ -0,0 +1,167 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - unexpected values for args argument
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different unexpected values are passed to
|
||||
* the '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : with unexpected values for args argument ***\n";
|
||||
|
||||
// initialising the required variables
|
||||
$format = '%s';
|
||||
|
||||
//get an unset variable
|
||||
$unset_var = 10;
|
||||
unset ($unset_var);
|
||||
|
||||
// declaring a class
|
||||
class sample
|
||||
{
|
||||
public function __toString() {
|
||||
return "object";
|
||||
}
|
||||
}
|
||||
|
||||
// Defining resource
|
||||
$file_handle = fopen(__FILE__, 'r');
|
||||
|
||||
|
||||
//array of values to iterate over
|
||||
$values = array(
|
||||
|
||||
// int data
|
||||
/*1*/ 0,
|
||||
1,
|
||||
12345,
|
||||
-2345,
|
||||
|
||||
// float data
|
||||
/*5*/ 10.5,
|
||||
-10.5,
|
||||
10.1234567e10,
|
||||
10.7654321E-10,
|
||||
.5,
|
||||
|
||||
// null data
|
||||
/*10*/ NULL,
|
||||
null,
|
||||
|
||||
// boolean data
|
||||
/*12*/ true,
|
||||
false,
|
||||
TRUE,
|
||||
FALSE,
|
||||
|
||||
// empty data
|
||||
/*16*/ "",
|
||||
'',
|
||||
|
||||
// string data
|
||||
/*18*/ "string",
|
||||
'string',
|
||||
|
||||
// object data
|
||||
/*20*/ new sample(),
|
||||
|
||||
// undefined data
|
||||
/*21*/ @$undefined_var,
|
||||
|
||||
// unset data
|
||||
/*22*/ @$unset_var,
|
||||
|
||||
// resource data
|
||||
/*23*/ $file_handle
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
fprintf($fp, "\n*** Testing vprintf() with unexpected values for args argument ***\n");
|
||||
|
||||
$counter = 1;
|
||||
foreach( $values as $value ) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $value);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECTF--
|
||||
*** Testing vfprintf() : with unexpected values for args argument ***
|
||||
|
||||
Warning: vfprintf(): Too few arguments in %s on line %d
|
||||
|
||||
Warning: vfprintf(): Too few arguments in %s on line %d
|
||||
|
||||
Warning: vfprintf(): Too few arguments in %s on line %d
|
||||
|
||||
Warning: vfprintf(): Too few arguments in %s on line %d
|
||||
|
||||
Warning: vfprintf(): Too few arguments in %s on line %d
|
||||
|
||||
*** Testing vprintf() with unexpected values for args argument ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
1
|
||||
-- Iteration 3 --
|
||||
12345
|
||||
-- Iteration 4 --
|
||||
-2345
|
||||
-- Iteration 5 --
|
||||
10.5
|
||||
-- Iteration 6 --
|
||||
-10.5
|
||||
-- Iteration 7 --
|
||||
101234567000
|
||||
-- Iteration 8 --
|
||||
1.07654321E-9
|
||||
-- Iteration 9 --
|
||||
0.5
|
||||
-- Iteration 10 --
|
||||
|
||||
-- Iteration 11 --
|
||||
|
||||
-- Iteration 12 --
|
||||
1
|
||||
-- Iteration 13 --
|
||||
|
||||
-- Iteration 14 --
|
||||
1
|
||||
-- Iteration 15 --
|
||||
|
||||
-- Iteration 16 --
|
||||
|
||||
-- Iteration 17 --
|
||||
|
||||
-- Iteration 18 --
|
||||
string
|
||||
-- Iteration 19 --
|
||||
string
|
||||
-- Iteration 20 --
|
||||
|
||||
-- Iteration 21 --
|
||||
|
||||
-- Iteration 22 --
|
||||
|
||||
-- Iteration 23 --
|
||||
Resource id #%d
|
||||
===DONE===
|
||||
@@ -0,0 +1,87 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - int formats with int values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different int formats and int values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : int formats with int values ***\n";
|
||||
|
||||
|
||||
// defining array of int formats
|
||||
$formats = array(
|
||||
"%d",
|
||||
"%+d %-d %D",
|
||||
"%ld %Ld, %4d %-4d",
|
||||
"%10.4d %-10.4d %04d %04.4d",
|
||||
"%'#2d %'2d %'$2d %'_2d",
|
||||
"%d %d %d %d",
|
||||
"% %%d d%",
|
||||
'%3$d %4$d %1$d %2$d'
|
||||
);
|
||||
|
||||
// Arrays of int values for the format defined in $format.
|
||||
// Each sub array contains int values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(0),
|
||||
array(-1, 1, +22),
|
||||
array(2147483647, -2147483648, +2147483640, -2147483640),
|
||||
array(123456, 12345678, -1234567, 1234567),
|
||||
array(111, 2222, 333333, 44444444),
|
||||
array(0x123b, 0xfAb, 0123, 01293),
|
||||
array(1234, -5678, 2345),
|
||||
array(3, 4, 1, 2)
|
||||
|
||||
);
|
||||
|
||||
// looping to test vfprintf() with different int formats from the above $format array
|
||||
// and with int values from the above $args_array array
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : int formats with int values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0
|
||||
-- Iteration 2 --
|
||||
-1 1
|
||||
-- Iteration 3 --
|
||||
2147483647 d, 2147483640 -2147483640
|
||||
-- Iteration 4 --
|
||||
123456 12345678 -1234567 1234567
|
||||
-- Iteration 5 --
|
||||
111 2222 333333 44444444
|
||||
-- Iteration 6 --
|
||||
4667 4011 83 10
|
||||
-- Iteration 7 --
|
||||
%-5678 d
|
||||
-- Iteration 8 --
|
||||
1 2 3 4
|
||||
===DONE===
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - int formats with non-integer values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different int formats and non-int values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : int formats and non-integer values ***\n";
|
||||
|
||||
// defining array of int formats
|
||||
$formats =
|
||||
'%d %+d %-d
|
||||
%ld %Ld %4d %-4d
|
||||
%10.4d %-10.4d %.4d %04.4d
|
||||
%\'#2d %\'2d %\'$2d %\'_2d
|
||||
%3$d %4$d %1$d %2$d';
|
||||
|
||||
// Arrays of non int values for the format defined in $format.
|
||||
// Each sub array contains non int values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e5, 4e3, 22e+6,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", '0123456hello', 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different int formats from the above $format array
|
||||
// and with non-int values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : int formats and non-integer values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 +0 10
|
||||
123456 d -1234 1234
|
||||
-1474836480 200000 4000 22000000
|
||||
12345 12 -12 -123456
|
||||
10 123456 2 0
|
||||
-- Iteration 2 --
|
||||
0 +0 0
|
||||
123 d -123 123
|
||||
0 0 123456 0000
|
||||
1234 0 $0 _0
|
||||
0 123 0 0
|
||||
-- Iteration 3 --
|
||||
1 +1 1
|
||||
1 d 1 1
|
||||
1 1 1 0001
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 4 --
|
||||
1 +1 0
|
||||
1 d 0 1
|
||||
1 0 1 0000
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,113 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - int formats with non-integer values
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different int formats and non-int values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : int formats and non-integer values ***\n";
|
||||
|
||||
// defining array of int formats
|
||||
$formats =
|
||||
'%d %+d %-d
|
||||
%ld %Ld %4d %-4d
|
||||
%10.4d %-10.4d %.4d %04.4d
|
||||
%\'#2d %\'2d %\'$2d %\'_2d
|
||||
%3$d %4$d %1$d %2$d';
|
||||
|
||||
// Arrays of non int values for the format defined in $format.
|
||||
// Each sub array contains non int values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e5, 4e3, 22e+6,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", '0123456hello', 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different int formats from the above $format array
|
||||
// and with non-int values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : int formats and non-integer values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2 +0 10
|
||||
123456 d -1234 1234
|
||||
20000000000 200000 4000 22000000
|
||||
12345 12 -12 -123456
|
||||
10 123456 2 0
|
||||
-- Iteration 2 --
|
||||
0 +0 0
|
||||
123 d -123 123
|
||||
0 0 123456 0000
|
||||
1234 0 $0 _0
|
||||
0 123 0 0
|
||||
-- Iteration 3 --
|
||||
1 +1 1
|
||||
1 d 1 1
|
||||
1 1 1 0001
|
||||
#1 1 $1 _1
|
||||
1 1 1 1
|
||||
-- Iteration 4 --
|
||||
1 +1 0
|
||||
1 d 0 1
|
||||
1 0 1 0000
|
||||
#0 1 $1 _0
|
||||
0 1 1 1
|
||||
===DONE===
|
||||
@@ -0,0 +1,85 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - float formats with float values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different float formats and float values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : int formats with float values ***\n";
|
||||
|
||||
|
||||
// defining array of float formats
|
||||
$formats = array(
|
||||
"%f",
|
||||
"%+f %-f %F",
|
||||
"%lf %Lf, %4f %-4f",
|
||||
"%10.4f %-10.4F %04f %04.4f",
|
||||
"%'#2f %'2f %'$2f %'_2f",
|
||||
"%f %f %f %f",
|
||||
"% %%f f%",
|
||||
'%3$f %4$f %1$f %2$f'
|
||||
);
|
||||
|
||||
// Arrays of float values for the format defined in $format.
|
||||
// Each sub array contains float values which correspond to each format string in $format
|
||||
$args_array = array(
|
||||
array(0.0),
|
||||
array(-0.1, +0.1, +10.0000006),
|
||||
array(2147483649, -2147483647, +2147483640, -2147483640),
|
||||
array(2e5, 2e-5, -2e5, -2e-5),
|
||||
array(0.2E5, -0.2e40, 0.2E-20, 0.2E+20),
|
||||
array(0x123b, 0xfAb, 0123, 01293),
|
||||
array(1234.1234, -5678.5678, 2345.2345),
|
||||
array(3.33, 4.44, 1.11, 2.22)
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vprintf() with different float formats from the above $format array
|
||||
// and with float values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($formats as $format) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $format, $args_array[$counter-1]);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : int formats with float values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
0.000000
|
||||
-- Iteration 2 --
|
||||
-0.100000 0.100000 10.000001
|
||||
-- Iteration 3 --
|
||||
2147483649.000000 f, 2147483640.000000 -2147483640.000000
|
||||
-- Iteration 4 --
|
||||
200000.0000 0.0000 -200000.000000 -0.0000
|
||||
-- Iteration 5 --
|
||||
20000.000000 -1999999999999999879418332743206357172224.000000 0.000000 20000000000000000000.000000
|
||||
-- Iteration 6 --
|
||||
4667.000000 4011.000000 83.000000 10.000000
|
||||
-- Iteration 7 --
|
||||
%-5678.567800 f
|
||||
-- Iteration 8 --
|
||||
1.110000 2.220000 3.330000 4.440000
|
||||
===DONE===
|
||||
@@ -0,0 +1,108 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - float formats with non-float values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different float formats and non-float values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
echo "*** Testing vfprintf() : float formats and non-float values ***\n";
|
||||
|
||||
// defining array of float formats
|
||||
$formats =
|
||||
'%f %+f %-f
|
||||
%lf %Lf %4f %-4f
|
||||
%10.4f %-10.4f %04f %04.4f
|
||||
%\'#2f %\'2f %\'$2f %\'_2f
|
||||
%3$f %4$f %1$f %2$f';
|
||||
|
||||
// Arrays of non float values for the format defined in $format.
|
||||
// Each sub array contains non float values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, -40000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
// array of strings
|
||||
array(" ", ' ', 'hello',
|
||||
'123hello', "123hello", '-123hello', '+123hello',
|
||||
"\12345678hello", "-\12345678hello", '0123456hello', 'h123456ello',
|
||||
"1234hello", "hello\0world", "NULL", "true",
|
||||
"3", "4", '1', '2'),
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different float formats from the above $format array
|
||||
// and with non-float values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : float formats and non-float values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2.000000 -2.000000 2.000000
|
||||
123456.000000 f -12346789.000000 12346789.000000
|
||||
123200.0000 20000.0000 -40000.000000 22212.0000
|
||||
12345780.000000 1211111.000000 -12111111.000000 -12345634.000000
|
||||
2.000000 123456.000000 2.000000 -2.000000
|
||||
-- Iteration 2 --
|
||||
0.000000 +0.000000 0.000000
|
||||
123.000000 f -123.000000 123.000000
|
||||
0.0000 0.0000 123456.000000 0.0000
|
||||
1234.000000 0.000000 0.000000 0.000000
|
||||
0.000000 123.000000 0.000000 0.000000
|
||||
-- Iteration 3 --
|
||||
1.000000 +1.000000 1.000000
|
||||
1.000000 f 1.000000 1.000000
|
||||
1.0000 1.0000 1.000000 1.0000
|
||||
1.000000 1.000000 1.000000 1.000000
|
||||
1.000000 1.000000 1.000000 1.000000
|
||||
-- Iteration 4 --
|
||||
1.000000 +1.000000 0.000000
|
||||
1.000000 f 0.000000 1.000000
|
||||
1.0000 0.0000 1.000000 0.0000
|
||||
0.000000 1.000000 1.000000 0.000000
|
||||
0.000000 1.000000 1.000000 1.000000
|
||||
===DONE===
|
||||
Binary file not shown.
@@ -0,0 +1,111 @@
|
||||
--TEST--
|
||||
Test vfprintf() function : usage variations - string formats with non-string values
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : int vfprintf ( resource $handle , string $format , array $args )
|
||||
* Description: Write a formatted string to a stream
|
||||
* Source code: ext/standard/formatted_print.c
|
||||
*/
|
||||
|
||||
/*
|
||||
* Test vfprintf() when different string formats and non-string values are passed to
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
|
||||
echo "*** Testing vfprintf() : string formats and non-string values ***\n";
|
||||
|
||||
// defining array of string formats
|
||||
$formats =
|
||||
'%s %+s %-s
|
||||
%ls %Ls %4s %-4s
|
||||
%10.4s %-10.4s %04s %04.4s
|
||||
%\'#2s %\'2s %\'$2s %\'_2s
|
||||
%3$s %4$s %1$s %2$s';
|
||||
|
||||
// Arrays of non string values for the format defined in $format.
|
||||
// Each sub array contains non string values which correspond to each format in $format
|
||||
$args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2.1234567e10, +2.7654321e10, -2.7654321e10,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123200, +20000, -40000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
|
||||
);
|
||||
|
||||
/* creating dumping file */
|
||||
$data_file = dirname(__FILE__) . '/dump.txt';
|
||||
if (!($fp = fopen($data_file, 'wt')))
|
||||
return;
|
||||
|
||||
// looping to test vfprintf() with different string formats from the above $format array
|
||||
// and with non-string values from the above $args_array array
|
||||
$counter = 1;
|
||||
foreach($args_array as $args) {
|
||||
fprintf($fp, "\n-- Iteration %d --\n",$counter);
|
||||
vfprintf($fp, $formats, $args);
|
||||
$counter++;
|
||||
}
|
||||
|
||||
fclose($fp);
|
||||
print_r(file_get_contents($data_file));
|
||||
echo "\n";
|
||||
|
||||
unlink($data_file);
|
||||
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vfprintf() : string formats and non-string values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
2.2 0.2 10.2
|
||||
123456.234 s -1234.6789 1234.6789
|
||||
2123 2765 -27654321000 1234
|
||||
12.000000011111 -12.00000111111 -123456.234 3.33
|
||||
10.2 123456.234 2.2 0.2
|
||||
-- Iteration 2 --
|
||||
2 -2 2
|
||||
123456 s -12346789 12346789
|
||||
1232 2000 -40000 2221
|
||||
12345780 1211111 -12111111 -12345634
|
||||
2 123456 2 -2
|
||||
-- Iteration 3 --
|
||||
Array Array Array
|
||||
Array s Array Array
|
||||
Arra Arra Array Arra
|
||||
Array Array Array Array
|
||||
Array Array Array Array
|
||||
-- Iteration 4 --
|
||||
1 1
|
||||
1 s 1
|
||||
1 0001 0000
|
||||
#0 1 $1 _0
|
||||
1 1 1
|
||||
===DONE===
|
||||
Binary file not shown.
@@ -32,7 +32,7 @@ $formats = array(
|
||||
$args_array = array(
|
||||
array(1234567, 01234567, 0 ),
|
||||
array(12345678900, 12345678900, 1234, 12345),
|
||||
array("1234000", 10e20, 1.2e2),
|
||||
array("1234000", 10.1234567e5, 1.2e2),
|
||||
array(1, 0, 00, "10_"),
|
||||
array(3, 4, 1, 2)
|
||||
);
|
||||
@@ -46,9 +46,9 @@ foreach($formats as $format) {
|
||||
$counter++;
|
||||
}
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
--EXPECTF--
|
||||
===Done===
|
||||
--EXPECT--
|
||||
*** Testing vsprintf() : unsigned formats and unsigned values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
@@ -58,11 +58,11 @@ string(16) "1234567 342391 0"
|
||||
string(23) "3755744308 u 1234 12345"
|
||||
|
||||
-- Iteration 3 --
|
||||
string(25) " 1234000 0 120"
|
||||
string(25) " 1234000 1012345 120"
|
||||
|
||||
-- Iteration 4 --
|
||||
string(10) "#1 0 $0 10"
|
||||
|
||||
-- Iteration 5 --
|
||||
string(7) "1 2 3 4"
|
||||
Done
|
||||
===Done===
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
--TEST--
|
||||
Test vsprintf() function : usage variations - string formats with non-string values
|
||||
--INI--
|
||||
precision=14
|
||||
--FILE--
|
||||
<?php
|
||||
/* Prototype : string vsprintf(string format, array args)
|
||||
@@ -14,12 +12,14 @@ precision=14
|
||||
* the '$format' and '$args' arguments of the function
|
||||
*/
|
||||
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
|
||||
echo "*** Testing vsprintf() : string formats and non-string values ***\n";
|
||||
|
||||
// defining array of string formats
|
||||
$formats =
|
||||
'%s %+s %-s
|
||||
%ls %Ls %4s %-4s
|
||||
%ls %4s %-4s
|
||||
%10.4s %-10.4s %04s %04.4s
|
||||
%\'#2s %\'2s %\'$2s %\'_2s
|
||||
%3$s %4$s %1$s %2$s';
|
||||
@@ -30,14 +30,14 @@ $args_array = array(
|
||||
|
||||
// array of float values
|
||||
array(2.2, .2, 10.2,
|
||||
123456.234, 123456.234, -1234.6789, +1234.6789,
|
||||
2e10, +2e12, -4e11, 22e+12,
|
||||
123456.234, -1234.6789, +1234.6789,
|
||||
2.1234567e10, +2.7654321e10, -2.7654321e10, 2.1234567e10,
|
||||
12345.780, 12.000000011111, -12.00000111111, -123456.234,
|
||||
3.33, +4.44, 1.11,-2.22 ),
|
||||
|
||||
|
||||
// array of int values
|
||||
array(2, -2, +2,
|
||||
123456, 123456234, -12346789, +12346789,
|
||||
123456, -12346789, +12346789,
|
||||
123200, +20000, -40000, 22212,
|
||||
12345780, 1211111, -12111111, -12345634,
|
||||
3, +4, 1,-2 ),
|
||||
@@ -45,14 +45,14 @@ $args_array = array(
|
||||
|
||||
// different arrays
|
||||
array( array(0), array(1, 2), array(-1, -1),
|
||||
array("123"), array('123'), array('-123'), array("-123"),
|
||||
array("123"), array('-123'), array("-123"),
|
||||
array(true), array(false), array(TRUE), array(FALSE),
|
||||
array("123hello"), array("1", "2"), array('123hello'), array(12=>"12twelve"),
|
||||
array("3"), array("4"), array("1"), array("2") ),
|
||||
|
||||
// array of boolean data
|
||||
array( true, TRUE, false,
|
||||
TRUE, 0, FALSE, 1,
|
||||
TRUE, FALSE, 1,
|
||||
true, false, TRUE, FALSE,
|
||||
0, 1, 1, 0,
|
||||
1, TRUE, 0, FALSE),
|
||||
@@ -68,36 +68,36 @@ foreach($args_array as $args) {
|
||||
$counter++;
|
||||
}
|
||||
|
||||
echo "Done";
|
||||
?>
|
||||
--EXPECTF--
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
*** Testing vsprintf() : string formats and non-string values ***
|
||||
|
||||
-- Iteration 1 --
|
||||
string(177) "2.2 0.2 10.2
|
||||
123456.234 s -1234.6789 1234.6789
|
||||
2000 2000 -400000000000 2200
|
||||
string(174) "2.2 0.2 10.2
|
||||
123456.234 -1234.6789 1234.6789
|
||||
2123 2765 -27654321000 2123
|
||||
12345.78 12.000000011111 -12.00000111111 -123456.234
|
||||
10.2 123456.234 2.2 0.2"
|
||||
|
||||
-- Iteration 2 --
|
||||
string(132) "2 -2 2
|
||||
123456 s -12346789 12346789
|
||||
string(130) "2 -2 2
|
||||
123456 -12346789 12346789
|
||||
1232 2000 -40000 2221
|
||||
12345780 1211111 -12111111 -12345634
|
||||
2 123456 2 -2"
|
||||
|
||||
-- Iteration 3 --
|
||||
string(131) "Array Array Array
|
||||
Array s Array Array
|
||||
string(129) "Array Array Array
|
||||
Array Array Array
|
||||
Arra Arra Array Arra
|
||||
Array Array Array Array
|
||||
Array Array Array Array"
|
||||
|
||||
-- Iteration 4 --
|
||||
string(81) "1 1
|
||||
1 s 1
|
||||
string(79) "1 1
|
||||
1 1
|
||||
1 0001 0000
|
||||
#0 1 $1 _0
|
||||
1 1 1"
|
||||
Done
|
||||
===DONE===
|
||||
Reference in New Issue
Block a user