mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
Adding tokenizer test
This commit is contained in:
parent
5e0afe8eb9
commit
4c2b3336a2
88
ext/tokenizer/tests/token_get_all_variation19.phpt
Normal file
88
ext/tokenizer/tests/token_get_all_variation19.phpt
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user