diff options
author | Steve Seear <stevseea@php.net> | 2008-03-19 17:43:50 +0000 |
---|---|---|
committer | Steve Seear <stevseea@php.net> | 2008-03-19 17:43:50 +0000 |
commit | 4c2b3336a21a2601cfd0169ac3069d5ccf93bf1e (patch) | |
tree | 2fb812ea3dfa6f44ed0d2fc946c75cdf67ebfe1a /ext/tokenizer | |
parent | 5e0afe8eb9716e1f3e566a9602bac44000784f4f (diff) | |
download | php-git-4c2b3336a21a2601cfd0169ac3069d5ccf93bf1e.tar.gz |
Adding tokenizer test
Diffstat (limited to 'ext/tokenizer')
-rw-r--r-- | ext/tokenizer/tests/token_get_all_variation19.phpt | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/ext/tokenizer/tests/token_get_all_variation19.phpt b/ext/tokenizer/tests/token_get_all_variation19.phpt new file mode 100644 index 0000000000..ae614054f4 --- /dev/null +++ b/ext/tokenizer/tests/token_get_all_variation19.phpt @@ -0,0 +1,88 @@ +--TEST-- +Reconstructing a script using token_get_all() +--FILE-- +<?php + +$phpstr = ' +<?php + +// A php script to test token_get_all() + +/* a different +type of +comment */ + +// a class +class TestClass { + public function foo() { + echo "Called foo()\n"; + } +} + +$a = new TestClass(); +$a->foo(); + +for ($i = 0; $i < 10; $i++) { + echo "Loop iteration $i\n"; +} + +?>'; + +$token_array = token_get_all($phpstr); + +$script = ""; +// reconstruct a script (without open/close tags) from the token array +foreach ($token_array as $token) { + if (is_array($token)) { + if (strncmp($token[1], '<?php', 5) == 0) { + continue; + } + if (strncmp($token[1], '?>', 2) == 0) { + continue; + } + $script .= $token[1]; + } else { + $script .= $token; + } +} + +var_dump($script); + +eval($script); + +?> +--EXPECT-- +string(259) " + +// A php script to test token_get_all() + +/* a different +type of +comment */ + +// a class +class TestClass { + public function foo() { + echo "Called foo()\n"; + } +} + +$a = new TestClass(); +$a->foo(); + +for ($i = 0; $i < 10; $i++) { + echo "Loop iteration $i\n"; +} + +" +Called foo() +Loop iteration 0 +Loop iteration 1 +Loop iteration 2 +Loop iteration 3 +Loop iteration 4 +Loop iteration 5 +Loop iteration 6 +Loop iteration 7 +Loop iteration 8 +Loop iteration 9 |