$xml = <<< EOXML
<?xml version="1.0" encoding="utf-8"?>
<courses>
- <!-- Hello World! -->
- <aNode>
- <childNode>
- <childlessNode />
- </childNode>
- </aNode>
+ <!-- Hello World! -->
+ <aNode>
+ <childNode>
+ <childlessNode />
+ </childNode>
+ </aNode>
</courses>
EOXML;
unlink($filename);
--EXPECT--
-int(151)
+int(181)
bool(true)
$xml = <<< EOXML
<?xml version="1.0" encoding="ISO-8859-1"?>
<courses>
- <course title="one">
- <notes>
- <note>c1n1</note>
- <note>c1n2</note>
- </notes>
- </course>
- <course title="two">
- <notes>
- <note>c2n1</note>
- <note>c2n2</note>
- </notes>
- </course>
+ <course title="one">
+ <notes>
+ <note>c1n1</note>
+ <note>c1n2</note>
+ </notes>
+ </course>
+ <course title="two">
+ <notes>
+ <note>c2n1</note>
+ <note>c2n2</note>
+ </notes>
+ </course>
</courses>
EOXML;
Start cloneNode test
node 0
Course: new title3:DOMElement
-~string(24) "
-
- c1n1
- c1n2
-
- "
+~string(57) "
+
+ c1n1
+ c1n2
+
+ "
node 1
Course: two:DOMElement
-~string(24) "
-
- c2n1
- c2n2
-
- "
+~string(57) "
+
+ c2n1
+ c2n2
+
+ "
node 2
Course: new title default:DOMElement
~string(0) ""
node 3
Course: new title true:DOMElement
-~string(24) "
-
- c1n1
- c1n2
-
- "
+~string(57) "
+
+ c1n1
+ c1n2
+
+ "
node 4
Course: new title false:DOMElement
~string(0) ""
$xml = <<< EOXML
<?xml version="1.0" encoding="ISO-8859-1"?>
<courses>
- <course title="one">
- <notes>
- <note>c1n1</note>
- <note>c1n2</note>
- </notes>
- </course>
- <course title="two">
- <notes>
- <note>c2n1</note>
- <note>c2n2</note>
- </notes>
- </course>
+ <course title="one">
+ <notes>
+ <note>c1n1</note>
+ <note>c1n2</note>
+ </notes>
+ </course>
+ <course title="two">
+ <notes>
+ <note>c2n1</note>
+ <note>c2n2</note>
+ </notes>
+ </course>
</courses>
EOXML;
"
node 3
Course: two:DOMElement
-~string(24) "
-
- c2n1
- c2n2
-
- "
+~string(57) "
+
+ c2n1
+ c2n2
+
+ "
node 2
Course: no title:DOMText
-~string(2) "
- "
+~string(5) "
+ "
node 1
Course: one:DOMElement
-~string(24) "
-
- c1n1
- c1n2
-
- "
+~string(57) "
+
+ c1n1
+ c1n2
+
+ "
node 0
Course: no title:DOMText
-~string(2) "
- "
+~string(5) "
+ "
after text removed it now has 2 nodes
node 0
Course: one:DOMElement
-~string(24) "
-
- c1n1
- c1n2
-
- "
+~string(57) "
+
+ c1n1
+ c1n2
+
+ "
node 1
Course: two:DOMElement
-~string(24) "
-
- c2n1
- c2n2
-
- "
+~string(57) "
+
+ c2n1
+ c2n2
+
+ "
$xml = <<< EOXML
<?xml version="1.0" encoding="ISO-8859-1"?>
<courses>
- <!-- Hello World! -->
+ <!-- Hello World! -->
</courses>
EOXML;
bool(true)
--- child 0 ---
DOMText
-string(2) "
- "
+string(5) "
+ "
--- child 1 ---
DOMComment
string(14) " Hello World! "
<?php
$xml = <<<XML
<foo>
- <bar>foobar</bar>
+ <bar>foobar</bar>
</foo>
XML;
$d = new domdocument;
[localName] =>
[baseURI] => %s
[textContent] =>
- foobar
+ foobar
)
var_dump(highlight_file('data:,<?php echo "test ?>'));
$data = '
-<?php
- class test {
- public $var = 1;
- private function foo() { echo "foo"; }
- public function bar() { var_dump(test::foo()); }
- }
+<?php
+class test {
+ public $var = 1;
+ private function foo() { echo "foo"; }
+ public function bar() { var_dump(test::foo()); }
+}
?>';
file_put_contents($filename, $data);
</span>
</code>bool(true)
<code><span style="color: #000000">
-<br /><span style="color: #0000BB"><?php <br /> </span><span style="color: #007700">class </span><span style="color: #0000BB">test </span><span style="color: #007700">{ <br /> public </span><span style="color: #0000BB">$var </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">; <br /> private function </span><span style="color: #0000BB">foo</span><span style="color: #007700">() { echo </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">; }<br /> public function </span><span style="color: #0000BB">bar</span><span style="color: #007700">() { </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">test</span><span style="color: #007700">::</span><span style="color: #0000BB">foo</span><span style="color: #007700">()); }<br /> } <br /></span><span style="color: #0000BB">?></span>
+<br /><span style="color: #0000BB"><?php<br /></span><span style="color: #007700">class </span><span style="color: #0000BB">test </span><span style="color: #007700">{<br /> public </span><span style="color: #0000BB">$var </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">; <br /> private function </span><span style="color: #0000BB">foo</span><span style="color: #007700">() { echo </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">; }<br /> public function </span><span style="color: #0000BB">bar</span><span style="color: #007700">() { </span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">test</span><span style="color: #007700">::</span><span style="color: #0000BB">foo</span><span style="color: #007700">()); }<br />}<br /></span><span style="color: #0000BB">?></span>
</span>
</code>bool(true)
Done
// defining array of octal formats
$formats =
- '%o %+o %-o
- %lo %Lo %4o %-4o
- %10.4o %-10.4o %.4o
- %\'#2o %\'2o %\'$2o %\'_2o
- %3$o %4$o %1$o %2$o';
+ '%o %+o %-o
+ %lo %Lo %4o %-4o
+ %10.4o %-10.4o %.4o
+ %\'#2o %\'2o %\'$2o %\'_2o
+ %3$o %4$o %1$o %2$o';
// Arrays of non octal values for the format defined in $format.
// Each sub array contains non octal values which correspond to each format in $format
-- Iteration 1 --
2 0 12
- 361100 o 1777777777777777775456 2322
+ 361100 o 1777777777777777775456 2322
- 30071 14 1777777777777777777764 1777777777777777416700
- 12 361100 2 0
+ 30071 14 1777777777777777777764 1777777777777777416700
+ 12 361100 2 0
-- Iteration 2 --
2 1777777777777777777776 2
- 361100 o 1777777777777720715133 57062645
+ 361100 o 1777777777777720715133 57062645
- 57060664 4475347 1777777777777721631371 1777777777777720717336
- 2 361100 2 1777777777777777777776
+ 57060664 4475347 1777777777777721631371 1777777777777720717336
+ 2 361100 2 1777777777777777777776
-- Iteration 3 --
0 0 0
- 173 o 1777777777777777777605 173
+ 173 o 1777777777777777777605 173
- 2322 0 $0 _0
- 0 173 0 0
+ 2322 0 $0 _0
+ 0 173 0 0
-- Iteration 4 --
1 1 1
- 1 o 1 1
+ 1 o 1 1
- #1 1 $1 _1
- 1 1 1 1
+ #1 1 $1 _1
+ 1 1 1 1
-- Iteration 5 --
1 1 0
- 1 o 0 1
+ 1 o 0 1
- #0 1 $1 _0
- 0 1 1 1
+ #0 1 $1 _0
+ 0 1 1 1
// defining array of different hexa formats
$formats =
- '%x %+x %-x
- %lx %Lx %4x %-4x
- %10.4x %-10.4x %.4x
- %\'#2x %\'2x %\'$2x %\'_2x
- %3$x %4$x %1$x %2$x';
+ '%x %+x %-x
+ %lx %Lx %4x %-4x
+ %10.4x %-10.4x %.4x
+ %\'#2x %\'2x %\'$2x %\'_2x
+ %3$x %4$x %1$x %2$x';
// Arrays of non hexa values for the format defined in $format.
// Each sub array contains non hexa values which correspond to each format in $format
-- Iteration 1 --
2 0 a
- 1e240 x fffffffffffffb2e 4d2
+ 1e240 x fffffffffffffb2e 4d2
- 3039 c fffffffffffffff4 fffffffffffe1dc0
- a 1e240 2 0
+ 3039 c fffffffffffffff4 fffffffffffe1dc0
+ a 1e240 2 0
-- Iteration 2 --
2 fffffffffffffffe 2
- 1e240 x ffffffffff439a5b bc65a5
+ 1e240 x ffffffffff439a5b bc65a5
- bc61b4 127ae7 ffffffffff4732f9 ffffffffff439ede
- 2 1e240 2 fffffffffffffffe
+ bc61b4 127ae7 ffffffffff4732f9 ffffffffff439ede
+ 2 1e240 2 fffffffffffffffe
-- Iteration 3 --
0 0 0
- 7b x ffffffffffffff85 7b
+ 7b x ffffffffffffff85 7b
- 4d2 0 $0 _0
- 0 7b 0 0
+ 4d2 0 $0 _0
+ 0 7b 0 0
-- Iteration 4 --
1 1 1
- 1 x 1 1
+ 1 x 1 1
- #1 1 $1 _1
- 1 1 1 1
+ #1 1 $1 _1
+ 1 1 1 1
-- Iteration 5 --
1 1 0
- 1 x 0 1
+ 1 x 0 1
- #0 1 $1 _0
- 0 1 1 1
+ #0 1 $1 _0
+ 0 1 1 1
// defining array of int formats
$formats =
- '%d %+d %-d
+ '%d %+d %-d
%ld %Ld %4d %-4d
%10.4d %-10.4d %.4d %04.4d
%\'#2d %\'2d %\'$2d %\'_2d
*** Testing vprintf() : int formats and non-integer values ***
-- Iteration 1 --
-2 +0 10
+2 +0 10
123456 d -1234 1234
20000000000 200000 4000 22000000
12345 12 -12 -123456
10 123456 2 0
-int(116)
+int(115)
-- Iteration 2 --
-0 +0 0
+0 +0 0
123 d -123 123
0 0 123456 0000
1234 0 $0 _0
0 123 0 0
-int(96)
+int(95)
-- Iteration 3 --
-1 +1 1
+1 +1 1
1 d 1 1
1 1 1 0001
#1 1 $1 _1
1 1 1 1
-int(85)
+int(84)
-- Iteration 4 --
-1 +1 0
+1 +1 0
1 d 0 1
1 0 1 0000
#0 1 $1 _0
0 1 1 1
-int(85)
+int(84)
// defining array of unsigned formats
$formats =
- '%u %+u %-u
- %lu %Lu %4u %-4u
- %10.4u %-10.4u %.4u
- %\'#2u %\'2u %\'$2u %\'_2u
- %3$u %4$u %1$u %2$u';
+ '%u %+u %-u
+ %lu %Lu %4u %-4u
+ %10.4u %-10.4u %.4u
+ %\'#2u %\'2u %\'$2u %\'_2u
+ %3$u %4$u %1$u %2$u';
// Arrays of signed and other type of values for the format defined in $format.
// Each sub array contains signed values which correspond to each format in $format
*** Testing vsprintf() : unsigned formats and signed & other types of values ***
-- Iteration 1 --
-string(142) "2 0 10
- 123456 u 1234 20000000000
- 2000000000000 22000000000000 12345
- 12 18446744073709551604 18446744073709428160 _3
- 10 123456 2 0"
+string(145) "2 0 10
+ 123456 u 1234 20000000000
+ 2000000000000 22000000000000 12345
+ 12 18446744073709551604 18446744073709428160 _3
+ 10 123456 2 0"
-- Iteration 2 --
-string(97) "0 0 0
- 123 u 18446744073709551493 123
- 0 0 0
- 1234 0 $0 _0
- 0 123 0 0"
+string(100) "0 0 0
+ 123 u 18446744073709551493 123
+ 0 0 0
+ 1234 0 $0 _0
+ 0 123 0 0"
-- Iteration 3 --
-string(75) "1 1 1
- 1 u 1 1
- 1 1 1
- #1 1 $1 _1
- 1 1 1 1"
+string(78) "1 1 1
+ 1 u 1 1
+ 1 1 1
+ #1 1 $1 _1
+ 1 1 1 1"
-- Iteration 4 --
-string(75) "1 1 0
- 1 u 0 1
- 1 1 0
- #0 1 $1 _0
- 0 1 1 1"
+string(78) "1 1 0
+ 1 u 0 1
+ 1 1 0
+ #0 1 $1 _0
+ 0 1 1 1"
Done
// defining array of string formats
$formats =
- '%s %+s %-s
- %ls %4s %-4s
- %10.4s %-10.4s %04s %04.4s
- %\'#2s %\'2s %\'$2s %\'_2s
- %3$s %4$s %1$s %2$s';
+ '%s %+s %-s
+ %ls %4s %-4s
+ %10.4s %-10.4s %04s %04.4s
+ %\'#2s %\'2s %\'$2s %\'_2s
+ %3$s %4$s %1$s %2$s';
// Arrays of non string values for the format defined in $format.
// Each sub array contains non string values which correspond to each format in $format
*** Testing vsprintf() : string formats and non-string values ***
-- Iteration 1 --
-string(173) "2.2 0.2 10.2
- 123456.234 -1234.6789 1234.6789
- 2123 2765 -27654321000 2123
- 12345.78 12.000000011111 -12.00000111111 -123456.234
- 10.2 123456.234 2.2 0.2"
+string(177) "2.2 0.2 10.2
+ 123456.234 -1234.6789 1234.6789
+ 2123 2765 -27654321000 2123
+ 12345.78 12.000000011111 -12.00000111111 -123456.234
+ 10.2 123456.234 2.2 0.2"
-- Iteration 2 --
-string(129) "2 -2 2
- 123456 -12346789 12346789
- 1232 2000 -40000 2221
- 12345780 1211111 -12111111 -12345634
- 2 123456 2 -2"
+string(133) "2 -2 2
+ 123456 -12346789 12346789
+ 1232 2000 -40000 2221
+ 12345780 1211111 -12111111 -12345634
+ 2 123456 2 -2"
-- Iteration 3 --
Warning: Array to string conversion in %s on line %d
Warning: Array to string conversion in %s on line %d
-string(128) "Array Array Array
- Array Array Array
- Arra Arra Array Arra
- Array Array Array Array
- Array Array Array Array"
+string(132) "Array Array Array
+ Array Array Array
+ Arra Arra Array Arra
+ Array Array Array Array
+ Array Array Array Array"
-- Iteration 4 --
-string(78) "1 1
- 1 1
- 1 0001 0000
- #0 1 $1 _0
- 1 1 1"
+string(82) "1 1
+ 1 1
+ 1 0001 0000
+ #0 1 $1 _0
+ 1 1 1"
// if..elseif....else
echo "-- with if..elseif..else..tokens --\n";
-$source = '<?php
+$source = '<?php
if($a == true) {
echo "$a = true";
}
--EXPECTF--
*** Testing token_get_all() : for control structure tokens ***
-- with if..elseif..else..tokens --
-array(49) {
+array(48) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
string(1) "("
- [4]=>
+ [3]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [7]=>
+ [6]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
string(1) ")"
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [11]=>
+ [10]=>
string(1) "{"
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [14]=>
+ [13]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [15]=>
+ [14]=>
string(1) """
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [17]=>
+ [16]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [18]=>
+ [17]=>
string(1) """
- [19]=>
+ [18]=>
string(1) ";"
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [21]=>
+ [20]=>
string(1) "}"
- [22]=>
+ [21]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [24]=>
+ [23]=>
string(1) "("
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [28]=>
+ [27]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [29]=>
+ [28]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [30]=>
+ [29]=>
string(1) ")"
- [31]=>
+ [30]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [32]=>
+ [31]=>
string(1) "{"
- [33]=>
+ [32]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [34]=>
+ [33]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [35]=>
+ [34]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [36]=>
+ [35]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [37]=>
+ [36]=>
string(1) ";"
- [38]=>
+ [37]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [39]=>
+ [38]=>
string(1) "}"
- [40]=>
+ [39]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [41]=>
+ [40]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [42]=>
+ [41]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [43]=>
+ [42]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [44]=>
+ [43]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [45]=>
+ [44]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [46]=>
+ [45]=>
string(1) ";"
- [47]=>
+ [46]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [48]=>
+ [47]=>
array(3) {
[0]=>
int(%d)
// parsing __FILE__ token
echo "-- with FILE --\n";
-$source = "<?php
+$source = "<?php
\$fp = fopen(__FILE__, 'r');
?>";
var_dump( token_get_all($source));
--EXPECTF--
*** Testing token_get_all() : with language constants ***
-- with FILE --
-array(16) {
+array(15) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [4]=>
+ [3]=>
string(1) "="
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [7]=>
+ [6]=>
string(1) "("
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
string(1) ","
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [11]=>
+ [10]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [12]=>
+ [11]=>
string(1) ")"
- [13]=>
+ [12]=>
string(1) ";"
- [14]=>
+ [13]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
protected var $c;
static $d;
final $e = 10;
-
+
abstract public function myFunction($a);
}
class ChildClass extends MyClass implements MyInterface
[0]=>
int(%d)
[1]=>
- string(6) "
-
+ string(4) "
+
"
[2]=>
int(12)
// with valid php tags and invalid tokens
echo "-- with valid PHP tags & invlid tokens --\n";
-$source = '<?php
+$source = '<?php
struct myStruct {
variable $a;
method() { display $a; }
// with invalid open tag for testing entire source to be unknown token
echo "-- with invlalid PHP open tag & valid tokens --\n";
-$source = '<pli
+$source = '<pli
echo "hello world"; ?>';
var_dump( token_get_all($source));
--EXPECTF--
*** Testing token_get_all() : with invalid/unknown tokens ***
-- with valid PHP tags & invlid tokens --
-array(29) {
+array(28) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [4]=>
+ [3]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
string(1) "{"
- [7]=>
+ [6]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [9]=>
+ [8]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [11]=>
+ [10]=>
string(1) ";"
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [14]=>
+ [13]=>
string(1) "("
- [15]=>
+ [14]=>
string(1) ")"
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [17]=>
+ [16]=>
string(1) "{"
- [18]=>
+ [17]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [21]=>
+ [20]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [22]=>
+ [21]=>
string(1) ";"
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [24]=>
+ [23]=>
string(1) "}"
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [26]=>
+ [25]=>
string(1) "}"
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [28]=>
+ [27]=>
array(3) {
[0]=>
int(%d)
[0]=>
int(%d)
[1]=>
- string(28) "<pli
+ string(27) "<pli
echo "hello world"; ?>"
[2]=>
int(1)
echo "*** Testing token_get_all() : with heredoc source string ***\n";
$source = <<<EOT
-<?=
+<?=
\$a = 2;
\$b = 1;
\$c = <<<EOS
- This is to test
+ This is to test
heredoc string
EOS;
echo \$a + \$b;
[0]=>
int(%d)
[1]=>
- string(4) "
+ string(3) "
"
[2]=>
int(1)
[0]=>
int(%d)
[1]=>
- string(36) " This is to test
+ string(35) " This is to test
heredoc string
"
[2]=>
echo "*** Testing token_get_all() : 'source' string with different comparison operators ***\n";
// comparison operators : '==', '===', '>=', '<=', '!=', '!==', '<>'
-$source = '<?php
-if($a == 0)
+$source = '<?php
+if($a == 0)
echo "== 0";
elseif($a === 2)
echo "=== 2";
?>
--EXPECTF--
*** Testing token_get_all() : 'source' string with different comparison operators ***
-array(89) {
+array(88) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
string(1) "("
- [4]=>
+ [3]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
- int(%d)
+ int(286)
[1]=>
string(2) "=="
[2]=>
int(2)
}
- [7]=>
+ [6]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
string(1) ")"
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(4) "
+ string(3) "
"
[2]=>
int(2)
}
- [11]=>
+ [10]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [14]=>
+ [13]=>
string(1) ";"
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [17]=>
+ [16]=>
string(1) "("
- [18]=>
+ [17]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [21]=>
+ [20]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [22]=>
+ [21]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [23]=>
+ [22]=>
string(1) ")"
- [24]=>
+ [23]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [28]=>
+ [27]=>
string(1) ";"
- [29]=>
+ [28]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [30]=>
+ [29]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [31]=>
+ [30]=>
string(1) "("
- [32]=>
+ [31]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [33]=>
+ [32]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [34]=>
+ [33]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [35]=>
+ [34]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [36]=>
+ [35]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [37]=>
+ [36]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [38]=>
+ [37]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [39]=>
+ [38]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [40]=>
+ [39]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [41]=>
+ [40]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [42]=>
+ [41]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [43]=>
+ [42]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [44]=>
+ [43]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [45]=>
+ [44]=>
string(1) ")"
- [46]=>
+ [45]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [47]=>
+ [46]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [48]=>
+ [47]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [49]=>
+ [48]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [50]=>
+ [49]=>
string(1) ";"
- [51]=>
+ [50]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [52]=>
+ [51]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [53]=>
+ [52]=>
string(1) "("
- [54]=>
+ [53]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [55]=>
+ [54]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [56]=>
+ [55]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [57]=>
+ [56]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [58]=>
+ [57]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [59]=>
+ [58]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [60]=>
+ [59]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [61]=>
+ [60]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [62]=>
+ [61]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [63]=>
+ [62]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [64]=>
+ [63]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [65]=>
+ [64]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [66]=>
+ [65]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [67]=>
+ [66]=>
string(1) ")"
- [68]=>
+ [67]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [69]=>
+ [68]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [70]=>
+ [69]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [71]=>
+ [70]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [72]=>
+ [71]=>
string(1) ";"
- [73]=>
+ [72]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [74]=>
+ [73]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [75]=>
+ [74]=>
string(1) "("
- [76]=>
+ [75]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [77]=>
+ [76]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [78]=>
+ [77]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [79]=>
+ [78]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [80]=>
+ [79]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [81]=>
+ [80]=>
string(1) ")"
- [82]=>
+ [81]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [83]=>
+ [82]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [84]=>
+ [83]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [85]=>
+ [84]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [86]=>
+ [85]=>
string(1) ";"
- [87]=>
+ [86]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [88]=>
+ [87]=>
array(3) {
[0]=>
int(%d)
echo "*** Testing token_get_all() : 'source' string with different assignment operators ***\n";
// assignment operators : '+=', '-=', '*=', '/=', '%=', '&=', '|=', '^=', '>>=', '<<=', '.='
-$source = '<?php
+$source = '<?php
$a = 1, $b = 2;
$c += $b;
$b -= $a;
?>
--EXPECTF--
*** Testing token_get_all() : 'source' string with different assignment operators ***
-array(94) {
+array(93) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [4]=>
+ [3]=>
string(1) "="
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [7]=>
+ [6]=>
string(1) ","
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [11]=>
+ [10]=>
string(1) "="
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [14]=>
+ [13]=>
string(1) ";"
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [17]=>
+ [16]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [18]=>
+ [17]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [21]=>
+ [20]=>
string(1) ";"
- [22]=>
+ [21]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [24]=>
+ [23]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [28]=>
+ [27]=>
string(1) ";"
- [29]=>
+ [28]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [30]=>
+ [29]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [31]=>
+ [30]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [32]=>
+ [31]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [33]=>
+ [32]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [34]=>
+ [33]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [35]=>
+ [34]=>
string(1) ";"
- [36]=>
+ [35]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [37]=>
+ [36]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [38]=>
+ [37]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [39]=>
+ [38]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [40]=>
+ [39]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [41]=>
+ [40]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [42]=>
+ [41]=>
string(1) ";"
- [43]=>
+ [42]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [44]=>
+ [43]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [45]=>
+ [44]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [46]=>
+ [45]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [47]=>
+ [46]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [48]=>
+ [47]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [49]=>
+ [48]=>
string(1) ";"
- [50]=>
+ [49]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [51]=>
+ [50]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [52]=>
+ [51]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [53]=>
+ [52]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [54]=>
+ [53]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [55]=>
+ [54]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [56]=>
+ [55]=>
string(1) ";"
- [57]=>
+ [56]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [58]=>
+ [57]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [59]=>
+ [58]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [60]=>
+ [59]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [61]=>
+ [60]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [62]=>
+ [61]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [63]=>
+ [62]=>
string(1) ";"
- [64]=>
+ [63]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [65]=>
+ [64]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [66]=>
+ [65]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [67]=>
+ [66]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [68]=>
+ [67]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [69]=>
+ [68]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [70]=>
+ [69]=>
string(1) ";"
- [71]=>
+ [70]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [72]=>
+ [71]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [73]=>
+ [72]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [74]=>
+ [73]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [75]=>
+ [74]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [76]=>
+ [75]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [77]=>
+ [76]=>
string(1) ";"
- [78]=>
+ [77]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(11)
}
- [79]=>
+ [78]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [80]=>
+ [79]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [81]=>
+ [80]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [82]=>
+ [81]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [83]=>
+ [82]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [84]=>
+ [83]=>
string(1) ";"
- [85]=>
+ [84]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(12)
}
- [86]=>
+ [85]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [87]=>
+ [86]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [88]=>
+ [87]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [89]=>
+ [88]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [90]=>
+ [89]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [91]=>
+ [90]=>
string(1) ";"
- [92]=>
+ [91]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(13)
}
- [93]=>
+ [92]=>
array(3) {
[0]=>
int(%d)
echo "*** Testing token_get_all() : 'source' string with different increment/decrement operators ***\n";
// increment/decrement operators : '++' , '--'
-$source = '<?php
+$source = '<?php
$a = 10, $b = 5;
$a++;
$b--;
echo $a;
?>';
-var_dump( token_get_all($source));
+var_dump(token_get_all($source));
echo "Done"
?>
--EXPECTF--
*** Testing token_get_all() : 'source' string with different increment/decrement operators ***
-array(30) {
+array(29) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [4]=>
+ [3]=>
string(1) "="
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [7]=>
+ [6]=>
string(1) ","
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [11]=>
+ [10]=>
string(1) "="
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [14]=>
+ [13]=>
string(1) ";"
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [17]=>
+ [16]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [18]=>
+ [17]=>
string(1) ";"
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [21]=>
+ [20]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [22]=>
+ [21]=>
string(1) ";"
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [24]=>
+ [23]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [27]=>
+ [26]=>
string(1) ";"
- [28]=>
+ [27]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [29]=>
+ [28]=>
array(3) {
[0]=>
int(%d)
echo "*** Testing token_get_all() : 'source' string with different type casting operators ***\n";
// type casting operators : (int), (integer), (float), (real), (double), (string), (array), (object), (bool), (boolean),(unset)
-$source = '<?php
+$source = '<?php
$a = 1, $b = 10.5
$c = (int)$b + $a;
$d = (float)$a + $b;
?>
--EXPECTF--
*** Testing token_get_all() : 'source' string with different type casting operators ***
-array(108) {
+array(107) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [4]=>
+ [3]=>
string(1) "="
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [7]=>
+ [6]=>
string(1) ","
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [9]=>
+ [8]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [10]=>
+ [9]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [11]=>
+ [10]=>
string(1) "="
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [14]=>
+ [13]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [17]=>
+ [16]=>
string(1) "="
- [18]=>
+ [17]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [21]=>
+ [20]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [22]=>
+ [21]=>
string(1) "+"
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [24]=>
+ [23]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [25]=>
+ [24]=>
string(1) ";"
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(%d)
}
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [28]=>
+ [27]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [29]=>
+ [28]=>
string(1) "="
- [30]=>
+ [29]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [31]=>
+ [30]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [32]=>
+ [31]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [33]=>
+ [32]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [34]=>
+ [33]=>
string(1) "+"
- [35]=>
+ [34]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [36]=>
+ [35]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [37]=>
+ [36]=>
string(1) ";"
- [38]=>
+ [37]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [39]=>
+ [38]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [40]=>
+ [39]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [41]=>
+ [40]=>
string(1) "="
- [42]=>
+ [41]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [43]=>
+ [42]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [44]=>
+ [43]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [45]=>
+ [44]=>
string(1) "."
- [46]=>
+ [45]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [47]=>
+ [46]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [48]=>
+ [47]=>
string(1) ";"
- [49]=>
+ [48]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(5)
}
- [50]=>
+ [49]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [51]=>
+ [50]=>
string(1) "("
- [52]=>
+ [51]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [53]=>
+ [52]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [54]=>
+ [53]=>
string(1) ")"
- [55]=>
+ [54]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [56]=>
+ [55]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [57]=>
+ [56]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [58]=>
+ [57]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [59]=>
+ [58]=>
string(1) ";"
- [60]=>
+ [59]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [61]=>
+ [60]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [62]=>
+ [61]=>
string(1) "("
- [63]=>
+ [62]=>
string(1) "!"
- [64]=>
+ [63]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [65]=>
+ [64]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [66]=>
+ [65]=>
string(1) ")"
- [67]=>
+ [66]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [68]=>
+ [67]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [69]=>
+ [68]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [70]=>
+ [69]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [71]=>
+ [70]=>
string(1) ";"
- [72]=>
+ [71]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [73]=>
+ [72]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [74]=>
+ [73]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [75]=>
+ [74]=>
string(1) "="
- [76]=>
+ [75]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [77]=>
+ [76]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [78]=>
+ [77]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [79]=>
+ [78]=>
string(1) "+"
- [80]=>
+ [79]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [81]=>
+ [80]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [82]=>
+ [81]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [83]=>
+ [82]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [84]=>
+ [83]=>
string(1) ";"
- [85]=>
+ [84]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [86]=>
+ [85]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [87]=>
+ [86]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [88]=>
+ [87]=>
string(1) "="
- [89]=>
+ [88]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [90]=>
+ [89]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [91]=>
+ [90]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [92]=>
+ [91]=>
string(1) "-"
- [93]=>
+ [92]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [94]=>
+ [93]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [95]=>
+ [94]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [96]=>
+ [95]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [97]=>
+ [96]=>
string(1) ";"
- [98]=>
+ [97]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [99]=>
+ [98]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [100]=>
+ [99]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [101]=>
+ [100]=>
string(1) "="
- [102]=>
+ [101]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [103]=>
+ [102]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [104]=>
+ [103]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [105]=>
+ [104]=>
string(1) ";"
- [106]=>
+ [105]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [107]=>
+ [106]=>
array(3) {
[0]=>
int(%d)
// types of comments: '//', '/* */', '#' & /** */
-$source = '<?php
+$source = '<?php
/** Performing addition operation on given values :
* a, b
*/
$b = 20;
$c = true; // bool value
-/*
- * Performing operation on $a,$b
+/*
+ * Performing operation on $a,$b
* display result
*/
$c = $a + $b;
?>
--EXPECTF--
*** Testing token_get_all() : 'source' string with different comments ***
-array(51) {
+array(50) {
[0]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(6) "<?php "
- [2]=>
- int(1)
- }
- [1]=>
- array(3) {
- [0]=>
- int(%d)
- [1]=>
- string(1) "
+ string(6) "<?php
"
[2]=>
int(1)
}
- [2]=>
+ [1]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(2)
}
- [3]=>
+ [2]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(4)
}
- [4]=>
+ [3]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(6)
}
- [5]=>
+ [4]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [6]=>
+ [5]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [7]=>
+ [6]=>
string(1) "="
- [8]=>
+ [7]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [9]=>
+ [8]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [10]=>
+ [9]=>
string(1) ";"
- [11]=>
+ [10]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(7)
}
- [12]=>
+ [11]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [13]=>
+ [12]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [14]=>
+ [13]=>
string(1) "="
- [15]=>
+ [14]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [16]=>
+ [15]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [17]=>
+ [16]=>
string(1) ";"
- [18]=>
+ [17]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(8)
}
- [19]=>
+ [18]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [20]=>
+ [19]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [21]=>
+ [20]=>
string(1) "="
- [22]=>
+ [21]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [23]=>
+ [22]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [24]=>
+ [23]=>
string(1) ";"
- [25]=>
+ [24]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [26]=>
+ [25]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(9)
}
- [27]=>
+ [26]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(10)
}
- [28]=>
+ [27]=>
array(3) {
[0]=>
int(%d)
[1]=>
- string(59) "/*
- * Performing operation on $a,$b
+ string(57) "/*
+ * Performing operation on $a,$b
* display result
*/"
[2]=>
int(11)
}
- [29]=>
+ [28]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(14)
}
- [30]=>
+ [29]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [31]=>
+ [30]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [32]=>
+ [31]=>
string(1) "="
- [33]=>
+ [32]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [34]=>
+ [33]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [35]=>
+ [34]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [36]=>
+ [35]=>
string(1) "+"
- [37]=>
+ [36]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [38]=>
+ [37]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [39]=>
+ [38]=>
string(1) ";"
- [40]=>
+ [39]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(15)
}
- [41]=>
+ [40]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(16)
}
- [42]=>
+ [41]=>
string(1) "("
- [43]=>
+ [42]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(16)
}
- [44]=>
+ [43]=>
string(1) ")"
- [45]=>
+ [44]=>
string(1) ";"
- [46]=>
+ [45]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(16)
}
- [47]=>
+ [46]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(16)
}
- [48]=>
+ [47]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(17)
}
- [49]=>
+ [48]=>
array(3) {
[0]=>
int(%d)
[2]=>
int(18)
}
- [50]=>
+ [49]=>
array(3) {
[0]=>
int(%d)
which we now use as default
further investigation has shown that not only line count
-is skippet on CDATA sections but that libxml does also
+is skipped on CDATA sections but that libxml does also
show different column numbers and byte positions depending
on context and in opposition to what one would expect to
see and what good old Expat reported just fine ...
<data>
<![CDATA[
multi
-line
+line
CDATA
block
]]>
<data>
<!-- ATA[
multi
-line
+line
CDATA
block
-->
<data>
-!-- ATA[
multi
-line
+line
CDATA
block
---
--EXPECTF--
CDATA
<DATA> at line 2, col %d (byte 9)
-</DATA> at line 9, col %d (byte 56)
+</DATA> at line 9, col %d (byte 55)
Comment
<DATA> at line 2, col %d (byte 9)
-</DATA> at line 9, col %d (byte 56)
+</DATA> at line 9, col %d (byte 55)
Text
<DATA> at line 2, col %d (byte 9)
-</DATA> at line 9, col %d (byte 56)
+</DATA> at line 9, col %d (byte 55)