Annotation of embedaddon/php/ext/standard/tests/strings/sprintf_variation35.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test sprintf() function : usage variations - hexa formats with float values
                      3: --SKIPIF--
                      4: <?php
                      5: if (PHP_INT_SIZE != 4) {
                      6:            die("skip this test is for 32bit platform only");
                      7: }
                      8: ?>
                      9: --FILE--
                     10: <?php
                     11: /* Prototype  : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
                     12:  * Description: Return a formatted string 
                     13:  * Source code: ext/standard/formatted_print.c
                     14: */
                     15: 
                     16: echo "*** Testing sprintf() : hexa formats with float values ***\n";
                     17: 
                     18: // array of float values 
                     19: $float_values = array(
                     20:   2147483647,
                     21:   0x800000001, // float value, beyond max positive int
                     22:   020000000001, // float value, beyond max positive int
                     23:   0.0,
                     24:   -0.1,
                     25:   1.0,
                     26:   1e5,
                     27:   -1e6,
                     28:   1E8,
                     29:   -1E9,
                     30:   10.0000000000000000005,
                     31:   10.5e+5
                     32: );
                     33: 
                     34: // array of hexa formats
                     35: $hexa_formats = array(  
                     36:   "%x", "%xx", "%lx", 
                     37:   "%Lx", " %x", "%x ",
                     38:   "\t%x", "\n%x", "%4x",
                     39:   "%30x", "%[0-9A-Fa-f]", "%*x"
                     40: );
                     41: 
                     42: $count = 1;
                     43: foreach($float_values as $float_value) {
                     44:   echo "\n-- Iteration $count --\n";
                     45:   
                     46:   foreach($hexa_formats as $format) {
                     47:     // with two arguments
                     48:     var_dump( sprintf($format, $float_value) );
                     49:   }
                     50:   $count++;
                     51: };
                     52: 
                     53: echo "Done";
                     54: ?>
                     55: --EXPECTF--
                     56: *** Testing sprintf() : hexa formats with float values ***
                     57: 
                     58: -- Iteration 1 --
                     59: string(8) "7fffffff"
                     60: string(9) "7fffffffx"
                     61: string(8) "7fffffff"
                     62: string(1) "x"
                     63: string(9) " 7fffffff"
                     64: string(9) "7fffffff "
                     65: string(9) "    7fffffff"
                     66: string(9) "
                     67: 7fffffff"
                     68: string(8) "7fffffff"
                     69: string(30) "                      7fffffff"
                     70: string(10) "0-9A-Fa-f]"
                     71: string(1) "x"
                     72: 
                     73: -- Iteration 2 --
                     74: string(1) "1"
                     75: string(2) "1x"
                     76: string(1) "1"
                     77: string(1) "x"
                     78: string(2) " 1"
                     79: string(2) "1 "
                     80: string(2) "    1"
                     81: string(2) "
                     82: 1"
                     83: string(4) "   1"
                     84: string(30) "                             1"
                     85: string(10) "0-9A-Fa-f]"
                     86: string(1) "x"
                     87: 
                     88: -- Iteration 3 --
                     89: string(8) "80000001"
                     90: string(9) "80000001x"
                     91: string(8) "80000001"
                     92: string(1) "x"
                     93: string(9) " 80000001"
                     94: string(9) "80000001 "
                     95: string(9) "    80000001"
                     96: string(9) "
                     97: 80000001"
                     98: string(8) "80000001"
                     99: string(30) "                      80000001"
                    100: string(10) "0-9A-Fa-f]"
                    101: string(1) "x"
                    102: 
                    103: -- Iteration 4 --
                    104: string(1) "0"
                    105: string(2) "0x"
                    106: string(1) "0"
                    107: string(1) "x"
                    108: string(2) " 0"
                    109: string(2) "0 "
                    110: string(2) "    0"
                    111: string(2) "
                    112: 0"
                    113: string(4) "   0"
                    114: string(30) "                             0"
                    115: string(10) "0-9A-Fa-f]"
                    116: string(1) "x"
                    117: 
                    118: -- Iteration 5 --
                    119: string(1) "0"
                    120: string(2) "0x"
                    121: string(1) "0"
                    122: string(1) "x"
                    123: string(2) " 0"
                    124: string(2) "0 "
                    125: string(2) "    0"
                    126: string(2) "
                    127: 0"
                    128: string(4) "   0"
                    129: string(30) "                             0"
                    130: string(10) "0-9A-Fa-f]"
                    131: string(1) "x"
                    132: 
                    133: -- Iteration 6 --
                    134: string(1) "1"
                    135: string(2) "1x"
                    136: string(1) "1"
                    137: string(1) "x"
                    138: string(2) " 1"
                    139: string(2) "1 "
                    140: string(2) "    1"
                    141: string(2) "
                    142: 1"
                    143: string(4) "   1"
                    144: string(30) "                             1"
                    145: string(10) "0-9A-Fa-f]"
                    146: string(1) "x"
                    147: 
                    148: -- Iteration 7 --
                    149: string(5) "186a0"
                    150: string(6) "186a0x"
                    151: string(5) "186a0"
                    152: string(1) "x"
                    153: string(6) " 186a0"
                    154: string(6) "186a0 "
                    155: string(6) "    186a0"
                    156: string(6) "
                    157: 186a0"
                    158: string(5) "186a0"
                    159: string(30) "                         186a0"
                    160: string(10) "0-9A-Fa-f]"
                    161: string(1) "x"
                    162: 
                    163: -- Iteration 8 --
                    164: string(8) "fff0bdc0"
                    165: string(9) "fff0bdc0x"
                    166: string(8) "fff0bdc0"
                    167: string(1) "x"
                    168: string(9) " fff0bdc0"
                    169: string(9) "fff0bdc0 "
                    170: string(9) "    fff0bdc0"
                    171: string(9) "
                    172: fff0bdc0"
                    173: string(8) "fff0bdc0"
                    174: string(30) "                      fff0bdc0"
                    175: string(10) "0-9A-Fa-f]"
                    176: string(1) "x"
                    177: 
                    178: -- Iteration 9 --
                    179: string(7) "5f5e100"
                    180: string(8) "5f5e100x"
                    181: string(7) "5f5e100"
                    182: string(1) "x"
                    183: string(8) " 5f5e100"
                    184: string(8) "5f5e100 "
                    185: string(8) "    5f5e100"
                    186: string(8) "
                    187: 5f5e100"
                    188: string(7) "5f5e100"
                    189: string(30) "                       5f5e100"
                    190: string(10) "0-9A-Fa-f]"
                    191: string(1) "x"
                    192: 
                    193: -- Iteration 10 --
                    194: string(8) "c4653600"
                    195: string(9) "c4653600x"
                    196: string(8) "c4653600"
                    197: string(1) "x"
                    198: string(9) " c4653600"
                    199: string(9) "c4653600 "
                    200: string(9) "    c4653600"
                    201: string(9) "
                    202: c4653600"
                    203: string(8) "c4653600"
                    204: string(30) "                      c4653600"
                    205: string(10) "0-9A-Fa-f]"
                    206: string(1) "x"
                    207: 
                    208: -- Iteration 11 --
                    209: string(1) "a"
                    210: string(2) "ax"
                    211: string(1) "a"
                    212: string(1) "x"
                    213: string(2) " a"
                    214: string(2) "a "
                    215: string(2) "    a"
                    216: string(2) "
                    217: a"
                    218: string(4) "   a"
                    219: string(30) "                             a"
                    220: string(10) "0-9A-Fa-f]"
                    221: string(1) "x"
                    222: 
                    223: -- Iteration 12 --
                    224: string(6) "100590"
                    225: string(7) "100590x"
                    226: string(6) "100590"
                    227: string(1) "x"
                    228: string(7) " 100590"
                    229: string(7) "100590 "
                    230: string(7) "    100590"
                    231: string(7) "
                    232: 100590"
                    233: string(6) "100590"
                    234: string(30) "                        100590"
                    235: string(10) "0-9A-Fa-f]"
                    236: string(1) "x"
                    237: Done

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