summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Seear <stevseea@php.net>2008-03-19 17:43:50 +0000
committerSteve Seear <stevseea@php.net>2008-03-19 17:43:50 +0000
commit4c2b3336a21a2601cfd0169ac3069d5ccf93bf1e (patch)
tree2fb812ea3dfa6f44ed0d2fc946c75cdf67ebfe1a
parent5e0afe8eb9716e1f3e566a9602bac44000784f4f (diff)
downloadphp-git-4c2b3336a21a2601cfd0169ac3069d5ccf93bf1e.tar.gz
Adding tokenizer test
-rw-r--r--ext/tokenizer/tests/token_get_all_variation19.phpt88
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