Annotation of embedaddon/php/ext/tokenizer/tests/token_get_all_variation19.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Reconstructing a script using token_get_all()
! 3: --FILE--
! 4: <?php
! 5:
! 6: $phpstr = '
! 7: <?php
! 8:
! 9: // A php script to test token_get_all()
! 10:
! 11: /* a different
! 12: type of
! 13: comment */
! 14:
! 15: // a class
! 16: class TestClass {
! 17: public function foo() {
! 18: echo "Called foo()\n";
! 19: }
! 20: }
! 21:
! 22: $a = new TestClass();
! 23: $a->foo();
! 24:
! 25: for ($i = 0; $i < 10; $i++) {
! 26: echo "Loop iteration $i\n";
! 27: }
! 28:
! 29: ?>';
! 30:
! 31: $token_array = token_get_all($phpstr);
! 32:
! 33: $script = "";
! 34: // reconstruct a script (without open/close tags) from the token array
! 35: foreach ($token_array as $token) {
! 36: if (is_array($token)) {
! 37: if (strncmp($token[1], '<?php', 5) == 0) {
! 38: continue;
! 39: }
! 40: if (strncmp($token[1], '?>', 2) == 0) {
! 41: continue;
! 42: }
! 43: $script .= $token[1];
! 44: } else {
! 45: $script .= $token;
! 46: }
! 47: }
! 48:
! 49: var_dump($script);
! 50:
! 51: eval($script);
! 52:
! 53: ?>
! 54: --EXPECT--
! 55: string(259) "
! 56:
! 57: // A php script to test token_get_all()
! 58:
! 59: /* a different
! 60: type of
! 61: comment */
! 62:
! 63: // a class
! 64: class TestClass {
! 65: public function foo() {
! 66: echo "Called foo()\n";
! 67: }
! 68: }
! 69:
! 70: $a = new TestClass();
! 71: $a->foo();
! 72:
! 73: for ($i = 0; $i < 10; $i++) {
! 74: echo "Loop iteration $i\n";
! 75: }
! 76:
! 77: "
! 78: Called foo()
! 79: Loop iteration 0
! 80: Loop iteration 1
! 81: Loop iteration 2
! 82: Loop iteration 3
! 83: Loop iteration 4
! 84: Loop iteration 5
! 85: Loop iteration 6
! 86: Loop iteration 7
! 87: Loop iteration 8
! 88: Loop iteration 9
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>