Annotation of embedaddon/php/ext/tokenizer/tests/bug54089.phpt, revision 1.1.1.2
1.1 misho 1: --TEST--
2: Bug #54089 (token_get_all() does not stop after __halt_compiler)
3: --SKIPIF--
4: <?php if (!extension_loaded("tokenizer")) print "skip"; ?>
5: --FILE--
6: <?php
1.1.1.2 ! misho 7: $codes = array(
! 8: "<?php __halt_compiler",
! 9: "<?php __halt_compiler(",
! 10: "<?php __halt_compiler();",
! 11: "<?php __halt_compiler();ABC",
! 12: "<?php __halt_compiler\n(\n)\n;ABC",
! 13: "<?php __halt_compiler\nabc\ndef\nghi ABC",
! 14: );
! 15: foreach ($codes as $code) {
! 16: $tokens = token_get_all($code);
! 17: var_dump($tokens);
! 18:
! 19: $code = '';
! 20: foreach ($tokens as $t)
! 21: {
! 22: $code .= isset($t[1]) ? $t[1] : $t;
! 23: }
! 24: var_dump($code);
1.1 misho 25: }
1.1.1.2 ! misho 26:
1.1 misho 27: ?>
28: --EXPECTF--
29: array(2) {
30: [0]=>
31: array(3) {
32: [0]=>
33: int(%d)
34: [1]=>
35: string(6) "<?php "
36: [2]=>
37: int(1)
38: }
39: [1]=>
40: array(3) {
41: [0]=>
42: int(%d)
43: [1]=>
44: string(15) "__halt_compiler"
45: [2]=>
46: int(1)
47: }
48: }
49: string(21) "<?php __halt_compiler"
1.1.1.2 ! misho 50: array(3) {
! 51: [0]=>
! 52: array(3) {
! 53: [0]=>
! 54: int(%d)
! 55: [1]=>
! 56: string(6) "<?php "
! 57: [2]=>
! 58: int(1)
! 59: }
! 60: [1]=>
! 61: array(3) {
! 62: [0]=>
! 63: int(%d)
! 64: [1]=>
! 65: string(15) "__halt_compiler"
! 66: [2]=>
! 67: int(1)
! 68: }
! 69: [2]=>
! 70: string(1) "("
! 71: }
! 72: string(22) "<?php __halt_compiler("
! 73: array(5) {
! 74: [0]=>
! 75: array(3) {
! 76: [0]=>
! 77: int(%d)
! 78: [1]=>
! 79: string(6) "<?php "
! 80: [2]=>
! 81: int(1)
! 82: }
! 83: [1]=>
! 84: array(3) {
! 85: [0]=>
! 86: int(%d)
! 87: [1]=>
! 88: string(15) "__halt_compiler"
! 89: [2]=>
! 90: int(1)
! 91: }
! 92: [2]=>
! 93: string(1) "("
! 94: [3]=>
! 95: string(1) ")"
! 96: [4]=>
! 97: string(1) ";"
! 98: }
! 99: string(24) "<?php __halt_compiler();"
! 100: array(6) {
! 101: [0]=>
! 102: array(3) {
! 103: [0]=>
! 104: int(%d)
! 105: [1]=>
! 106: string(6) "<?php "
! 107: [2]=>
! 108: int(1)
! 109: }
! 110: [1]=>
! 111: array(3) {
! 112: [0]=>
! 113: int(%d)
! 114: [1]=>
! 115: string(15) "__halt_compiler"
! 116: [2]=>
! 117: int(1)
! 118: }
! 119: [2]=>
! 120: string(1) "("
! 121: [3]=>
! 122: string(1) ")"
! 123: [4]=>
! 124: string(1) ";"
! 125: [5]=>
! 126: array(3) {
! 127: [0]=>
! 128: int(%d)
! 129: [1]=>
! 130: string(3) "ABC"
! 131: [2]=>
! 132: int(1)
! 133: }
! 134: }
! 135: string(27) "<?php __halt_compiler();ABC"
! 136: array(9) {
! 137: [0]=>
! 138: array(3) {
! 139: [0]=>
! 140: int(%d)
! 141: [1]=>
! 142: string(6) "<?php "
! 143: [2]=>
! 144: int(1)
! 145: }
! 146: [1]=>
! 147: array(3) {
! 148: [0]=>
! 149: int(%d)
! 150: [1]=>
! 151: string(15) "__halt_compiler"
! 152: [2]=>
! 153: int(1)
! 154: }
! 155: [2]=>
! 156: array(3) {
! 157: [0]=>
! 158: int(%d)
! 159: [1]=>
! 160: string(1) "
! 161: "
! 162: [2]=>
! 163: int(1)
! 164: }
! 165: [3]=>
! 166: string(1) "("
! 167: [4]=>
! 168: array(3) {
! 169: [0]=>
! 170: int(%d)
! 171: [1]=>
! 172: string(1) "
! 173: "
! 174: [2]=>
! 175: int(2)
! 176: }
! 177: [5]=>
! 178: string(1) ")"
! 179: [6]=>
! 180: array(3) {
! 181: [0]=>
! 182: int(%d)
! 183: [1]=>
! 184: string(1) "
! 185: "
! 186: [2]=>
! 187: int(3)
! 188: }
! 189: [7]=>
! 190: string(1) ";"
! 191: [8]=>
! 192: array(3) {
! 193: [0]=>
! 194: int(%d)
! 195: [1]=>
! 196: string(3) "ABC"
! 197: [2]=>
! 198: int(4)
! 199: }
! 200: }
! 201: string(30) "<?php __halt_compiler
! 202: (
! 203: )
! 204: ;ABC"
! 205: array(9) {
! 206: [0]=>
! 207: array(3) {
! 208: [0]=>
! 209: int(%d)
! 210: [1]=>
! 211: string(6) "<?php "
! 212: [2]=>
! 213: int(1)
! 214: }
! 215: [1]=>
! 216: array(3) {
! 217: [0]=>
! 218: int(%d)
! 219: [1]=>
! 220: string(15) "__halt_compiler"
! 221: [2]=>
! 222: int(1)
! 223: }
! 224: [2]=>
! 225: array(3) {
! 226: [0]=>
! 227: int(%d)
! 228: [1]=>
! 229: string(1) "
! 230: "
! 231: [2]=>
! 232: int(1)
! 233: }
! 234: [3]=>
! 235: array(3) {
! 236: [0]=>
! 237: int(%d)
! 238: [1]=>
! 239: string(3) "abc"
! 240: [2]=>
! 241: int(2)
! 242: }
! 243: [4]=>
! 244: array(3) {
! 245: [0]=>
! 246: int(%d)
! 247: [1]=>
! 248: string(1) "
! 249: "
! 250: [2]=>
! 251: int(2)
! 252: }
! 253: [5]=>
! 254: array(3) {
! 255: [0]=>
! 256: int(%d)
! 257: [1]=>
! 258: string(3) "def"
! 259: [2]=>
! 260: int(3)
! 261: }
! 262: [6]=>
! 263: array(3) {
! 264: [0]=>
! 265: int(%d)
! 266: [1]=>
! 267: string(1) "
! 268: "
! 269: [2]=>
! 270: int(3)
! 271: }
! 272: [7]=>
! 273: array(3) {
! 274: [0]=>
! 275: int(%d)
! 276: [1]=>
! 277: string(3) "ghi"
! 278: [2]=>
! 279: int(4)
! 280: }
! 281: [8]=>
! 282: array(3) {
! 283: [0]=>
! 284: int(%d)
! 285: [1]=>
! 286: string(4) " ABC"
! 287: [2]=>
! 288: int(4)
! 289: }
! 290: }
! 291: string(37) "<?php __halt_compiler
! 292: abc
! 293: def
! 294: ghi ABC"
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>