diff options
author | andy wharmby <wharmby@php.net> | 2009-01-19 16:03:40 +0000 |
---|---|---|
committer | andy wharmby <wharmby@php.net> | 2009-01-19 16:03:40 +0000 |
commit | 2c593dd95c8a3539ed517d5e0dea0c82b4374e3c (patch) | |
tree | 9e3d316676b2b062336e15570d37b55e9595031a /ext/standard/tests/strings/vprintf_variation15_64bit.phpt | |
parent | ce85cecb55fd48b5f5083079f5326d3a513a9ded (diff) | |
download | php-git-2c593dd95c8a3539ed517d5e0dea0c82b4374e3c.tar.gz |
New vprintf() tests. Tested on Windows, Linux and Linux 64 bit.
Diffstat (limited to 'ext/standard/tests/strings/vprintf_variation15_64bit.phpt')
-rw-r--r-- | ext/standard/tests/strings/vprintf_variation15_64bit.phpt | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/vprintf_variation15_64bit.phpt b/ext/standard/tests/strings/vprintf_variation15_64bit.phpt new file mode 100644 index 0000000000..666865c7c6 --- /dev/null +++ b/ext/standard/tests/strings/vprintf_variation15_64bit.phpt @@ -0,0 +1,75 @@ +--TEST-- +Test vprintf() 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 : string vprintf(string format, array args) + * Description: Output a formatted string + * Source code: ext/standard/formatted_print.c +*/ + +/* + * Test vprintf() when different unsigned formats and unsigned values + * are passed to the '$format' and '$args' arguments of the function +*/ + +echo "*** Testing vprintf() : 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", 10e20, 1.2e2), + array(1, 0, 00, "10_"), + array(3, 4, 1, 2) +); + +// looping to test vprintf() 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) { + echo "\n-- Iteration $counter --\n"; + $result = vprintf($format, $args_array[$counter-1]); + echo "\n"; + var_dump($result); + $counter++; +} + +?> +===DONE=== +--EXPECTF-- +*** Testing vprintf() : unsigned formats and unsigned values *** + +-- Iteration 1 -- +1234567 342391 0 +int(16) + +-- Iteration 2 -- +12345678900 u 1234 12345 +int(24) + +-- Iteration 3 -- + 1234000 9223372036854775807 120 +int(34) + +-- Iteration 4 -- +#1 0 $0 10 +int(10) + +-- Iteration 5 -- +1 2 3 4 +int(7) +===DONE=== |