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

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===

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