Annotation of embedaddon/php/ext/standard/tests/strings/vsprintf_variation11_64bit.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test vsprintf() function : usage variations - octal formats with octal values
! 3: --SKIPIF--
! 4: <?php
! 5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
! 6: ?>
! 7: --FILE--
! 8: <?php
! 9: /* Prototype : string vsprintf(string format, array args)
! 10: * Description: Return a formatted string
! 11: * Source code: ext/standard/formatted_print.c
! 12: */
! 13:
! 14: /*
! 15: * Test vsprintf() when different octal formats and octal values are passed to
! 16: * the '$format' and '$args' arguments of the function
! 17: */
! 18:
! 19: echo "*** Testing vsprintf() : octal formats with octal values ***\n";
! 20:
! 21: // defining array of octal formats
! 22: $formats = array(
! 23: "%o",
! 24: "%+o %-o %O",
! 25: "%lo %Lo, %4o %-4o",
! 26: "%10.4o %-10.4o %04o %04.4o",
! 27: "%'#2o %'2o %'$2o %'_2o",
! 28: "%o %o %o %o",
! 29: "%% %%o %10 o%",
! 30: '%3$o %4$o %1$o %2$o'
! 31: );
! 32:
! 33: // Arrays of octal values for the format defined in $format.
! 34: // Each sub array contains octal values which correspond to each format string in $format
! 35: $args_array = array(
! 36: array(00),
! 37: array(-01, 01, +022),
! 38: array(-020000000000, 020000000000, 017777777777, -017777777777),
! 39: array(0123456, 012345678, -01234567, 01234567),
! 40: array(0111, 02222, -0333333, -044444444),
! 41: array(0x123b, 0xfAb, 0123, 01293),
! 42: array(01234, 05678, -01234, 02345),
! 43: array(03, 04, 01, 02)
! 44:
! 45: );
! 46:
! 47: // looping to test vsprintf() with different octal formats from the above $formats array
! 48: // and with octal values from the above $args_array array
! 49: $counter = 1;
! 50: foreach($formats as $format) {
! 51: echo "\n-- Iteration $counter --\n";
! 52: var_dump( vsprintf($format, $args_array[$counter-1]) );
! 53: $counter++;
! 54: }
! 55:
! 56: echo "Done";
! 57: ?>
! 58:
! 59: --EXPECTF--
! 60: *** Testing vsprintf() : octal formats with octal values ***
! 61:
! 62: -- Iteration 1 --
! 63: string(1) "0"
! 64:
! 65: -- Iteration 2 --
! 66: string(25) "1777777777777777777777 1 "
! 67:
! 68: -- Iteration 3 --
! 69: string(60) "1777777777760000000000 o, 17777777777 1777777777760000000001"
! 70:
! 71: -- Iteration 4 --
! 72: string(49) " 1777777777777776543211 0000"
! 73:
! 74: -- Iteration 5 --
! 75: string(54) "111 2222 1777777777777777444445 1777777777777733333334"
! 76:
! 77: -- Iteration 6 --
! 78: string(17) "11073 7653 123 12"
! 79:
! 80: -- Iteration 7 --
! 81: string(6) "% %o o"
! 82:
! 83: -- Iteration 8 --
! 84: string(7) "1 2 3 4"
! 85: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>