Annotation of embedaddon/php/ext/standard/tests/strings/vsprintf_variation3.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test vsprintf() function : usage variations - int formats with int values
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : string vsprintf(string format, array args)
        !             6:  * Description: Return a formatted string 
        !             7:  * Source code: ext/standard/formatted_print.c
        !             8: */
        !             9: 
        !            10: /*
        !            11:  * Test vsprintf() when different int formats and int values are passed to
        !            12:  * the '$format' and '$args' arguments of the function
        !            13: */
        !            14: 
        !            15: echo "*** Testing vsprintf() : int formats with int values ***\n";
        !            16: 
        !            17: 
        !            18: // defining array of int formats
        !            19: $formats = array(
        !            20:   "%d",
        !            21:   "%+d %-d %D",
        !            22:   "%ld %Ld, %4d %-4d",
        !            23:   "%10.4d %-10.4d %04d %04.4d",
        !            24:   "%'#2d %'2d %'$2d %'_2d",
        !            25:   "%d %d %d %d",
        !            26:   "% %%d d%",
        !            27:   '%3$d %4$d %1$d %2$d'
        !            28: );
        !            29: 
        !            30: // Arrays of int values for the format defined in $format.
        !            31: // Each sub array contains int values which correspond to each format string in $format
        !            32: $args_array = array(
        !            33:   array(0),
        !            34:   array(-1, 1, +22),
        !            35:   array(2147483647, -2147483648, +2147483640, -2147483640),
        !            36:   array(123456, 12345678, -1234567, 1234567),
        !            37:   array(111, 2222, 333333, 44444444),
        !            38:   array(0x123b, 0xfAb, 0123, 01293),
        !            39:   array(1234, -5678, 2345),
        !            40:   array(3, 4, 1, 2)
        !            41: 
        !            42: );
        !            43: 
        !            44: // looping to test vsprintf() with different int formats from the above $format array
        !            45: // and with int values from the above $args_array array
        !            46: $counter = 1;
        !            47: foreach($formats as $format) {
        !            48:   echo "\n-- Iteration $counter --\n";   
        !            49:   var_dump( vsprintf($format, $args_array[$counter-1]) );
        !            50:   $counter++;
        !            51: }
        !            52: 
        !            53: echo "Done";
        !            54: ?>
        !            55: 
        !            56: --EXPECTF--
        !            57: *** Testing vsprintf() : int formats with int values ***
        !            58: 
        !            59: -- Iteration 1 --
        !            60: string(1) "0"
        !            61: 
        !            62: -- Iteration 2 --
        !            63: string(5) "-1 1 "
        !            64: 
        !            65: -- Iteration 3 --
        !            66: string(36) "2147483647 d, 2147483640 -2147483640"
        !            67: 
        !            68: -- Iteration 4 --
        !            69: string(38) "    123456 12345678   -1234567 1234567"
        !            70: 
        !            71: -- Iteration 5 --
        !            72: string(24) "111 2222 333333 44444444"
        !            73: 
        !            74: -- Iteration 6 --
        !            75: string(15) "4667 4011 83 10"
        !            76: 
        !            77: -- Iteration 7 --
        !            78: string(8) "%-5678 d"
        !            79: 
        !            80: -- Iteration 8 --
        !            81: string(7) "1 2 3 4"
        !            82: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>