Return to vprintf_variation15.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test vprintf() function : usage variations - unsigned formats with unsigned values 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); 6: ?> 7: --FILE-- 8: <?php 9: /* Prototype : string vprintf(string format, array args) 10: * Description: Output a formatted string 11: * Source code: ext/standard/formatted_print.c 12: */ 13: 14: /* 15: * Test vprintf() when different unsigned formats and unsigned values 16: * are passed to the '$format' and '$args' arguments of the function 17: */ 18: 19: echo "*** Testing vprintf() : unsigned formats and unsigned values ***\n"; 20: 21: // defining array of unsigned formats 22: $formats = array( 23: '%u %+u %-u', 24: '%lu %Lu %4u %-4u', 25: '%10.4u %-10.4u %.4u', 26: '%\'#2u %\'2u %\'$2u %\'_2u', 27: '%3$u %4$u %1$u %2$u' 28: ); 29: 30: // Arrays of unsigned values for the format defined in $format. 31: // Each sub array contains unsigned values which correspond to each format string in $format 32: $args_array = array( 33: array(1234567, 01234567, 0 ), 34: array(12345678900, 12345678900, 1234, 12345), 35: array("1234000", 10.1234567e10, 1.2e2), 36: array(1, 0, 00, "10_"), 37: array(3, 4, 1, 2) 38: ); 39: 40: // looping to test vprintf() with different unsigned formats from the above $format array 41: // and with signed and other types of values from the above $args_array array 42: $counter = 1; 43: foreach($formats as $format) { 44: echo "\n-- Iteration $counter --\n"; 45: $result = vprintf($format, $args_array[$counter-1]); 46: echo "\n"; 47: var_dump($result); 48: $counter++; 49: } 50: 51: ?> 52: ===DONE=== 53: --EXPECT-- 54: *** Testing vprintf() : unsigned formats and unsigned values *** 55: 56: -- Iteration 1 -- 57: 1234567 342391 0 58: int(16) 59: 60: -- Iteration 2 -- 61: 3755744308 u 1234 12345 62: int(23) 63: 64: -- Iteration 3 -- 65: 1234000 2450319192 120 66: int(25) 67: 68: -- Iteration 4 -- 69: #1 0 $0 10 70: int(10) 71: 72: -- Iteration 5 -- 73: 1 2 3 4 74: int(7) 75: ===DONE===