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>