Return to sprintf_variation34_64bit.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings |
1.1 misho 1: --TEST-- 2: Test sprintf() function : usage variations - hexa formats with integer values 3: --SKIPIF-- 4: <?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?> 5: --FILE-- 6: <?php 7: /* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]]) 8: * Description: Return a formatted string 9: * Source code: ext/standard/formatted_print.c 10: */ 11: 12: echo "*** Testing sprintf() : hexa formats with integer values ***\n"; 13: 14: // array of integer values 15: $integer_values = array( 16: 0, 17: 1, 18: -1, 19: -2147483648, // max negative integer value 20: -2147483647, 21: 2147483647, // max positive integer value 22: 2147483640, 23: 0x123B, // integer as hexadecimal 24: 0x12ab, 25: 0Xfff, 26: 0XFA, 27: -0x80000000, // max negative integer as hexadecimal 28: 0x7fffffff, // max postive integer as hexadecimal 29: 0x7FFFFFFF, // max postive integer as hexadecimal 30: 0123, // integer as octal 31: 01912, // should be quivalent to octal 1 32: -020000000000, // max negative integer as octal 33: 017777777777 // max positive integer as octal 34: ); 35: 36: // array of hexa formats 37: $hexa_formats = array( 38: "%x", "%xx", "%lx", 39: "%Lx", " %x", "%x ", 40: "\t%x", "\n%x", "%4x", 41: "%30x", "%[0-9A-Fa-f]", "%*x" 42: ); 43: 44: $count = 1; 45: foreach($integer_values as $integer_value) { 46: echo "\n-- Iteration $count --\n"; 47: 48: foreach($hexa_formats as $format) { 49: var_dump( sprintf($format, $integer_value) ); 50: } 51: $count++; 52: }; 53: 54: echo "Done"; 55: ?> 56: --EXPECTF-- 57: *** Testing sprintf() : hexa formats with integer values *** 58: 59: -- Iteration 1 -- 60: string(1) "0" 61: string(2) "0x" 62: string(1) "0" 63: string(1) "x" 64: string(2) " 0" 65: string(2) "0 " 66: string(2) " 0" 67: string(2) " 68: 0" 69: string(4) " 0" 70: string(30) " 0" 71: string(10) "0-9A-Fa-f]" 72: string(1) "x" 73: 74: -- Iteration 2 -- 75: string(1) "1" 76: string(2) "1x" 77: string(1) "1" 78: string(1) "x" 79: string(2) " 1" 80: string(2) "1 " 81: string(2) " 1" 82: string(2) " 83: 1" 84: string(4) " 1" 85: string(30) " 1" 86: string(10) "0-9A-Fa-f]" 87: string(1) "x" 88: 89: -- Iteration 3 -- 90: string(16) "ffffffffffffffff" 91: string(17) "ffffffffffffffffx" 92: string(16) "ffffffffffffffff" 93: string(1) "x" 94: string(17) " ffffffffffffffff" 95: string(17) "ffffffffffffffff " 96: string(17) " ffffffffffffffff" 97: string(17) " 98: ffffffffffffffff" 99: string(16) "ffffffffffffffff" 100: string(30) " ffffffffffffffff" 101: string(10) "0-9A-Fa-f]" 102: string(1) "x" 103: 104: -- Iteration 4 -- 105: string(16) "ffffffff80000000" 106: string(17) "ffffffff80000000x" 107: string(16) "ffffffff80000000" 108: string(1) "x" 109: string(17) " ffffffff80000000" 110: string(17) "ffffffff80000000 " 111: string(17) " ffffffff80000000" 112: string(17) " 113: ffffffff80000000" 114: string(16) "ffffffff80000000" 115: string(30) " ffffffff80000000" 116: string(10) "0-9A-Fa-f]" 117: string(1) "x" 118: 119: -- Iteration 5 -- 120: string(16) "ffffffff80000001" 121: string(17) "ffffffff80000001x" 122: string(16) "ffffffff80000001" 123: string(1) "x" 124: string(17) " ffffffff80000001" 125: string(17) "ffffffff80000001 " 126: string(17) " ffffffff80000001" 127: string(17) " 128: ffffffff80000001" 129: string(16) "ffffffff80000001" 130: string(30) " ffffffff80000001" 131: string(10) "0-9A-Fa-f]" 132: string(1) "x" 133: 134: -- Iteration 6 -- 135: string(8) "7fffffff" 136: string(9) "7fffffffx" 137: string(8) "7fffffff" 138: string(1) "x" 139: string(9) " 7fffffff" 140: string(9) "7fffffff " 141: string(9) " 7fffffff" 142: string(9) " 143: 7fffffff" 144: string(8) "7fffffff" 145: string(30) " 7fffffff" 146: string(10) "0-9A-Fa-f]" 147: string(1) "x" 148: 149: -- Iteration 7 -- 150: string(8) "7ffffff8" 151: string(9) "7ffffff8x" 152: string(8) "7ffffff8" 153: string(1) "x" 154: string(9) " 7ffffff8" 155: string(9) "7ffffff8 " 156: string(9) " 7ffffff8" 157: string(9) " 158: 7ffffff8" 159: string(8) "7ffffff8" 160: string(30) " 7ffffff8" 161: string(10) "0-9A-Fa-f]" 162: string(1) "x" 163: 164: -- Iteration 8 -- 165: string(4) "123b" 166: string(5) "123bx" 167: string(4) "123b" 168: string(1) "x" 169: string(5) " 123b" 170: string(5) "123b " 171: string(5) " 123b" 172: string(5) " 173: 123b" 174: string(4) "123b" 175: string(30) " 123b" 176: string(10) "0-9A-Fa-f]" 177: string(1) "x" 178: 179: -- Iteration 9 -- 180: string(4) "12ab" 181: string(5) "12abx" 182: string(4) "12ab" 183: string(1) "x" 184: string(5) " 12ab" 185: string(5) "12ab " 186: string(5) " 12ab" 187: string(5) " 188: 12ab" 189: string(4) "12ab" 190: string(30) " 12ab" 191: string(10) "0-9A-Fa-f]" 192: string(1) "x" 193: 194: -- Iteration 10 -- 195: string(3) "fff" 196: string(4) "fffx" 197: string(3) "fff" 198: string(1) "x" 199: string(4) " fff" 200: string(4) "fff " 201: string(4) " fff" 202: string(4) " 203: fff" 204: string(4) " fff" 205: string(30) " fff" 206: string(10) "0-9A-Fa-f]" 207: string(1) "x" 208: 209: -- Iteration 11 -- 210: string(2) "fa" 211: string(3) "fax" 212: string(2) "fa" 213: string(1) "x" 214: string(3) " fa" 215: string(3) "fa " 216: string(3) " fa" 217: string(3) " 218: fa" 219: string(4) " fa" 220: string(30) " fa" 221: string(10) "0-9A-Fa-f]" 222: string(1) "x" 223: 224: -- Iteration 12 -- 225: string(16) "ffffffff80000000" 226: string(17) "ffffffff80000000x" 227: string(16) "ffffffff80000000" 228: string(1) "x" 229: string(17) " ffffffff80000000" 230: string(17) "ffffffff80000000 " 231: string(17) " ffffffff80000000" 232: string(17) " 233: ffffffff80000000" 234: string(16) "ffffffff80000000" 235: string(30) " ffffffff80000000" 236: string(10) "0-9A-Fa-f]" 237: string(1) "x" 238: 239: -- Iteration 13 -- 240: string(8) "7fffffff" 241: string(9) "7fffffffx" 242: string(8) "7fffffff" 243: string(1) "x" 244: string(9) " 7fffffff" 245: string(9) "7fffffff " 246: string(9) " 7fffffff" 247: string(9) " 248: 7fffffff" 249: string(8) "7fffffff" 250: string(30) " 7fffffff" 251: string(10) "0-9A-Fa-f]" 252: string(1) "x" 253: 254: -- Iteration 14 -- 255: string(8) "7fffffff" 256: string(9) "7fffffffx" 257: string(8) "7fffffff" 258: string(1) "x" 259: string(9) " 7fffffff" 260: string(9) "7fffffff " 261: string(9) " 7fffffff" 262: string(9) " 263: 7fffffff" 264: string(8) "7fffffff" 265: string(30) " 7fffffff" 266: string(10) "0-9A-Fa-f]" 267: string(1) "x" 268: 269: -- Iteration 15 -- 270: string(2) "53" 271: string(3) "53x" 272: string(2) "53" 273: string(1) "x" 274: string(3) " 53" 275: string(3) "53 " 276: string(3) " 53" 277: string(3) " 278: 53" 279: string(4) " 53" 280: string(30) " 53" 281: string(10) "0-9A-Fa-f]" 282: string(1) "x" 283: 284: -- Iteration 16 -- 285: string(1) "1" 286: string(2) "1x" 287: string(1) "1" 288: string(1) "x" 289: string(2) " 1" 290: string(2) "1 " 291: string(2) " 1" 292: string(2) " 293: 1" 294: string(4) " 1" 295: string(30) " 1" 296: string(10) "0-9A-Fa-f]" 297: string(1) "x" 298: 299: -- Iteration 17 -- 300: string(16) "ffffffff80000000" 301: string(17) "ffffffff80000000x" 302: string(16) "ffffffff80000000" 303: string(1) "x" 304: string(17) " ffffffff80000000" 305: string(17) "ffffffff80000000 " 306: string(17) " ffffffff80000000" 307: string(17) " 308: ffffffff80000000" 309: string(16) "ffffffff80000000" 310: string(30) " ffffffff80000000" 311: string(10) "0-9A-Fa-f]" 312: string(1) "x" 313: 314: -- Iteration 18 -- 315: string(8) "7fffffff" 316: string(9) "7fffffffx" 317: string(8) "7fffffff" 318: string(1) "x" 319: string(9) " 7fffffff" 320: string(9) "7fffffff " 321: string(9) " 7fffffff" 322: string(9) " 323: 7fffffff" 324: string(8) "7fffffff" 325: string(30) " 7fffffff" 326: string(10) "0-9A-Fa-f]" 327: string(1) "x" 328: Done