summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/vfprintf_variation19_64bit.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/strings/vfprintf_variation19_64bit.phpt')
-rw-r--r--ext/standard/tests/strings/vfprintf_variation19_64bit.phpt94
1 files changed, 94 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/vfprintf_variation19_64bit.phpt b/ext/standard/tests/strings/vfprintf_variation19_64bit.phpt
new file mode 100644
index 0000000..58810a8
--- /dev/null
+++ b/ext/standard/tests/strings/vfprintf_variation19_64bit.phpt
@@ -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===