Passed: 74
Failed: 7
Not Supported: 89
Need manual review: 25
Missing expected result: 0
Parsing issues: 24
Regressions: 0
regressions
passed
Outcome: pass
Result: Yes
Expected: Yes
K Cell:
.K
Outcome: pass
Result: 123456789
Expected: 123456789
K Cell:
.K
Outcome: pass
Result: good
Expected: good
K Cell:
.K
Outcome: pass
Result: good
Expected: good
K Cell:
.K
Outcome: pass
Result: good
Expected: good
K Cell:
.K
Outcome: pass
Result: good
Expected: good
K Cell:
.K
Outcome: pass
Result: 1 2 3 4 5 6 7 8 9
Expected: 1 2 3 4 5 6 7 8 9
K Cell:
.K
Outcome: pass
Result: 3
Expected: 3
K Cell:
.K
Outcome: pass
Result: 2
Expected: 2
K Cell:
.K
Outcome: pass
Result: 4 Hello 4
Expected: 4 Hello 4
K Cell:
.K
Outcome: pass
Result: HelloHello
Expected: HelloHello
K Cell:
.K
Outcome: pass
Result: 1
Expected: 1
K Cell:
.K
Outcome: pass
Result: In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
Expected: In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
In branch 1
Inner default...
blah=100
K Cell:
.K
Outcome: pass
Result: i=0
In branch 0
i=1
In branch 1
i=2
In branch 2
i=3
In branch 3
hi
Expected: i=0
In branch 0
i=1
In branch 1
i=2
In branch 2
i=3
In branch 3
hi
K Cell:
.K
Outcome: pass
Result: zero
one
2
3
4
5
6
7
8
9
zero
one
2
3
4
5
6
7
8
9
zero
one
2
3
4
5
6
7
8
9
Expected: zero
one
2
3
4
5
6
7
8
9
zero
one
2
3
4
5
6
7
8
9
zero
one
2
3
4
5
6
7
8
9
K Cell:
.K
Outcome: pass
Result: 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 3 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 2 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 3 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
Expected: 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 3 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 2 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 3 a 3 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 4 a 4 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 5 a 5 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 6 a 6 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
b 7 a 7 a 8 a 9
b 10
b 9 a 9
b 10
b 8 a 8 a 9
b 10
b 9 a 9
b 10
K Cell:
.K
Outcome: pass
Result: 321
Expected: 321
K Cell:
.K
Outcome: pass
Result: success
Expected: success
K Cell:
.K
Outcome: pass
Result: OK
Expected: OK
K Cell:
.K
Outcome: pass
Result: If: 11
While: 12346789
For: 0123401234
Switch: 1
===DONE===
Expected: If: 11
While: 12346789
For: 0123401234
Switch: 1
===DONE===
K Cell:
.K
Outcome: pass
Result: There was an exception: 'This is an exception!'
Expected: There was an exception: 'This is an exception!'
K Cell:
.K
Outcome: pass
Result: foo
Expected: foo
K Cell:
.K
Outcome: pass
Result: bar
Expected: bar
K Cell:
.K
Outcome: pass
Result: 0
1
===DONE===
Expected: 0
1
===DONE===
K Cell:
.K
Outcome: pass
Result: Hello world
Expected: Hello world
K Cell:
.K
Outcome: pass
Result: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
object(foo)#%d (1) {
["fubar"]=>
string(5) "fubar"
}
string(5) "fubar"
string(5) "fubar"
object(foo)#%d (1) {
["fubar"]=>
string(5) "fubar"
}
string(5) "fubar"
string(5) "fubar"
Expected: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
object(foo)#%d (1) {
["fubar"]=>
string(5) "fubar"
}
string(5) "fubar"
string(5) "fubar"
object(foo)#%d (1) {
["fubar"]=>
string(5) "fubar"
}
string(5) "fubar"
string(5) "fubar"
K Cell:
.K
Outcome: pass
Result: Begin
Array
(
[123]=> 123
)
Array
(
[123]=> 123
)
Array
(
[123]=> 123
)
Done
Expected: Begin
Array
(
[123] => 123
)
Array
(
[123] => 123
)
Array
(
[123] => 123
)
Done
K Cell:
.K
Outcome: pass
Result: string(3) "one"
bool(false)
Expected: string(3) "one"
bool(false)
K Cell:
.K
Outcome: pass
Result: Unsupported feature: 'assert' not defined!
Expected:
K Cell:
.K
Outcome: pass
Result: (a => 1)
(b => 2)
(c => 3)
Expected: (a => 1)
(b => 2)
(c => 3)
K Cell:
.K
Outcome: pass
Result: Fatal error: Cannot re-assign $this in %s on line %d
Expected: Fatal error: Cannot re-assign $this in %s on line %d
K Cell:
.K
Outcome: pass
Result: A Object
(
)
Expected: A Object
(
)
K Cell:
.K
Outcome: pass
Result: OK
OK
Expected: OK
OK
K Cell:
.K
Outcome: pass
Result: array(1) {
[1]=>
int(1)
}
bool(true)
Expected: array(1) {
[1]=>
int(1)
}
bool(true)
K Cell:
.K
Outcome: pass
Result: int(0)
int(0)
int(0)
int(0)
Expected: int(%i)
int(%i)
int(%i)
int(%i)
K Cell:
.K
Outcome: pass
Result: boolean
Expected: boolean
K Cell:
.K
Outcome: pass
Result: Alive!
Expected: Alive!
K Cell:
.K
Outcome: pass
Result: 0
0
0
0
0
0
Expected: 0
0
0
0
0
0
K Cell:
.K
Outcome: pass
Result: 1
Expected: 1
K Cell:
.K
Outcome: pass
Result: Array
(
[0]=> false
[1]=> true
)
----------
Array
(
[0]=> false
[1]=> true
)
Expected: Array
(
[0] => false
[1] => true
)
----------
Array
(
[0] => false
[1] => true
)
K Cell:
.K
Outcome: pass
Result: #1
#
#1
Expected: #1##1
K Cell:
.K
Outcome: pass
Result: DONE
Expected: DONE
K Cell:
.K
Outcome: pass
Result: #teste
#teste2
#ola
uhm # ah
e este, # hein?
Expected: #teste
#teste2
#ola
uhm # ah
e este, # hein?
K Cell:
.K
Outcome: pass
Result: Simple test for standard compare object handler
-- The following compare should return TRUE --
bool(true)
-- All the following compares should return FALSE --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
===DONE===
Expected: Simple test for standard compare object handler
-- The following compare should return TRUE --
bool(true)
-- All the following compares should return FALSE --
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
bool(false)
===DONE===
K Cell:
.K
Outcome: pass
Result: bool(true)
bool(true)
bool(true)
Expected: bool(true)
bool(true)
bool(true)
K Cell:
.K
Outcome: pass
Result: Good call
Good call
Expect 15 and get...15
array(2) {
[0]=>
array(1) {
[0]=>
int(10)
}
[1]=>
int(3)
}
Expected: Good call
Good call
Expect 15 and get...15
array(2) {
[0]=>
array(1) {
[0]=>
int(10)
}
[1]=>
int(3)
}
K Cell:
.K
Outcome: pass
Result: i1
i2
i3
i4
array(6) {
[0]=>
int(10)
[1]=>
int(11)
[2]=>
int(0)
[3]=>
int(30)
[4]=>
int(40)
[5]=>
int(3)
}
Expected: i1
i2
i3
i4
array(6) {
[0]=>
int(10)
[1]=>
int(11)
[2]=>
int(0)
[3]=>
int(30)
[4]=>
int(40)
[5]=>
int(3)
}
K Cell:
.K
Outcome: pass
Result: i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
Expected: i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
K Cell:
.K
Outcome: pass
Result: i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
Expected: i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
i1
i2
i3
i4
i5
i6
array(1) {
[0]=>
array(1) {
[0]=>
int(-2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
array(1) {
[0]=>
array(1) {
[0]=>
int(2)
}
}
K Cell:
.K
Outcome: pass
Result: Function call args:
f(0) f(1) bool(true)
f(0) f(1) bool(true)
f(0) f(1) bool(false)
f(0) f(1) bool(false)
Array indices:
bool(true)
bool(true)
bool(false)
bool(false)
Expected: Function call args:
f(0) f(1) bool(true)
f(0) f(1) bool(true)
f(0) f(1) bool(false)
f(0) f(1) bool(false)
Array indices:
bool(true)
bool(true)
bool(false)
bool(false)
K Cell:
.K
Outcome: pass
Result: 1)goodgood
2)goodgood
3)badgood
4)goodgood
5)badgood
6)goodgood
7)goodgood
8)goodgood
9)1
10)-1
11)0
12)0
13)0
14)0
15)400
16)400
17)300
18)300
19)500
20)800
21)220
22)600
23)210
24)600
Expected: 1)goodgood
2)goodgood
3)badgood
4)goodgood
5)badgood
6)goodgood
7)goodgood
8)goodgood
9)1
10)-1
11)0
12)0
13)0
14)0
15)400
16)400
17)300
18)300
19)500
20)800
21)220
22)600
23)210
24)600
K Cell:
.K
Outcome: pass
Result: 1
2
3
4
5
===DONE===
Expected: 1
2
3
4
5
===DONE===
K Cell:
.K
Outcome: pass
Result: Array
(
[1]=> one
[2]=> two
[3]=> three
)
Array
(
[1]=> 1
[2]=> 2
[3]=> 3
)
Expected: Array
(
[1] => one
[2] => two
[3] => three
)
Array
(
[1] => 1
[2] => 2
[3] => 3
)
K Cell:
.K
Outcome: pass
Result: string(1) "a"
string(1) "b"
string(1) "c"
int(0)
string(1) "a"
int(1)
string(1) "b"
int(2)
string(1) "c"
int(2)
string(1) "c"
string(1) "d"
string(1) "e"
string(1) "f"
int(0)
string(1) "d"
int(1)
string(1) "e"
int(2)
string(1) "f"
int(2)
string(1) "f"
bool(false)
bool(false)
Expected: string(1) "a"
string(1) "b"
string(1) "c"
int(0)
string(1) "a"
int(1)
string(1) "b"
int(2)
string(1) "c"
int(2)
string(1) "c"
string(1) "d"
string(1) "e"
string(1) "f"
int(0)
string(1) "d"
int(1)
string(1) "e"
int(2)
string(1) "f"
int(2)
string(1) "f"
bool(false)
bool(false)
K Cell:
.K
Outcome: pass
Result: array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "b"
}
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
array(1) {
[0]=>
string(1) "c"
}
int(0)
array(1) {
[0]=>
string(1) "a"
}
int(1)
array(1) {
[0]=>
string(1) "b"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}
Expected: array(1) {
[0]=>
string(1) "a"
}
array(1) {
[0]=>
string(1) "b"
}
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
array(1) {
[0]=>
string(1) "c"
}
int(0)
array(1) {
[0]=>
string(1) "a"
}
int(1)
array(1) {
[0]=>
string(1) "b"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
int(2)
array(1) {
[0]=>
string(1) "c"
}
K Cell:
.K
Outcome: pass
Result: After changing $a directly, $v@0 is: changed.0
After changing $a directly, $v@1 is: changed.1
After changing $a directly, $v@2 is: changed.2
Expected: After changing $a directly, $v@0 is: changed.0
After changing $a directly, $v@1 is: changed.1
After changing $a directly, $v@2 is: changed.2
K Cell:
.K
Outcome: pass
Result: Simple loop.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(1) "a"
string(10) "Original a"
string(1) "b"
string(10) "Original b"
string(1) "c"
string(10) "Original c"
Check key and value after the loop.
string(1) "c"
string(10) "Original c"
Object instantiated inside loop.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(1) "a"
string(10) "Original a"
string(1) "b"
string(10) "Original b"
string(1) "c"
string(10) "Original c"
Check key and value after the loop.
string(1) "c"
string(10) "Original c"
Expected: Simple loop.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(1) "a"
string(10) "Original a"
string(1) "b"
string(10) "Original b"
string(1) "c"
string(10) "Original c"
Check key and value after the loop.
string(1) "c"
string(10) "Original c"
Object instantiated inside loop.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(1) "a"
string(10) "Original a"
string(1) "b"
string(10) "Original b"
string(1) "c"
string(10) "Original c"
Check key and value after the loop.
string(1) "c"
string(10) "Original c"
K Cell:
.K
Outcome: pass
Result: Iterate over various generations from within overridden methods:
--> Using instance of C:
in C::doForEachOnThis
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of D:
in D::doForEachOnThis
string(10) "Original f"
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
in E::doForEachOnThis
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(12) "Overridden e"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(9) "changed.e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
Iterate over various generations from within an inherited method:
--> Using instance of C:
in C::doForEachC
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of D:
in C::doForEachC
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of E:
in C::doForEachC
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original g"
string(10) "Original e"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(9) "changed.e"
}
Iterate over various generations from within an overridden static method:
--> Using instance of C:
in C::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of D:
in C::doForEach
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(10) "Original f"
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
in C::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original g"
string(10) "Original e"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original f"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(12) "Overridden e"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(9) "changed.e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
Iterate over various generations from outside the object:
--> Using instance of C:
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of D:
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(10) "Original g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(12) "Overridden d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(10) "Original g"
["e":"C":private]=>
string(10) "Original e"
}
===DONE===
Expected: Iterate over various generations from within overridden methods:
--> Using instance of C:
in C::doForEachOnThis
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of D:
in D::doForEachOnThis
string(10) "Original f"
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
in E::doForEachOnThis
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(12) "Overridden e"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(9) "changed.e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
Iterate over various generations from within an inherited method:
--> Using instance of C:
in C::doForEachC
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of D:
in C::doForEachC
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
--> Using instance of E:
in C::doForEachC
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original g"
string(10) "Original e"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(9) "changed.e"
}
Iterate over various generations from within an overridden static method:
--> Using instance of C:
in C::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of D:
in C::doForEach
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(10) "Original f"
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(10) "Original g"
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
in C::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original g"
string(10) "Original e"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(9) "changed.e"
}
in D::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(10) "Original f"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(9) "changed.f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
in E::doForEach
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
string(12) "Overridden d"
string(12) "Overridden e"
string(10) "Original g"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(9) "changed.d"
["e":"E":private]=>
string(9) "changed.e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(9) "changed.g"
["e":"C":private]=>
string(10) "Original e"
}
Iterate over various generations from outside the object:
--> Using instance of C:
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of D:
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(D)#%d (7) {
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(10) "Original g"
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
--> Using instance of E:
string(12) "Overridden a"
string(12) "Overridden b"
string(12) "Overridden c"
object(E)#%d (8) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(12) "Overridden d"
["e":"E":private]=>
string(12) "Overridden e"
["f":"D":private]=>
string(10) "Original f"
["g":protected]=>
string(10) "Original g"
["e":"C":private]=>
string(10) "Original e"
}
===DONE===
K Cell:
.K
Outcome: pass
Result: Directly changing object values.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Modifying the foreach $value.
object(C)#%d (5) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Modifying the foreach &$value.
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Adding properties to an an object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(16) "Added property 0"
string(16) "Added property 1"
string(16) "Added property 2"
string(16) "Added property 3"
string(16) "Added property 4"
string(16) "Added property 5"
string(16) "Added property 6"
string(16) "Added property 7"
Loop detected
object(C)#%d (17) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
["new0"]=>
string(16) "Added property 0"
["new1"]=>
string(16) "Added property 1"
["new2"]=>
string(16) "Added property 2"
["new3"]=>
string(16) "Added property 3"
["new4"]=>
string(16) "Added property 4"
["new5"]=>
string(16) "Added property 5"
["new6"]=>
string(16) "Added property 6"
["new7"]=>
string(16) "Added property 7"
["new8"]=>
string(16) "Added property 8"
["new9"]=>
string(16) "Added property 9"
["new10"]=>
string(17) "Added property 10"
["new11"]=>
string(17) "Added property 11"
}
Adding properties to an an object, using &$value.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(16) "Added property 0"
string(16) "Added property 1"
string(16) "Added property 2"
string(16) "Added property 3"
string(16) "Added property 4"
string(16) "Added property 5"
string(16) "Added property 6"
string(16) "Added property 7"
Loop detected
object(C)#%d (17) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
["new0"]=>
string(16) "Added property 0"
["new1"]=>
string(16) "Added property 1"
["new2"]=>
string(16) "Added property 2"
["new3"]=>
string(16) "Added property 3"
["new4"]=>
string(16) "Added property 4"
["new5"]=>
string(16) "Added property 5"
["new6"]=>
string(16) "Added property 6"
["new7"]=>
string(16) "Added property 7"
["new8"]=>
&string(16) "Added property 8"
["new9"]=>
string(16) "Added property 9"
["new10"]=>
string(17) "Added property 10"
["new11"]=>
string(17) "Added property 11"
}
Removing properties from an object.
string(10) "Original a"
object(C)#%d (2) {
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Removing properties from an object, using &$value.
string(10) "Original a"
object(C)#%d (2) {
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
===DONE===
Expected: Directly changing object values.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Modifying the foreach $value.
object(C)#%d (5) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Modifying the foreach &$value.
object(C)#%d (5) {
["a"]=>
string(9) "changed.a"
["b"]=>
string(9) "changed.b"
["c"]=>
&string(9) "changed.c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Adding properties to an an object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(16) "Added property 0"
string(16) "Added property 1"
string(16) "Added property 2"
string(16) "Added property 3"
string(16) "Added property 4"
string(16) "Added property 5"
string(16) "Added property 6"
string(16) "Added property 7"
Loop detected
object(C)#%d (17) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
["new0"]=>
string(16) "Added property 0"
["new1"]=>
string(16) "Added property 1"
["new2"]=>
string(16) "Added property 2"
["new3"]=>
string(16) "Added property 3"
["new4"]=>
string(16) "Added property 4"
["new5"]=>
string(16) "Added property 5"
["new6"]=>
string(16) "Added property 6"
["new7"]=>
string(16) "Added property 7"
["new8"]=>
string(16) "Added property 8"
["new9"]=>
string(16) "Added property 9"
["new10"]=>
string(17) "Added property 10"
["new11"]=>
string(17) "Added property 11"
}
Adding properties to an an object, using &$value.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(16) "Added property 0"
string(16) "Added property 1"
string(16) "Added property 2"
string(16) "Added property 3"
string(16) "Added property 4"
string(16) "Added property 5"
string(16) "Added property 6"
string(16) "Added property 7"
Loop detected
object(C)#%d (17) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
["new0"]=>
string(16) "Added property 0"
["new1"]=>
string(16) "Added property 1"
["new2"]=>
string(16) "Added property 2"
["new3"]=>
string(16) "Added property 3"
["new4"]=>
string(16) "Added property 4"
["new5"]=>
string(16) "Added property 5"
["new6"]=>
string(16) "Added property 6"
["new7"]=>
string(16) "Added property 7"
["new8"]=>
&string(16) "Added property 8"
["new9"]=>
string(16) "Added property 9"
["new10"]=>
string(17) "Added property 10"
["new11"]=>
string(17) "Added property 11"
}
Removing properties from an object.
string(10) "Original a"
object(C)#%d (2) {
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
Removing properties from an object, using &$value.
string(10) "Original a"
object(C)#%d (2) {
["d":protected]=>
string(10) "Original d"
["e":"C":private]=>
string(10) "Original e"
}
===DONE===
K Cell:
.K
Outcome: pass
Result: Removing properties before the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (4) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
Removing properties before the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (4) {
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
Expected: Removing properties before the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (4) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
Removing properties before the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (4) {
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
K Cell:
.K
Outcome: pass
Result: Substituting the iterated object for a different object.
string(10) "Original a"
string(10) "Original b"
string(5) "new a"
string(5) "new b"
string(5) "new c"
string(5) "new d"
string(5) "new e"
string(5) "new f"
object(stdClass)#%d (6) {
["a"]=>
string(5) "new a"
["b"]=>
string(5) "new b"
["c"]=>
string(5) "new c"
["d"]=>
string(5) "new d"
["e"]=>
string(5) "new e"
["f"]=>
string(5) "new f"
}
Substituting the iterated object for an array.
string(10) "Original a"
string(10) "Original b"
int(1)
int(2)
int(3)
int(4)
int(5)
int(6)
int(7)
int(8)
array(8) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
}
Substituting the iterated array for an object.
int(1)
int(2)
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
Expected: Substituting the iterated object for a different object.
string(10) "Original a"
string(10) "Original b"
string(5) "new a"
string(5) "new b"
string(5) "new c"
string(5) "new d"
string(5) "new e"
string(5) "new f"
object(stdClass)#%d (6) {
["a"]=>
string(5) "new a"
["b"]=>
string(5) "new b"
["c"]=>
string(5) "new c"
["d"]=>
string(5) "new d"
["e"]=>
string(5) "new e"
["f"]=>
string(5) "new f"
}
Substituting the iterated object for an array.
string(10) "Original a"
string(10) "Original b"
int(1)
int(2)
int(3)
int(4)
int(5)
int(6)
int(7)
int(8)
array(8) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
}
Substituting the iterated array for an object.
int(1)
int(2)
string(10) "Original a"
string(10) "Original b"
string(10) "Original c"
string(10) "Original d"
string(10) "Original e"
object(C)#%d (5) {
["a"]=>
string(10) "Original a"
["b"]=>
string(10) "Original b"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
K Cell:
.K
Outcome: pass
Result: 6
Expected: 6
K Cell:
.K
Outcome: pass
Result: hey=0, 0
hey=1, -1
hey=2, -2
Expected: hey=0, 0
hey=1, -1
hey=2, -2
K Cell:
.K
Outcome: pass
Result: hey
blah
hey
blah
Counting from 7 to 14
7
8
9
10
11
12
13
14
hey
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
and now, from a function...
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
------
720
840
3
4
5
Expected: hey
blah
hey
blah
Counting from 7 to 14
7
8
9
10
11
12
13
14
hey
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
factorial(5) = 120
factorial(6) = 720
factorial(7) = 5040
factorial(8) = 40320
factorial(9) = 362880
factorial(10) = 3628800
and now, from a function...
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
(it should break at 5...)
factorial(0) = 1
factorial(1) = 1
factorial(2) = 2
factorial(3) = 6
factorial(4) = 24
------
720
840
3
4
5
K Cell:
.K
Outcome: pass
Result: Before function declaration...
After function declaration...
Calling function for the first time...
----
In function, printing the string "This works!" 10 times
0) This works!
1) This works!
2) This works!
3) This works!
4) This works!
5) This works!
6) This works!
7) This works!
8) This works!
9) This works!
Done with function...
-----
Returned from function call...
Calling the function for the second time...
----
In function, printing the string "This like, really works and stuff..." 3 times
0) This like, really works and stuff...
1) This like, really works and stuff...
2) This like, really works and stuff...
Done with function...
-----
Returned from function call...
This is some other function, to ensure more than just one function works fine...
Expected: Before function declaration...
After function declaration...
Calling function for the first time...
----
In function, printing the string "This works!" 10 times
0) This works!
1) This works!
2) This works!
3) This works!
4) This works!
5) This works!
6) This works!
7) This works!
8) This works!
9) This works!
Done with function...
-----
Returned from function call...
Calling the function for the second time...
----
In function, printing the string "This like, really works and stuff..." 3 times
0) This like, really works and stuff...
1) This like, really works and stuff...
2) This like, really works and stuff...
Done with function...
-----
Returned from function call...
This is some other function, to ensure more than just one function works fine...
K Cell:
.K
Outcome: pass
Result: int(7)
int(15)
int(7)
int(16)
array(1) {
[0]=>
&int(1)
}
int(1)
Expected: int(7)
int(15)
int(7)
int(16)
array(1) {
[0]=>
&int(1)
}
int(1)
K Cell:
.K
Outcome: pass
Result: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
string(9) "changed.y"
-- Ref, Val --
string(10) "original.b"
string(10) "original.b"
string(9) "changed.x"
Expected: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
string(9) "changed.y"
-- Ref, Val --
string(10) "original.b"
string(10) "original.b"
string(9) "changed.x"
K Cell:
.K
Outcome: pass
Result: 1012
Expected: 1012
K Cell:
.K
Outcome: pass
Result: int(7)
int(8)
Expected: int(7)
int(8)
K Cell:
.K
Outcome: pass
Result: ---> 1. Return a variable by reference -> No warning:
int(1)
---> 2. Return a value by reference -> Warning:
Notice: Only variable references should be returned by reference in %s on line %d
int(1)
Expected: ---> 1. Return a variable by reference -> No warning:
int(1)
---> 2. Return a value by reference -> Warning:
Notice: Only variable references should be returned by reference in %s on line %d
int(1)
K Cell:
.K
Outcome: pass
Result: Used a short tag
Finished
Expected: Used a short tag
Finished
K Cell:
.K
Outcome: pass
Result: Same variable used as static and non static.
---------
0
10
---------
0
11
---------
0
12
Lots of initialisations in the same statement.
------------- Call 0 --------------
Unitialised :
Initialised to 10: 10
Initialised to 20: 20
Unitialised :
Initialised to 30: 30
------------- Call 1 --------------
Unitialised : 1
Initialised to 10: 11
Initialised to 20: 21
Unitialised : 1
Initialised to 30: 31
------------- Call 2 --------------
Unitialised : 2
Initialised to 10: 12
Initialised to 20: 22
Unitialised : 2
Initialised to 30: 32
Using static keyword at global scope
10
1 11
2 12
Expected: Same variable used as static and non static.
---------
0
10
---------
0
11
---------
0
12
Lots of initialisations in the same statement.
------------- Call 0 --------------
Unitialised :
Initialised to 10: 10
Initialised to 20: 20
Unitialised :
Initialised to 30: 30
------------- Call 1 --------------
Unitialised : 1
Initialised to 10: 11
Initialised to 20: 21
Unitialised : 1
Initialised to 30: 31
------------- Call 2 --------------
Unitialised : 2
Initialised to 10: 12
Initialised to 20: 22
Unitialised : 2
Initialised to 30: 32
Using static keyword at global scope
10
1 11
2 12
K Cell:
.K
Outcome: pass
Result: int(5)
int(11)
int(14)
Expected: int(5)
int(11)
int(14)
K Cell:
.K
Outcome: pass
Result: firstfirstfirstfirstsecondsecondsecondsecondsecond
===DONE===
Expected: firstfirstfirstfirstsecondsecondsecondsecondsecond
===DONE===
K Cell:
.K
failed
Outcome: fail
Result:
Expected: " \'\n\'a\\b\
K Cell:
'SingleQuoted('ListWrap("\\n",, "\\",, "'",, "a",, "\\",, "\\b",,
"\\")) ~> 'ConstantEncapsedString(HOLE) ~> 'Concat("\"\t\\'",,
HOLE) ~> 'Echo('ListWrap(HOLE)) ~> 'Echo('ListWrap('Literal("\n"
)))
Outcome: fail
Result: Correct - with inner loop reset.
inloop 0 for key1
inloop 1 for key1
inloop 0 for key2
inloop 1 for key2
What happens without inner loop reset.
inloop 0 for key1
inloop 1 for key1
What happens without inner loop reset but copy.
inloop 0 for key1
inloop 1 for key1
What happens with inner loop reset over copy.
inloop 0 for key1
inloop 1 for key1
inloop 0 for key2
inloop 1 for key2
Expected: Correct - with inner loop reset.
inloop 0 for key1
inloop 1 for key1
inloop 0 for key2
inloop 1 for key2
What happens without inner loop reset.
inloop 0 for key1
inloop 1 for key1
What happens without inner loop reset but copy.
inloop 0 for key1
inloop 1 for key1
inloop 0 for key2
inloop 1 for key2
What happens with inner loop reset over copy.
inloop 0 for key1
inloop 1 for key1
inloop 0 for key2
inloop 1 for key2
K Cell:
.K
Outcome: fail
Result:
Expected: Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in %s on line %d
K Cell:
.K
Outcome: fail
Result:
Expected: Warning: Cannot use a scalar value as an array in %sbug29893.php on line %d
===DONE===
K Cell:
BinOp ( min , NULL , 0 ) ~> 'Assign(lref ( (ref ( #symLoc(3) ,
"base" )) , 50 , arr ),, HOLE) ~> 'Expr(HOLE) ~> 'Echo('ListWrap
('Literal("\n===DONE===\n")))
Outcome: fail
Result: Used a short tag
Finished
Expected:
echo "Used a short tag\n";
?>
Finished
K Cell:
.K
Outcome: fail
Result: --> Testing ..9:
int(0)
float(0)
bool(false)
--> Testing .9.:
int(0)
float(9.0000000000000002e-1)
bool(true)
--> Testing 9..:
int(9)
float(9)
bool(true)
--> Testing 9.9.:
int(9)
float(9.9000000000000004)
bool(true)
--> Testing 9.9.9:
int(9)
float(9.9000000000000004)
bool(true)
===DONE===
Expected: --> Testing ..9:
int(0)
float(0)
bool(false)
--> Testing .9.:
int(0)
float(0.9)
bool(true)
--> Testing 9..:
int(9)
float(9)
bool(true)
--> Testing 9.9.:
int(9)
float(9.9)
bool(true)
--> Testing 9.9.9:
int(9)
float(9.9)
bool(true)
===DONE===
K Cell:
.K
Outcome: fail
Result:
Expected: Fatal error: Default value for parameters with a class type hint can only be NULL in %stype_hints_003.php on line 3
K Cell:
.K
not-supported
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: 1 5 2 2 10 5 2 5 3 2 10 5 3 5 4 2
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: Hello
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: Hello
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Include not supported
Expected: Hello
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Include not supported
Expected: Hello
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: hey
0
hey
1
hey
2
hey
3
hey
4
hey
5
hey
6
hey
7
hey
8
hey
9
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
hey, this is a regular echo'd eval()
hey, this is a function inside an eval()!
Parse error: syntax error, unexpected %s in %s019.php(12) : eval()'d code on line 1
K Cell:
.K
Outcome: not_supported
Result: PHP Regression Test
Unsupported feature: KPHP ERROR: 'Include not supported
Expected: PHP Regression Test
*** Testing assignments and variable aliasing: ***
This should read "blah": blah
This should read "this is nifty": this is nifty
*************************************************
*** Testing integer operators ***
Correct result - 8: 8
Correct result - 8: 8
Correct result - 2: 2
Correct result - -2: -2
Correct result - 15: 15
Correct result - 15: 15
Correct result - 2: 2
Correct result - 3: 3
*********************************
*** Testing real operators ***
Correct result - 8: 8
Correct result - 8: 8
Correct result - 2: 2
Correct result - -2: -2
Correct result - 15: 15
Correct result - 15: 15
Correct result - 2: 2
Correct result - 3: 3
*********************************
*** Testing if/elseif/else control ***
This works
this_still_works
should_print
*** Seriously nested if's test ***
** spelling correction by kluzz **
Only two lines of text should follow:
this should be displayed. should be: $i=1, $j=0. is: $i=1, $j=0
this is supposed to be displayed. should be: $i=2, $j=4. is: $i=2, $j=4
3 loop iterations should follow:
2 4
3 4
4 4
**********************************
*** C-style else-if's ***
This should be displayed
*************************
*** WHILE tests ***
0 is smaller than 20
1 is smaller than 20
2 is smaller than 20
3 is smaller than 20
4 is smaller than 20
5 is smaller than 20
6 is smaller than 20
7 is smaller than 20
8 is smaller than 20
9 is smaller than 20
10 is smaller than 20
11 is smaller than 20
12 is smaller than 20
13 is smaller than 20
14 is smaller than 20
15 is smaller than 20
16 is smaller than 20
17 is smaller than 20
18 is smaller than 20
19 is smaller than 20
20 equals 20
21 is greater than 20
22 is greater than 20
23 is greater than 20
24 is greater than 20
25 is greater than 20
26 is greater than 20
27 is greater than 20
28 is greater than 20
29 is greater than 20
30 is greater than 20
31 is greater than 20
32 is greater than 20
33 is greater than 20
34 is greater than 20
35 is greater than 20
36 is greater than 20
37 is greater than 20
38 is greater than 20
39 is greater than 20
*******************
*** Nested WHILEs ***
Each array variable should be equal to the sum of its indices:
${test00}[0] = 0
${test00}[1] = 1
${test00}[2] = 2
${test01}[0] = 1
${test01}[1] = 2
${test01}[2] = 3
${test02}[0] = 2
${test02}[1] = 3
${test02}[2] = 4
${test10}[0] = 1
${test10}[1] = 2
${test10}[2] = 3
${test11}[0] = 2
${test11}[1] = 3
${test11}[2] = 4
${test12}[0] = 3
${test12}[1] = 4
${test12}[2] = 5
${test20}[0] = 2
${test20}[1] = 3
${test20}[2] = 4
${test21}[0] = 3
${test21}[1] = 4
${test21}[2] = 5
${test22}[0] = 4
${test22}[1] = 5
${test22}[2] = 6
*********************
*** hash test... ***
commented out...
**************************
*** Hash resizing test ***
ba
baa
baaa
baaaa
baaaaa
baaaaaa
baaaaaaa
baaaaaaaa
baaaaaaaaa
baaaaaaaaaa
ba
10
baa
9
baaa
8
baaaa
7
baaaaa
6
baaaaaa
5
baaaaaaa
4
baaaaaaaa
3
baaaaaaaaa
2
baaaaaaaaaa
1
**************************
*** break/continue test ***
$i should go from 0 to 2
$j should go from 3 to 4, and $q should go from 3 to 4
$j=3
$q=3
$q=4
$j=4
$q=3
$q=4
$j should go from 0 to 2
$j=0
$j=1
$j=2
$k should go from 0 to 2
$k=0
$k=1
$k=2
$i=0
$j should go from 3 to 4, and $q should go from 3 to 4
$j=3
$q=3
$q=4
$j=4
$q=3
$q=4
$j should go from 0 to 2
$j=0
$j=1
$j=2
$k should go from 0 to 2
$k=0
$k=1
$k=2
$i=1
$j should go from 3 to 4, and $q should go from 3 to 4
$j=3
$q=3
$q=4
$j=4
$q=3
$q=4
$j should go from 0 to 2
$j=0
$j=1
$j=2
$k should go from 0 to 2
$k=0
$k=1
$k=2
$i=2
***********************
*** Nested file include test ***
This is Finish.phtml. This file is supposed to be included
from regression_test.phtml. This is normal HTML.
and this is PHP code, 2+2=4
********************************
Tests completed.
Limor Ullmann is now Limor Baruch :I
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: 0
Dafna!
I'm still alive
Hey there!!
0
1
Dafna!
I'm still alive
Hey there!!
1
2
Dafna!
I'm still alive
Hey there!!
2
3
Dafna!
I'm still alive
Hey there!!
3
4
Dafna!
I'm still alive
Hey there!!
4
5
Dafna!
I'm still alive
Hey there!!
5
6
Dafna!
I'm still alive
Hey there!!
6
7
Dafna!
I'm still alive
Hey there!!
7
8
Dafna!
I'm still alive
Hey there!!
8
9
Dafna!
I'm still alive
Hey there!!
9
10
Dafna!
I'm still alive
Hey there!!
10
11
Dafna!
I'm still alive
Hey there!!
11
12
Dafna!
I'm still alive
Hey there!!
12
13
Dafna!
I'm still alive
Hey there!!
13
14
Dafna!
I'm still alive
Hey there!!
14
15
Dafna!
I'm still alive
Hey there!!
15
16
Dafna!
I'm still alive
Hey there!!
16
17
Dafna!
I'm still alive
Hey there!!
17
18
Dafna!
I'm still alive
Hey there!!
18
19
Dafna!
I'm still alive
Hey there!!
19
20
Dafna!
I'm still alive
Hey there!!
20
21
Dafna!
I'm still alive
Hey there!!
21
22
Dafna!
I'm still alive
Hey there!!
22
23
Dafna!
I'm still alive
Hey there!!
23
24
Dafna!
I'm still alive
Hey there!!
24
25
Dafna!
I'm still alive
Hey there!!
25
26
Dafna!
I'm still alive
Hey there!!
26
27
Dafna!
I'm still alive
Hey there!!
27
28
Dafna!
I'm still alive
Hey there!!
28
29
Dafna!
I'm still alive
Hey there!!
29
30
Dafna!
I'm still alive
Hey there!!
30
31
Dafna!
I'm still alive
Hey there!!
31
32
Dafna!
I'm still alive
Hey there!!
32
33
Dafna!
I'm still alive
Hey there!!
33
34
Dafna!
I'm still alive
Hey there!!
34
35
Dafna!
I'm still alive
Hey there!!
35
36
Dafna!
I'm still alive
Hey there!!
36
37
Dafna!
I'm still alive
Hey there!!
37
38
Dafna!
I'm still alive
Hey there!!
38
39
Dafna!
I'm still alive
Hey there!!
39
40
Dafna!
I'm still alive
Hey there!!
40
41
Dafna!
I'm still alive
Hey there!!
41
42
Dafna!
I'm still alive
Hey there!!
42
43
Dafna!
I'm still alive
Hey there!!
43
44
Dafna!
I'm still alive
Hey there!!
44
45
Dafna!
I'm still alive
Hey there!!
45
46
Dafna!
I'm still alive
Hey there!!
46
47
Dafna!
I'm still alive
Hey there!!
47
48
Dafna!
I'm still alive
Hey there!!
48
49
Dafna!
I'm still alive
Hey there!!
49
50
Dafna!
I'm still alive
Hey there!!
50
51
Dafna!
I'm still alive
Hey there!!
51
52
Dafna!
I'm still alive
Hey there!!
52
53
Dafna!
I'm still alive
Hey there!!
53
54
Dafna!
I'm still alive
Hey there!!
54
55
Dafna!
I'm still alive
Hey there!!
55
56
Dafna!
I'm still alive
Hey there!!
56
57
Dafna!
I'm still alive
Hey there!!
57
58
Dafna!
I'm still alive
Hey there!!
58
59
Dafna!
I'm still alive
Hey there!!
59
60
Dafna!
I'm still alive
Hey there!!
60
61
Dafna!
I'm still alive
Hey there!!
61
62
Dafna!
I'm still alive
Hey there!!
62
63
Dafna!
I'm still alive
Hey there!!
63
64
Dafna!
I'm still alive
Hey there!!
64
65
Dafna!
I'm still alive
Hey there!!
65
66
Dafna!
I'm still alive
Hey there!!
66
67
Dafna!
I'm still alive
Hey there!!
67
68
Dafna!
I'm still alive
Hey there!!
68
69
Dafna!
I'm still alive
Hey there!!
69
70
Dafna!
I'm still alive
Hey there!!
70
71
Dafna!
I'm still alive
Hey there!!
71
72
Dafna!
I'm still alive
Hey there!!
72
73
Dafna!
I'm still alive
Hey there!!
73
74
Dafna!
I'm still alive
Hey there!!
74
75
Dafna!
I'm still alive
Hey there!!
75
76
Dafna!
I'm still alive
Hey there!!
76
77
Dafna!
I'm still alive
Hey there!!
77
78
Dafna!
I'm still alive
Hey there!!
78
79
Dafna!
I'm still alive
Hey there!!
79
80
Dafna!
I'm still alive
Hey there!!
80
81
Dafna!
I'm still alive
Hey there!!
81
82
Dafna!
I'm still alive
Hey there!!
82
83
Dafna!
I'm still alive
Hey there!!
83
84
Dafna!
I'm still alive
Hey there!!
84
85
Dafna!
I'm still alive
Hey there!!
85
86
Dafna!
I'm still alive
Hey there!!
86
87
Dafna!
I'm still alive
Hey there!!
87
88
Dafna!
I'm still alive
Hey there!!
88
89
Dafna!
I'm still alive
Hey there!!
89
90
Dafna!
I'm still alive
Hey there!!
90
91
Dafna!
I'm still alive
Hey there!!
91
92
Dafna!
I'm still alive
Hey there!!
92
93
Dafna!
I'm still alive
Hey there!!
93
94
Dafna!
I'm still alive
Hey there!!
94
95
Dafna!
I'm still alive
Hey there!!
95
96
Dafna!
I'm still alive
Hey there!!
96
97
Dafna!
I'm still alive
Hey there!!
97
98
Dafna!
I'm still alive
Hey there!!
98
99
Dafna!
I'm still alive
Hey there!!
99
100
Dafna!
I'm still alive
Hey there!!
100
101
Dafna!
I'm still alive
Hey there!!
101
102
Dafna!
I'm still alive
Hey there!!
102
103
Dafna!
I'm still alive
Hey there!!
103
104
Dafna!
I'm still alive
Hey there!!
104
105
Dafna!
I'm still alive
Hey there!!
105
106
Dafna!
I'm still alive
Hey there!!
106
107
Dafna!
I'm still alive
Hey there!!
107
108
Dafna!
I'm still alive
Hey there!!
108
109
Dafna!
I'm still alive
Hey there!!
109
110
Dafna!
I'm still alive
Hey there!!
110
111
Dafna!
I'm still alive
Hey there!!
111
112
Dafna!
I'm still alive
Hey there!!
112
113
Dafna!
I'm still alive
Hey there!!
113
114
Dafna!
I'm still alive
Hey there!!
114
115
Dafna!
I'm still alive
Hey there!!
115
116
Dafna!
I'm still alive
Hey there!!
116
117
Dafna!
I'm still alive
Hey there!!
117
118
Dafna!
I'm still alive
Hey there!!
118
119
Dafna!
I'm still alive
Hey there!!
119
120
Dafna!
I'm still alive
Hey there!!
120
121
Dafna!
I'm still alive
Hey there!!
121
122
Dafna!
I'm still alive
Hey there!!
122
123
Dafna!
I'm still alive
Hey there!!
123
124
Dafna!
I'm still alive
Hey there!!
124
125
Dafna!
I'm still alive
Hey there!!
125
126
Dafna!
I'm still alive
Hey there!!
126
127
Dafna!
I'm still alive
Hey there!!
127
128
Dafna!
I'm still alive
Hey there!!
128
129
Dafna!
I'm still alive
Hey there!!
129
130
Dafna!
I'm still alive
Hey there!!
130
131
Dafna!
I'm still alive
Hey there!!
131
132
Dafna!
I'm still alive
Hey there!!
132
133
Dafna!
I'm still alive
Hey there!!
133
134
Dafna!
I'm still alive
Hey there!!
134
135
Dafna!
I'm still alive
Hey there!!
135
136
Dafna!
I'm still alive
Hey there!!
136
137
Dafna!
I'm still alive
Hey there!!
137
138
Dafna!
I'm still alive
Hey there!!
138
139
Dafna!
I'm still alive
Hey there!!
139
140
Dafna!
I'm still alive
Hey there!!
140
141
Dafna!
I'm still alive
Hey there!!
141
142
Dafna!
I'm still alive
Hey there!!
142
143
Dafna!
I'm still alive
Hey there!!
143
144
Dafna!
I'm still alive
Hey there!!
144
145
Dafna!
I'm still alive
Hey there!!
145
146
Dafna!
I'm still alive
Hey there!!
146
147
Dafna!
I'm still alive
Hey there!!
147
148
Dafna!
I'm still alive
Hey there!!
148
149
Dafna!
I'm still alive
Hey there!!
149
150
Dafna!
I'm still alive
Hey there!!
150
151
Dafna!
I'm still alive
Hey there!!
151
152
Dafna!
I'm still alive
Hey there!!
152
153
Dafna!
I'm still alive
Hey there!!
153
154
Dafna!
I'm still alive
Hey there!!
154
155
Dafna!
I'm still alive
Hey there!!
155
156
Dafna!
I'm still alive
Hey there!!
156
157
Dafna!
I'm still alive
Hey there!!
157
158
Dafna!
I'm still alive
Hey there!!
158
159
Dafna!
I'm still alive
Hey there!!
159
160
Dafna!
I'm still alive
Hey there!!
160
161
Dafna!
I'm still alive
Hey there!!
161
162
Dafna!
I'm still alive
Hey there!!
162
163
Dafna!
I'm still alive
Hey there!!
163
164
Dafna!
I'm still alive
Hey there!!
164
165
Dafna!
I'm still alive
Hey there!!
165
166
Dafna!
I'm still alive
Hey there!!
166
167
Dafna!
I'm still alive
Hey there!!
167
168
Dafna!
I'm still alive
Hey there!!
168
169
Dafna!
I'm still alive
Hey there!!
169
170
Dafna!
I'm still alive
Hey there!!
170
171
Dafna!
I'm still alive
Hey there!!
171
172
Dafna!
I'm still alive
Hey there!!
172
173
Dafna!
I'm still alive
Hey there!!
173
174
Dafna!
I'm still alive
Hey there!!
174
175
Dafna!
I'm still alive
Hey there!!
175
176
Dafna!
I'm still alive
Hey there!!
176
177
Dafna!
I'm still alive
Hey there!!
177
178
Dafna!
I'm still alive
Hey there!!
178
179
Dafna!
I'm still alive
Hey there!!
179
180
Dafna!
I'm still alive
Hey there!!
180
181
Dafna!
I'm still alive
Hey there!!
181
182
Dafna!
I'm still alive
Hey there!!
182
183
Dafna!
I'm still alive
Hey there!!
183
184
Dafna!
I'm still alive
Hey there!!
184
185
Dafna!
I'm still alive
Hey there!!
185
186
Dafna!
I'm still alive
Hey there!!
186
187
Dafna!
I'm still alive
Hey there!!
187
188
Dafna!
I'm still alive
Hey there!!
188
189
Dafna!
I'm still alive
Hey there!!
189
190
Dafna!
I'm still alive
Hey there!!
190
191
Dafna!
I'm still alive
Hey there!!
191
192
Dafna!
I'm still alive
Hey there!!
192
193
Dafna!
I'm still alive
Hey there!!
193
194
Dafna!
I'm still alive
Hey there!!
194
195
Dafna!
I'm still alive
Hey there!!
195
196
Dafna!
I'm still alive
Hey there!!
196
197
Dafna!
I'm still alive
Hey there!!
197
198
Dafna!
I'm still alive
Hey there!!
198
199
Dafna!
I'm still alive
Hey there!!
199
Dafna
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'setlocale' not defined!
Expected: 3,14
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: string(15) "Error2Exception"
string(5) "fopen"
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'InterfaceDecl
Expected: Catchable
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_time_limit' not defined!
Expected: Fatal error: Maximum execution time of 1 second exceeded in %s on line %d
Fatal error: Maximum execution time of 1 second exceeded in %s on line %d
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: blah-
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: ClassConstantDeclList
Expected: 3
3
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'get_declared_classes' not defined!
Expected: int(%d)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ErrorFree
Expected: 0 -- 0
1 -- 1
2 -- 2
3 -- 3
4 -- 4
5 -- 5
6 -- 6
7 -- 7
8 -- 8
9 -- 9
string(10) "0123456780"
K Cell:
.K
Outcome: not_supported
Result: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
Unsupported feature: 'zend_version' not defined!
Expected: Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line %d
%s
foo_static()
foo_global()
foo:1
foo_static()
foo:1
bar_static()
bar_global()
Strict Standards: Only variables should be assigned by reference in %sbug20175.php on line 47
bar:1
bar_static()
bar:1
wow_static()
wow_global()
wow:1
wow_static()
wow:1
oop_test()
oop_static()
oop_class()
oop:1
oop_static()
oop:1
oop_test()
oop_static()
oop:1
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: [1024] errstr: test, errfile: %s, errline: %d
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: ClassConstantDeclList
Expected: fubar
K Cell:
.K
Outcome: not_supported
Result: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
Unsupported feature: 'MagicConstant
Expected: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
ok1
bar::run1
foo::method1
Notice: Only variable references should be returned by reference in %s on line %d
foo::method1
Notice: Only variable references should be returned by reference in %s on line %d
foo::finalize
done!
ok2
bar::run2
foo::method2
foo::method2
foo::finalize
done!
ok3
bar::run3
foo::method3
foo::method3
foo::finalize
done!
ouch
bar::run1
foo::method1
Notice: Only variable references should be returned by reference in %s on line %d
foo::method1
Notice: Only variable references should be returned by reference in %s on line %d
foo::finalize
I'm alive!
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: string(5) "* *-*"
string(7) "* *-* *"
string(7) "*4*-* *"
string(7) "*4*s* *"
string(8) "*4*s* *0"
string(8) "*-*-* *0"
string(8) "*-*s*s*0"
string(8) "4-4s4s*0"
string(9) "4-4s4s505"
string(9) "454s4s505"
string(1) "-"
string(1) "s"
string(1) "4"
string(1) "5"
string(1) "5"
[Illegal string offset: -1]
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'create_function' not defined!
Expected: BAR
BAR
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ob_start' not defined!
Expected: Goodbye Cruel World
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: ClassConstantDeclList
Expected: Strict Standards: Non-static method Foo::test() should not be called statically in %sbug23384.php on line %d
Array
(
[100] => ten
)
Array
(
[10] => ten
)
100100
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ob_start' not defined!
Expected: success
K Cell:
.K
Outcome: not_supported
Result: #!php
Unsupported feature: 'error_reporting' not defined!
Expected: Notice: Undefined variable:.*foo in .* on line 6
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'is_int' not defined!
Expected: 1,1,0,0
OK
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ErrorFree
Expected: stdClass Object
(
[foo] => bar
[id] => bar
)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'var_export' not defined!
Expected: 1.7E+300
float(1.7E+300)
1.7E+300
1.7E+300
------
1.7E-300
float(1.7E-300)
1.7E-300
1.7E-300
------
1.7E+79
float(1.7E+79)
1.7E+79
1.7E+79
------
1.7E-79
float(1.7E-79)
1.7E-79
1.7E-79
------
1.7E+80
float(1.7E+80)
1.7E+80
1.7E+80
------
1.7E-80
float(1.7E-80)
1.7E-80
1.7E-80
------
1.7E+81
float(1.7E+81)
1.7E+81
1.7E+81
------
1.7E-81
float(1.7E-81)
1.7E-81
1.7E-81
------
I%s
float(I%s)
I%s
I%s
------
1.69998107421E-319
float(1.69998107421E-319)
1.69998107421E-319
1.69998107421E-319
------
I%s
float(I%s)
I%s
I%s
------
1.70007988734E-320
float(1.70007988734E-320)
1.70007988734E-320
1.70007988734E-320
------
I%s
float(I%s)
I%s
I%s
------
1.69958582169E-321
float(1.69958582169E-321)
1.69958582169E-321
1.69958582169E-321
------
I%s
float(I%s)
I%s
I%s
------
0
float(0)
0
0
------
I%s
float(I%s)
I%s
I%s
------
0
float(0)
0
0
------
===DONE===
K Cell:
.K
Outcome: not_supported
Result: array(1) {
[7]=>
int(0)
}
bool(true)
bool(false)
----------
Unsupported feature: 'array_flip' not defined!
Expected: array(1) {
[7]=>
int(0)
}
bool(true)
bool(true)
----------
array(1) {
[7]=>
int(0)
}
bool(true)
bool(true)
K Cell:
.K
Outcome: not_supported
Result: object(foo)#%d (0) {
}
Unsupported feature: Type hints
Expected: object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
object(foo)#%d (0) {
}
===no_typehint===
object(foo)#%d (0) {
}
int(1)
int(2)
===no_typehint_ref===
object(foo)#%d (0) {
}
int(1)
int(2)
===typehint===
object(foo)#%d (0) {
}
Catchable fatal error: Argument 1 passed to typehint() must be an instance of foo, integer given in %s on line %d
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: 7: foo%00bar => foo%00bar
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: FOO
FOO
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ob_start' not defined!
Expected: [Hello from t1 1 Hello from t1 2 ]
[Hello from t2 1 Hello from t2 2 ]
Hello from t3 2 ]
K Cell:
.K
Outcome: not_supported
Result: KPHP ERROR: GET and POST not supported yet.
Expected: -
K Cell: -
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: handler(Undefined index: foo)
Array
(
[foo] => 1
)
Done
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: Undefined variable: data
Undefined index here: ''
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: .*#1\s*include.*
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'preg_match' not defined!
Expected: 1
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: This should be displayed first.
Buffered data: This should be displayed last.
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'setlocale' not defined!
Expected: decimal_point: ,
thousands_sep: .
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ob_start' not defined!
Expected: Fatal error: Uncaught exception 'Exception' in %s:%d
Stack trace:
#0 [internal function]: output_handler('', %d)
#1 %s(%d): ob_end_clean()
#2 {main}
thrown in %s on line %d
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: IncludeOnce
Expected: Included!
END
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'RequireOnce not supported
Expected:
Warning: require_once(nonexisiting.php) [function.require-once.html]: failed to open stream: No such file or directory in %sbug35176.php on line 2
Fatal error: require_once() [function.require.html]: Failed opening required 'nonexisiting.php' (%s) in %sbug35176.php on line 2
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'dirname' not defined!
Expected: ok
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Include not supported
Expected: Warning: include(file-which-does-not-exist-on-purpose.php): failed to open stream: No such file or directory in %sbug43958.php on line 5
Warning: include(): Failed opening 'file-which-does-not-exist-on-purpose.php' for inclusion (include_path='%s') in %sbug43958.php on line 5
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'constant' not defined!
Expected: Warning: Class constants cannot be defined or redefined in %s on line %d
Warning: constant(): Couldn't find constant :: in %s on line %d
NULL
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'MagicConstant
Expected: 2
Fatal error: Allowed memory size of %d bytes exhausted%s
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'ob_start' not defined!
Expected: Warning: Creating default object from empty value in %s on line %d
success
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: Type hints
Expected: Catchable fatal error: Argument 1 passed to blah() must be an instance of Foo, instance of stdClass given, called in %scatchable_error_001.php on line 15 and defined in %scatchable_error_001.php on line 5
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: array(5) {
[0]=>
int(4096)
[1]=>
string(%d) "Argument 1 passed to blah() must be an instance of Foo, instance of stdClass given, called in %scatchable_error_002.php on line %d and defined"
[2]=>
string(%d) "%scatchable_error_002.php"
[3]=>
int(5)
[4]=>
array(0) {
}
}
ALIVE!
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'date_default_timezone_set' not defined!
Expected: Simple test comparing two objects with different compare callback handler
bool(false)
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: 7: foo%00bar => foo%00bar
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: $i=f(): good
$$x=f(): good
${'i'}=f(): good
$i[0]=f(): good
$i[0][0]=f(): good
$i->p=f():
Warning: Creating default object from empty value in %s on line %d
good
$i->p->q=f():
Warning: Creating default object from empty value in %s on line %d
good
$i->p[0]=f(): good
$i->p[0]->p=f():
Warning: Creating default object from empty value in %s on line %d
good
C::$p=f(): good
C::$p[0]=f(): good
C::$p->q=f(): good
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'set_error_handler' not defined!
Expected: There was an exception: 256, 'I will become an exception'
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'array_push' not defined!
Expected: int(1)
int(2)
int(3)
K Cell:
.K
Outcome: not_supported
Result: Popping elements off end of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: Popping elements off end of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(0) {
}
---( Array with 4 element(s): )---
--> State of array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(0) {
}
Shift elements off start of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(0) {
}
---( Array with 4 element(s): )---
--> State of array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(0) {
}
Remove current element of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(0) {
}
---( Array with 4 element(s): )---
--> State of array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(0) {
}
Adding elements to the end of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(5) "new.0"
}
---( Array with 2 element(s): )---
--> State of array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(5) "new.0"
[3]=>
string(5) "new.1"
}
---( Array with 3 element(s): )---
--> State of array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(6) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(5) "new.0"
[4]=>
string(5) "new.1"
[5]=>
string(5) "new.2"
}
---( Array with 4 element(s): )---
--> State of array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(8) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
[4]=>
string(5) "new.0"
[5]=>
string(5) "new.1"
[6]=>
string(5) "new.2"
[7]=>
string(5) "new.3"
}
Adding elements to the start of an unreferenced array
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(2) {
[0]=>
string(5) "new.0"
[1]=>
string(3) "v.0"
}
---( Array with 2 element(s): )---
--> State of array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(4) {
[0]=>
string(5) "new.1"
[1]=>
string(5) "new.0"
[2]=>
string(3) "v.0"
[3]=>
string(3) "v.1"
}
---( Array with 3 element(s): )---
--> State of array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(6) {
[0]=>
string(5) "new.2"
[1]=>
string(5) "new.1"
[2]=>
string(5) "new.0"
[3]=>
string(3) "v.0"
[4]=>
string(3) "v.1"
[5]=>
string(3) "v.2"
}
---( Array with 4 element(s): )---
--> State of array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(8) {
[0]=>
string(5) "new.3"
[1]=>
string(5) "new.2"
[2]=>
string(5) "new.1"
[3]=>
string(5) "new.0"
[4]=>
string(3) "v.0"
[5]=>
string(3) "v.1"
[6]=>
string(3) "v.2"
[7]=>
string(3) "v.3"
}
K Cell:
.K
Outcome: not_supported
Result: Popping elements off end of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: Popping elements off end of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of referenced array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of referenced array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(1) {
[0]=>
string(3) "v.0"
}
---( Array with 4 element(s): )---
--> State of referenced array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=0; $v=v.0
iteration 3: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
Shift elements off start of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of referenced array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=v.1
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of referenced array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=v.1
iteration 2: $k=0; $v=v.2
--> State of array after loop:
array(0) {
}
---( Array with 4 element(s): )---
--> State of referenced array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=v.1
iteration 2: $k=0; $v=v.2
iteration 3: $k=0; $v=v.3
--> State of array after loop:
array(0) {
}
Remove current element of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(0) {
}
---( Array with 2 element(s): )---
--> State of referenced array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
--> State of array after loop:
array(0) {
}
---( Array with 3 element(s): )---
--> State of referenced array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
--> State of array after loop:
array(0) {
}
---( Array with 4 element(s): )---
--> State of referenced array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
--> State of array after loop:
array(0) {
}
Adding elements to the end of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(5) "new.0"
}
---( Array with 2 element(s): )---
--> State of referenced array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=new.0
iteration 3: $k=3; $v=new.1
iteration 4: $k=4; $v=new.2
iteration 5: $k=5; $v=new.3
** Stuck in a loop! **
--> State of array after loop:
array(8) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(5) "new.0"
[3]=>
string(5) "new.1"
[4]=>
string(5) "new.2"
[5]=>
string(5) "new.3"
[6]=>
string(5) "new.4"
[7]=>
string(5) "new.5"
}
---( Array with 3 element(s): )---
--> State of referenced array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=new.0
iteration 4: $k=4; $v=new.1
iteration 5: $k=5; $v=new.2
** Stuck in a loop! **
--> State of array after loop:
array(9) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(5) "new.0"
[4]=>
string(5) "new.1"
[5]=>
string(5) "new.2"
[6]=>
string(5) "new.3"
[7]=>
string(5) "new.4"
[8]=>
string(5) "new.5"
}
---( Array with 4 element(s): )---
--> State of referenced array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=1; $v=v.1
iteration 2: $k=2; $v=v.2
iteration 3: $k=3; $v=v.3
iteration 4: $k=4; $v=new.0
iteration 5: $k=5; $v=new.1
** Stuck in a loop! **
--> State of array after loop:
array(10) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
[4]=>
string(5) "new.0"
[5]=>
string(5) "new.1"
[6]=>
string(5) "new.2"
[7]=>
string(5) "new.3"
[8]=>
string(5) "new.4"
[9]=>
string(5) "new.5"
}
Adding elements to the start of a referenced array
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
--> State of array after loop:
array(2) {
[0]=>
string(5) "new.0"
[1]=>
string(3) "v.0"
}
---( Array with 2 element(s): )---
--> State of referenced array before loop:
array(2) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=new.0
iteration 2: $k=0; $v=new.1
iteration 3: $k=0; $v=new.2
iteration 4: $k=0; $v=new.3
iteration 5: $k=0; $v=new.4
** Stuck in a loop! **
--> State of array after loop:
array(8) {
[0]=>
string(5) "new.5"
[1]=>
string(5) "new.4"
[2]=>
string(5) "new.3"
[3]=>
string(5) "new.2"
[4]=>
string(5) "new.1"
[5]=>
string(5) "new.0"
[6]=>
string(3) "v.0"
[7]=>
string(3) "v.1"
}
---( Array with 3 element(s): )---
--> State of referenced array before loop:
array(3) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=new.0
iteration 2: $k=0; $v=new.1
iteration 3: $k=0; $v=new.2
iteration 4: $k=0; $v=new.3
iteration 5: $k=0; $v=new.4
** Stuck in a loop! **
--> State of array after loop:
array(9) {
[0]=>
string(5) "new.5"
[1]=>
string(5) "new.4"
[2]=>
string(5) "new.3"
[3]=>
string(5) "new.2"
[4]=>
string(5) "new.1"
[5]=>
string(5) "new.0"
[6]=>
string(3) "v.0"
[7]=>
string(3) "v.1"
[8]=>
string(3) "v.2"
}
---( Array with 4 element(s): )---
--> State of referenced array before loop:
array(4) {
[0]=>
string(3) "v.0"
[1]=>
string(3) "v.1"
[2]=>
string(3) "v.2"
[3]=>
string(3) "v.3"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
iteration 1: $k=0; $v=new.0
iteration 2: $k=0; $v=new.1
iteration 3: $k=0; $v=new.2
iteration 4: $k=0; $v=new.3
iteration 5: $k=0; $v=new.4
** Stuck in a loop! **
--> State of array after loop:
array(10) {
[0]=>
string(5) "new.5"
[1]=>
string(5) "new.4"
[2]=>
string(5) "new.3"
[3]=>
string(5) "new.2"
[4]=>
string(5) "new.1"
[5]=>
string(5) "new.0"
[6]=>
string(3) "v.0"
[7]=>
string(3) "v.1"
[8]=>
string(3) "v.2"
[9]=>
string(3) "v.3"
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'error_reporting' not defined!
Expected: $a
array(1) {
[0]=>
string(8) "original"
}
${'a'}
array(1) {
[0]=>
string(8) "original"
}
$$a
array(1) {
[0]=>
string(8) "original"
}
$a[0]
array(1) {
[0]=>
string(8) "original"
}
$a[0][0]
array(1) {
[0]=>
string(8) "original"
}
$a->b
Warning: Creating default object from empty value in %s on line %d
array(1) {
[0]=>
string(8) "original"
}
$a->b->c
Warning: Creating default object from empty value in %s on line %d
array(1) {
[0]=>
string(8) "original"
}
$a->b[0]
array(1) {
[0]=>
string(8) "original"
}
$a->b[0][0]
array(1) {
[0]=>
string(8) "original"
}
$a->b[0]->c
Warning: Creating default object from empty value in %s on line %d
array(1) {
[0]=>
string(8) "original"
}
C::$a
array(1) {
[0]=>
string(8) "original"
}
C::$a[0]
array(1) {
[0]=>
string(8) "original"
}
C::$a[0]->b
Warning: Creating default object from empty value in %s on line %d
array(1) {
[0]=>
string(8) "original"
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'HexaChar
Expected: 10
Done
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: object(MealIterator)#%d (2) {
["pos":"MealIterator":private]=>
int(0)
["myContent":"MealIterator":private]=>
array(3) {
[0]=>
string(9) "breakfast"
[1]=>
string(5) "lunch"
[2]=>
string(6) "dinner"
}
}
-----( Simple iteration: )-----
--> MealIterator::rewind (0)
--> MealIterator::valid (0)
--> MealIterator::current (0)
--> MealIterator::key (0)
meal 0 => breakfast
--> MealIterator::next (0)
--> MealIterator::valid (1)
--> MealIterator::current (1)
--> MealIterator::key (1)
meal 1 => lunch
--> MealIterator::next (1)
--> MealIterator::valid (2)
--> MealIterator::current (2)
--> MealIterator::key (2)
meal 2 => dinner
--> MealIterator::next (2)
--> MealIterator::valid (3)
--> MealIterator::rewind (3)
-----( Nested iteration: )-----
--> MealIterator::rewind (0)
--> MealIterator::valid (0)
--> MealIterator::current (0)
--> MealIterator::key (0)
Top level 1:
meal 0 => breakfast
--> MealIterator::rewind (0)
--> MealIterator::valid (0)
--> MealIterator::current (0)
--> MealIterator::key (0)
meal 0 => breakfast
--> MealIterator::next (0)
--> MealIterator::valid (1)
--> MealIterator::current (1)
--> MealIterator::key (1)
meal 1 => lunch
--> MealIterator::next (1)
--> MealIterator::valid (2)
--> MealIterator::current (2)
--> MealIterator::key (2)
meal 2 => dinner
--> MealIterator::next (2)
--> MealIterator::valid (3)
--> MealIterator::next (3)
Notice: Undefined offset: 3 in %s on line %d
--> MealIterator::valid (4)
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: -----( Try to iterate with &$value: )-----
Fatal error: An iterator cannot be used with foreach by reference in %s on line 13
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: object(EuropeanMeals)#%d (2) {
["storedEnglishMealIterator":"EuropeanMeals":private]=>
object(EnglishMealIterator)#%d (2) {
["pos":"EnglishMealIterator":private]=>
int(0)
["myContent":"EnglishMealIterator":private]=>
array(3) {
[0]=>
string(9) "breakfast"
[1]=>
string(6) "dinner"
[2]=>
string(3) "tea"
}
}
["storedFrenchMealIterator":"EuropeanMeals":private]=>
object(FrenchMealIterator)#%d (2) {
["pos":"FrenchMealIterator":private]=>
int(0)
["myContent":"FrenchMealIterator":private]=>
array(4) {
[0]=>
string(14) "petit dejeuner"
[1]=>
string(8) "dejeuner"
[2]=>
string(6) "gouter"
[3]=>
string(6) "dinner"
}
}
}
-----( Simple iteration 1: )-----
--> EuropeanMeals::getIterator
--> EnglishMealIterator::rewind (0)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
meal 0 => breakfast
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
meal 1 => dinner
--> EnglishMealIterator::next (1)
--> EnglishMealIterator::valid (2)
--> EnglishMealIterator::current (2)
--> EnglishMealIterator::key (2)
meal 2 => tea
--> EnglishMealIterator::next (2)
--> EnglishMealIterator::valid (3)
-----( Simple iteration 2: )-----
--> EuropeanMeals::getIterator
--> FrenchMealIterator::rewind (0)
--> FrenchMealIterator::valid (0)
--> FrenchMealIterator::current (0)
--> FrenchMealIterator::key (0)
meal 0 => petit dejeuner
--> FrenchMealIterator::next (0)
--> FrenchMealIterator::valid (1)
--> FrenchMealIterator::current (1)
--> FrenchMealIterator::key (1)
meal 1 => dejeuner
--> FrenchMealIterator::next (1)
--> FrenchMealIterator::valid (2)
--> FrenchMealIterator::current (2)
--> FrenchMealIterator::key (2)
meal 2 => gouter
--> FrenchMealIterator::next (2)
--> FrenchMealIterator::valid (3)
--> FrenchMealIterator::current (3)
--> FrenchMealIterator::key (3)
meal 3 => dinner
--> FrenchMealIterator::next (3)
--> FrenchMealIterator::valid (4)
-----( Nested iteration: )-----
--> EuropeanMeals::getIterator
--> EnglishMealIterator::rewind (3)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
Top level 1:
meal 0 => breakfast
--> EuropeanMeals::getIterator
--> FrenchMealIterator::rewind (4)
--> FrenchMealIterator::valid (0)
--> FrenchMealIterator::current (0)
--> FrenchMealIterator::key (0)
meal 0 => petit dejeuner
--> FrenchMealIterator::next (0)
--> FrenchMealIterator::valid (1)
--> FrenchMealIterator::current (1)
--> FrenchMealIterator::key (1)
meal 1 => dejeuner
--> FrenchMealIterator::next (1)
--> FrenchMealIterator::valid (2)
--> FrenchMealIterator::current (2)
--> FrenchMealIterator::key (2)
meal 2 => gouter
--> FrenchMealIterator::next (2)
--> FrenchMealIterator::valid (3)
--> FrenchMealIterator::current (3)
--> FrenchMealIterator::key (3)
meal 3 => dinner
--> FrenchMealIterator::next (3)
--> FrenchMealIterator::valid (4)
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
Top level 2:
meal 1 => dinner
--> EuropeanMeals::getIterator
--> EnglishMealIterator::rewind (1)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
meal 0 => breakfast
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
meal 1 => dinner
--> EnglishMealIterator::next (1)
--> EnglishMealIterator::valid (2)
--> EnglishMealIterator::current (2)
--> EnglishMealIterator::key (2)
meal 2 => tea
--> EnglishMealIterator::next (2)
--> EnglishMealIterator::valid (3)
--> EnglishMealIterator::next (3)
--> EnglishMealIterator::valid (4)
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: 30: Objects returned by bad1::getIterator() must be traversable or implement interface Iterator
30: Objects returned by bad2::getIterator() must be traversable or implement interface Iterator
30: Objects returned by bad3::getIterator() must be traversable or implement interface Iterator
30: Objects returned by bad4::getIterator() must be traversable or implement interface Iterator
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: -----( A1: )-----
--> EnglishMealIterator::rewind (0)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
meal 0 => breakfast
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
meal 1 => dinner
--> EnglishMealIterator::next (1)
--> EnglishMealIterator::valid (2)
--> EnglishMealIterator::current (2)
--> EnglishMealIterator::key (2)
meal 2 => tea
--> EnglishMealIterator::next (2)
--> EnglishMealIterator::valid (3)
-----( A2: )-----
--> EnglishMealIterator::rewind (0)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
meal 0 => breakfast
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
meal 1 => dinner
--> EnglishMealIterator::next (1)
--> EnglishMealIterator::valid (2)
--> EnglishMealIterator::current (2)
--> EnglishMealIterator::key (2)
meal 2 => tea
--> EnglishMealIterator::next (2)
--> EnglishMealIterator::valid (3)
-----( A3: )-----
--> EnglishMealIterator::rewind (0)
--> EnglishMealIterator::valid (0)
--> EnglishMealIterator::current (0)
--> EnglishMealIterator::key (0)
meal 0 => breakfast
--> EnglishMealIterator::next (0)
--> EnglishMealIterator::valid (1)
--> EnglishMealIterator::current (1)
--> EnglishMealIterator::key (1)
meal 1 => dinner
--> EnglishMealIterator::next (1)
--> EnglishMealIterator::valid (2)
--> EnglishMealIterator::current (2)
--> EnglishMealIterator::key (2)
meal 2 => tea
--> EnglishMealIterator::next (2)
--> EnglishMealIterator::valid (3)
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: Interfaces not supported!
Expected: c::getIterator
c_iter::__construct
c_iter::rewind
c_iter::valid = true
c_iter::current
c_iter::key
c::getIterator
c_iter::__construct
c_iter::rewind
c_iter::valid = true
c_iter::current
double:0:0
c_iter::next
c_iter::valid = true
c_iter::current
c_iter::key
c::getIterator
c_iter::__construct
c_iter::rewind
c_iter::valid = true
c_iter::current
double:1:0
c_iter::next
c_iter::valid = true
c_iter::current
c_iter::key
c::getIterator
c_iter::__construct
c_iter::rewind
c_iter::valid = true
c_iter::current
double:2:0
c_iter::next
c_iter::valid = false
===DONE===
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_arg' not defined!
Expected: 2
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_arg' not defined!
Expected: int(3)
int(3)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_arg' not defined!
Expected: Warning: func_get_arg(): Called from the global scope - no function context in %s on line %d
bool(false)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_arg' not defined!
Expected: Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
bool(false)
K Cell:
.K
Outcome: not_supported
Result: string(10) "original.a"
Unsupported feature: 'func_get_arg' not defined!
Expected: string(10) "original.a"
string(10) "original.a"
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_arg' not defined!
Expected: Warning: func_get_arg() expects exactly 1 parameter, 0 given in %s on line %d
Warning: func_get_arg() expects exactly 1 parameter, 2 given in %s on line %d
Warning: func_get_arg() expects parameter 1 to be long, string given in %s on line %d
Warning: func_get_arg(): The argument number should be >= 0 in %s on line %d
Warning: func_get_arg(): Argument 2 not passed to function in %s on line %d
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_args' not defined!
Expected: array(0) {
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_args' not defined!
Expected: array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_get_args' not defined!
Expected: Warning\: func_get_args\(\)\: Called from the global scope - no function context in \S* on line 3
bool\(false\)
K Cell:
.K
Outcome: not_supported
Result: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
Unsupported feature: 'func_get_args' not defined!
Expected: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
array(2) {
[0]=>
string(10) "original.a"
[1]=>
string(10) "original.a"
}
array(2) {
[0]=>
string(10) "original.a"
[1]=>
string(9) "changed.y"
}
string(9) "changed.y"
-- Ref, Val --
string(10) "original.b"
string(10) "original.b"
array(2) {
[0]=>
string(10) "original.b"
[1]=>
string(10) "original.b"
}
array(2) {
[0]=>
string(9) "changed.x"
[1]=>
string(10) "original.b"
}
string(9) "changed.x"
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_num_args' not defined!
Expected: int(0)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_num_args' not defined!
Expected: int(3)
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: 'func_num_args' not defined!
Expected: Warning: func_num_args(): Called from the global scope - no function context in %s on line %d
int(-1)
K Cell:
.K
Outcome: not_supported
Result: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
Unsupported feature: 'func_num_args' not defined!
Expected: -- Val, Ref --
string(10) "original.a"
string(10) "original.a"
int(2)
int(2)
string(9) "changed.y"
-- Ref, Val --
string(10) "original.b"
string(10) "original.b"
int(2)
int(2)
string(9) "changed.x"
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Include not supported
Expected: Included!
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'RequireOnce not supported
Expected: Included!
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'RequireOnce not supported
Expected: Included!
K Cell:
.K
Outcome: not_supported
Result: array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
array(3) {
[0]=>
int(10)
[1]=>
int(11)
[2]=>
int(12)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(4)
[1]=>
int(5)
[2]=>
int(6)
}
array(3) {
[0]=>
int(7)
[1]=>
int(8)
[2]=>
int(9)
}
array(3) {
[0]=>
int(10)
[1]=>
int(11)
[2]=>
int(12)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: KPHP ERROR: 'Include not supported
Expected: caught exception
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: Type hints
Expected: Catchable fatal error: Argument 1 passed to type_hint_foo() must be an instance of Foo, instance of Bar given, called in %s on line 16 and defined in %s on line 9
K Cell:
.K
Outcome: not_supported
Result: Unsupported feature: Type Hints
Expected: object(P)#2 (0) {
}
-
NULL
-
NULL
-
K Cell:
.K
manual-review
Outcome: output_needs_manual_review
Result: Warning: Only variables should be assigned by reference in %s on line %d
array(1) {
["foo"]=>
string(4) "test"
}
Warning: Only variables should be assigned by reference in %s on line %d
array(1) {
["foo"]=>
string(4) "test"
}
Expected: Strict Standards: Only variables should be assigned by reference in %sbug21600.php on line 4
array(1) {
["foo"]=>
string(4) "test"
}
Strict Standards: Only variables should be assigned by reference in %sbug21600.php on line 11
array(1) {
["foo"]=>
string(4) "test"
}
K Cell:
.K
Outcome: output_needs_manual_review
Result: Notice: Undefined variable: %s in %s on line %d
Expected: OK
K Cell:
.K
Outcome: output_needs_manual_review
Result: Notice: Undefined property: %s in %s on line %d
Expected: Exception raised!
K Cell:
'FunctionCall(locNull,, "get_name",, 'ListWrap(.KList)) ~> 'Echo(
'ListWrap(HOLE)) ~> 'ListWrap(.KList) ~> popx ~> 'Echo('ListWrap
('Literal("\n")))
Outcome: output_needs_manual_review
Result: 123
Notice: Undefined property: %s in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
123
===DONE===
Expected: 123
Notice: Undefined property: test::$foobar in %s on line %d
Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Invalid argument supplied for foreach() in %s on line %d
123
===DONE===
K Cell:
.K
Outcome: output_needs_manual_review
Result: Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
===DONE===
Expected: Warning: Illegal string offset 'nosuchkey' in %sbug29566.php on line %d
Warning: Invalid argument supplied for foreach() in %sbug29566.php on line %d
===DONE===
K Cell:
.K
Outcome: output_needs_manual_review
Result: A=hello B=bye
Warning: Cannot use a scalar value as an array in %s on line %d
Expected: A=hello B=bye
Warning: Cannot use a scalar value as an array in %s on line %d
array(2) {
[0]=>
int(10)
[1]=>
int(10)
}
array(2) {
[0]=>
int(30)
[1]=>
int(30)
}
array(3) {
[0]=>
int(1000)
[1]=>
int(2000)
[2]=>
int(3000)
}
L=100 M=200 N=300
O= and P=
10 20 40 50 60 70 80
Notice: Undefined offset: 1 in %s on line %d
Notice: Undefined offset: 0 in %s on line %d
Y=,Z=
Notice: Undefined offset: 1 in %s on line %d
AA=10
CC=10 DD=30
Array
(
[0] => array created in f()
[array entry created after f()] => Array
(
[1] => hello
)
)
K Cell:
write ( 1 , locNull ) ~> 1 ~> 'Expr(HOLE) ~> 'Expr('Assign(
'Variable('Simple("d")),, 'Array('ListWrap('Pair('None(.KList)
,, 'Value('LNumber('Deci("0")))),, 'Pair('None(.KList),, 'Value(
'LNumber('Deci("10")))))))) ~> 'Expr('Assign('Variable('Simple(
"i")),, 'LNumber('Deci("0")))) ~> 'Expr('Assign('ArrayAccess(
'Variable('Simple("d")),, 'Some('PostInc('Variable('Simple("i"))
))),, 'Mul('Variable('Simple("i")),, 'LNumber('Deci("10")))))
~> 'Expr('FunctionCall('FunctionName("var_dump"),, 'ListWrap(
'Param('Variable('Simple("d")))))) ~> 'Expr('Assign('Variable(
'Simple("e")),, 'Array('ListWrap('Pair('None(.KList),, 'Value(
'LNumber('Deci("0")))),, 'Pair('None(.KList),, 'Value('LNumber(
'Deci("0")))))))) ~> 'Expr('Assign('Variable('Simple("f")),,
'LNumber('Deci("0")))) ~> 'Expr('Assign('Variable('Simple("g1"))
,, 'Array('ListWrap('Pair('None(.KList),, 'Value('LNumber('Deci(
"10")))),, 'Pair('None(.KList),, 'Value('LNumber('Deci("10")))))
))) ~> 'Expr('Assign('Variable('Simple("g2")),, 'Array('ListWrap
('Pair('None(.KList),, 'Value('LNumber('Deci("20")))),, 'Pair(
'None(.KList),, 'Value('LNumber('Deci("20")))))))) ~> 'Expr(
'Assign('Variable('Simple("g3")),, 'Array('ListWrap('Pair('None(
.KList),, 'Value('LNumber('Deci("30")))),, 'Pair('None(.KList)
,, 'Value('LNumber('Deci("30")))))))) ~> 'Expr('Assign('Variable
('Simple("g")),, 'Array('ListWrap('Pair('None(.KList),, 'Value(
'Variable('Simple("g1")))),, 'Pair('None(.KList),, 'Value(
'Variable('Simple("g2")))),, 'Pair('None(.KList),, 'Value(
'Variable('Simple("g3")))))))) ~> 'Expr('ListAssign('List(
'ListWrap('Some('ArrayAccess('Variable('Simple("e")),, 'Some(
'PostInc('Variable('Simple("f")))))),, 'Some('ArrayAccess(
'Variable('Simple("e")),, 'Some('PostInc('Variable('Simple("f"))
)))))),, 'ArrayAccess('Variable('Simple("g")),, 'Some('Variable(
'Simple("f")))))) ~> 'Expr('FunctionCall('FunctionName(
"var_dump"),, 'ListWrap('Param('Variable('Simple("e")))))) ~>
'Expr('Assign('Variable('Simple("i1")),, 'Array('ListWrap('Pair(
'None(.KList),, 'Value('LNumber('Deci("1")))),, 'Pair('None(
.KList),, 'Value('LNumber('Deci("2")))))))) ~> 'Expr('Assign(
'Variable('Simple("i2")),, 'Array('ListWrap('Pair('None(.KList)
,, 'Value('LNumber('Deci("10")))),, 'Pair('None(.KList),, 'Value
('LNumber('Deci("20")))))))) ~> 'Expr('Assign('Variable('Simple(
"i3")),, 'Array('ListWrap('Pair('None(.KList),, 'Value('LNumber(
'Deci("100")))),, 'Pair('None(.KList),, 'Value('LNumber('Deci(
"200")))))))) ~> 'Expr('Assign('Variable('Simple("i4")),, 'Array
('ListWrap('Pair('None(.KList),, 'Value('Array('ListWrap('Pair(
'None(.KList),, 'Value('LNumber('Deci("1000")))),, 'Pair('None(
.KList),, 'Value('LNumber('Deci("2000")))))))),, 'Pair('None(
.KList),, 'Value('LNumber('Deci("3000")))))))) ~> 'Expr('Assign(
'Variable('Simple("i")),, 'Array('ListWrap('Pair('None(.KList)
,, 'Value('Variable('Simple("i1")))),, 'Pair('None(.KList),,
'Value('Variable('Simple("i2")))),, 'Pair('None(.KList),, 'Value
('Variable('Simple("i3")))),, 'Pair('None(.KList),, 'Value(
'Variable('Simple("i4")))))))) ~> 'Expr('Assign('Variable(
'Simple("j")),, 'Array('ListWrap('Pair('None(.KList),, 'Value(
'LNumber('Deci("0")))),, 'Pair('None(.KList),, 'Value('LNumber(
'Deci("0")))),, 'Pair('None(.KList),, 'Value('LNumber('Deci("0")
))))))) ~> 'Expr('Assign('Variable('Simple("h")),, 'LNumber(
'Deci("0")))) ~> 'Expr('ListAssign('List('ListWrap('Some('List(
'ListWrap('Some('ArrayAccess('Variable('Simple("j")),, 'Some(
'PostInc('Variable('Simple("h")))))),, 'Some('ArrayAccess(
'Variable('Simple("j")),, 'Some('PostInc('Variable('Simple("h"))
))))))),, 'Some('ArrayAccess('Variable('Simple("j")),, 'Some(
'PostInc('Variable('Simple("h")))))))),, 'ArrayAccess('Variable(
'Simple("i")),, 'Some('Variable('Simple("h")))))) ~> 'Expr(
'FunctionCall('FunctionName("var_dump"),, 'ListWrap('Param(
'Variable('Simple("j")))))) ~> 'Expr('Assign('Variable('Simple(
"k3")),, 'Array('ListWrap('Pair('None(.KList),, 'Value('LNumber(
'Deci("100")))),, 'Pair('None(.KList),, 'Value('LNumber('Deci(
"200")))))))) ~> 'Expr('Assign('Variable('Simple("k")),, 'Array(
'ListWrap('Pair('None(.KList),, 'Value('Variable('Simple("k3")))
),, 'Pair('None(.KList),, 'Value('LNumber('Deci("300"))))))))
~> 'Expr('ListAssign('List('ListWrap('Some('List('ListWrap(
'Some('Variable('Simple("l"))),, 'Some('Variable('Simple("m"))))
)),, 'Some('Variable('Simple("n"))))),, 'Variable('Simple("k")))
) ~> 'Echo('ListWrap('ConstantEncapsedString('DoubleQuoted(
'DQContent('Some('Literal("L=")),, 'DQContent('DQContent(
'DQContent('Variable('Simple("l")),, 'Some('Literal(" M=")),,
'Variable('Simple("m"))),, 'Some('Literal(" N=")),, 'Variable(
'Simple("n"))),, 'None(.KList),, 'Escape(110)),, 'None(.KList)))
))) ~> 'Expr('ListAssign('List('ListWrap('Some('Variable('Simple
("o"))),, 'Some('Variable('Simple("p"))))),, 'LNumber('Deci("20"
)))) ~> 'Echo('ListWrap('ConstantEncapsedString('DoubleQuoted(
'DQContent('Some('Literal("O=")),, 'DQContent('DQContent(
'Variable('Simple("o")),, 'Some('Literal(" and P=")),, 'Variable
('Simple("p"))),, 'None(.KList),, 'Escape(110)),, 'None(.KList))
)))) ~> 'Expr('Assign('Variable('Simple("q1")),, 'Array(
'ListWrap('Pair('None(.KList),, 'Value('LNumber('Deci("10"))))
,, 'Pair('None(.KList),, 'Value('LNumber('Deci("20")))),, 'Pair(
'None(.KList),, 'Value('LNumber('Deci("30")))),, 'Pair('None(
.KList),, 'Value('LNumber('Deci("40")))))))) ~> 'Expr('Assign(
'Variable('Simple("q2")),, 'Array('ListWrap('Pair('None(.KList)
,, 'Value('LNumber('Deci("50")))),, 'Pair('None(.KList),, 'Value
('LNumber('Deci("60")))))))) ~> 'Expr('Assign('Variable('Simple(
"q3")),, 'Array('ListWrap('Pair('None(.KList),, 'Value('Variable
('Simple("q1")))),, 'Pair('None(.KList),, 'Value('Variable(
'Simple("q2")))),, 'Pair('None(.KList),, 'Value('Null(.KList)))
,, 'Pair('None(.KList),, 'Value('LNumber('Deci("70")))))))) ~>
'Expr('Assign('Variable('Simple("q4")),, 'Array('ListWrap('Pair(
'None(.KList),, 'Value('Variable('Simple("q3")))),, 'Pair('None(
.KList),, 'Value('Null(.KList))),, 'Pair('None(.KList),, 'Value(
'LNumber('Deci("80")))))))) ~> 'Expr('ListAssign('List('ListWrap
('Some('List('ListWrap('Some('List('ListWrap('Some('Variable(
'Simple("r"))),, 'Some('Variable('Simple("s"))),, 'None(.KList)
,, 'Some('Variable('Simple("t")))))),, 'Some('List('ListWrap(
'Some('Variable('Simple("u"))),, 'Some('Variable('Simple("v"))))
)),, 'None(.KList),, 'Some('Variable('Simple("w")))))),, 'None(
.KList),, 'Some('Variable('Simple("x"))))),, 'Variable('Simple(
"q4")))) ~> 'Echo('ListWrap('ConstantEncapsedString(
'DoubleQuoted('DQContent('None(.KList),, 'DQContent('DQContent(
'DQContent('DQContent('DQContent('DQContent('DQContent('Variable
('Simple("r")),, 'Some('Literal(" ")),, 'Variable('Simple("s")))
,, 'Some('Literal(" ")),, 'Variable('Simple("t"))),, 'Some(
'Literal(" ")),, 'Variable('Simple("u"))),, 'Some('Literal(" "))
,, 'Variable('Simple("v"))),, 'Some('Literal(" ")),, 'Variable(
'Simple("w"))),, 'Some('Literal(" ")),, 'Variable('Simple("x")))
,, 'None(.KList),, 'Escape(110)),, 'None(.KList)))))) ~> 'Expr(
'ListAssign('List('ListWrap('Some('Variable('Simple("y"))),,
'Some('Variable('Simple("z"))))),, 'Array('ListWrap(.KList))))
~> 'Echo('ListWrap('ConstantEncapsedString('DoubleQuoted(
'DQContent('Some('Literal("Y=")),, 'DQContent('DQContent(
'Variable('Simple("y")),, 'Some('Literal(",Z=")),, 'Variable(
'Simple("z"))),, 'None(.KList),, 'Escape(110)),, 'None(.KList)))
))) ~> 'Expr('ListAssign('List('ListWrap('Some('Variable('Simple
("aa"))),, 'Some('Variable('Simple("bb"))))),, 'Array('ListWrap(
'Pair('None(.KList),, 'Value('LNumber('Deci("10")))))))) ~>
'Echo('ListWrap('ConstantEncapsedString('DoubleQuoted('DQContent
('Some('Literal("AA=")),, 'DQContent('Variable('Simple("aa")),,
'None(.KList),, 'Escape(110)),, 'None(.KList)))))) ~> 'Expr(
'ListAssign('List('ListWrap('Some('Variable('Simple("cc"))),,
'None(.KList),, 'Some('Variable('Simple("dd"))))),, 'Array(
'ListWrap('Pair('None(.KList),, 'Value('LNumber('Deci("10"))))
,, 'Pair('None(.KList),, 'Value('LNumber('Deci("20")))),, 'Pair(
'None(.KList),, 'Value('LNumber('Deci("30")))),, 'Pair('None(
.KList),, 'Value('LNumber('Deci("40")))))))) ~> 'Echo('ListWrap(
'ConstantEncapsedString('DoubleQuoted('DQContent('Some('Literal(
"CC=")),, 'DQContent('DQContent('Variable('Simple("cc")),, 'Some
('Literal(" DD=")),, 'Variable('Simple("dd"))),, 'None(.KList)
,, 'Escape(110)),, 'None(.KList)))))) ~> 'Expr('Assign('Variable
('Simple("ee")),, 'Array('ListWrap('Pair('None(.KList),, 'Value(
'ConstantEncapsedString('DoubleQuoted('DQContent('Some('Literal(
"original array"))))))))))) ~> 'Expr('Assign('ArrayAccess(
'ArrayAccess('Variable('Simple("ee")),, 'Some(
'ConstantEncapsedString('DoubleQuoted('DQContent('Some('Literal(
"array entry created after f()"))))))),, 'Some('FunctionCall(
'FunctionName("f"),, 'ListWrap(.KList)))),,
'ConstantEncapsedString('DoubleQuoted('DQContent('Some('Literal(
"hello"))))))) ~> 'Expr('FunctionCall('FunctionName("print_r")
,, 'ListWrap('Param('Variable('Simple("ee")))))) ~> 'Echo(
'ListWrap('Literal("\n")))
Outcome: output_needs_manual_review
Result: Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
Deprecated: Assigning the return value of new by reference is deprecated in %s on line %d
Array
(
[2]=> Array
(
[3]=> stdClass
)
[0]=> Array
(
[1]=> stdClass Object
(
)
)
)
stdClass Object
(
["a"]=> stdClass Object
(
["b"]=> stdClass Object
(
)
)
)
Expected: Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 3
Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 7
Deprecated: Assigning the return value of new by reference is deprecated in %s.php on line 8
Array
(
[2] => Array
(
[3] => stdClass
)
[0] => Array
(
[1] => stdClass Object
(
)
)
)
stdClass Object
(
[a] => stdClass Object
(
[b] => stdClass Object
(
)
)
)
K Cell:
.K
Outcome: output_needs_manual_review
Result: Not an array.
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
Warning: Warning: Invalid argument supplied for foreach() in %s on line %d
done.
Expected: Not an array.
Warning: Invalid argument supplied for foreach() in %s on line 4
Warning: Invalid argument supplied for foreach() in %s on line 9
Warning: Invalid argument supplied for foreach() in %s on line 14
Warning: Invalid argument supplied for foreach() in %s on line 19
Warning: Invalid argument supplied for foreach() in %s on line 24
done.
K Cell:
.K
Outcome: output_needs_manual_review
Result: Fatal error: Key element cannot be a reference in %s on line $d
Expected: Fatal error: Key element cannot be a reference in %s on line 3
K Cell:
.K
Outcome: output_needs_manual_review
Result: Change from array to non iterable:
int(1)
Warning: Invalid argument supplied for foreach() in %s on line %d
Change from object to non iterable:
int(1)
Warning: Invalid argument supplied for foreach() in %s on line %d
Expected: Change from array to non iterable:
int(1)
Warning: Invalid argument supplied for foreach() in %s on line 5
Change from object to non iterable:
int(1)
Warning: Invalid argument supplied for foreach() in %s on line 15
K Cell:
.K
Outcome: output_needs_manual_review
Result: Removing the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
Notice: Undefined property: %s in %s on line %d
string(10) "Original c"
Notice: Undefined property: %s in %s on line %d
string(10) "Original d"
Notice: Undefined property: %s in %s on line %d
string(10) "Original e"
object(C)#%d (4) {
["a"]=>
string(10) "Original a"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
===DONE===
Expected: Removing the current element from an iterated object.
string(10) "Original a"
string(10) "Original b"
Notice: Undefined property: C::$b in %s on line %d
string(10) "Original c"
Notice: Undefined property: C::$b in %s on line %d
string(10) "Original d"
Notice: Undefined property: C::$b in %s on line %d
string(10) "Original e"
object(C)#%d (4) {
["a"]=>
string(10) "Original a"
["c"]=>
string(10) "Original c"
["d"]=>
string(10) "Original d"
["e"]=>
string(10) "Original e"
}
===DONE===
K Cell:
.K
Outcome: output_needs_manual_review
Result: Warning: Only variables should be assigned by reference in %s on line %d
int(2)
Expected: Fatal error: Only variables can be passed by reference in %s on line 8
K Cell:
.K
Outcome: output_needs_manual_review
Result: Passing undefined by value
Notice: Undefined variable: %s in %s on line %d
Inside passbyVal call:
NULL
After call
Notice: Undefined variable: %s in %s on line %d
NULL
Passing undefined by reference
Inside passbyRef call:
NULL
After call
array(1) {
[0]=>
NULL
}
Expected: Passing undefined by value
Notice: Undefined variable: undef1 in %s on line 13
Inside passbyVal call:
NULL
After call
Notice: Undefined variable: undef1 in %s on line 15
NULL
Passing undefined by reference
Inside passbyRef call:
NULL
After call
array(1) {
[0]=>
NULL
}
K Cell:
.K
Outcome: output_needs_manual_review
Result: Warning: Only variables should be assigned by reference in %s on line %d
int(5)
Expected: Strict Standards: Only variables should be passed by reference in %s on line 13
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---- Pass by ref / pass by val: functions ----
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
NULL
string(12) "Ref1 changed"
string(12) "Ref2 changed"
---- Pass by ref / pass by val: static method calls ----
Notice: Non-static method should not be called statically
Notice: Undefined variable: %s in %s on line %d
Notice: Non-static method should not be called statically
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Non-static method should not be called statically
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Non-static method should not be called statically
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Non-static method should not be called statically
Notice: Undefined variable: %s in %s on line %d
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Non-static method should not be called statically
string(12) "Ref1 changed"
string(12) "Ref2 changed"
---- Pass by ref / pass by val: instance method calls ----
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
NULL
Notice: Undefined variable: %s in %s on line %d
Notice: Undefined variable: %s in %s on line %d
NULL
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
string(11) "Ref changed"
Notice: Undefined variable: %s in %s on line %d
NULL
string(12) "Ref1 changed"
string(12) "Ref2 changed"
Expected: ---- Pass by ref / pass by val: functions ----
Notice: Undefined variable: u1 in %s on line 72
Notice: Undefined variable: u1 in %s on line 74
NULL
string(11) "Ref changed"
Notice: Undefined variable: u1 in %s on line 77
Notice: Undefined variable: u2 in %s on line 77
Notice: Undefined variable: u1 in %s on line 78
Notice: Undefined variable: u2 in %s on line 78
NULL
NULL
Notice: Undefined variable: u1 in %s on line 81
Notice: Undefined variable: u1 in %s on line 82
NULL
string(11) "Ref changed"
Notice: Undefined variable: u2 in %s on line 85
Notice: Undefined variable: u2 in %s on line 86
string(11) "Ref changed"
NULL
string(12) "Ref1 changed"
string(12) "Ref2 changed"
---- Pass by ref / pass by val: static method calls ----
Notice: Undefined variable: u1 in %s on line 95
Strict Standards: Non-static method C::v() should not be called statically in %s on line 95
Strict Standards: Non-static method C::r() should not be called statically in %s on line 96
Notice: Undefined variable: u1 in %s on line 97
NULL
string(11) "Ref changed"
Notice: Undefined variable: u1 in %s on line 100
Notice: Undefined variable: u2 in %s on line 100
Strict Standards: Non-static method C::vv() should not be called statically in %s on line 100
Notice: Undefined variable: u1 in %s on line 101
Notice: Undefined variable: u2 in %s on line 101
NULL
NULL
Notice: Undefined variable: u1 in %s on line 104
Strict Standards: Non-static method C::vr() should not be called statically in %s on line 104
Notice: Undefined variable: u1 in %s on line 105
NULL
string(11) "Ref changed"
Notice: Undefined variable: u2 in %s on line 108
Strict Standards: Non-static method C::rv() should not be called statically in %s on line 108
Notice: Undefined variable: u2 in %s on line 109
string(11) "Ref changed"
NULL
Strict Standards: Non-static method C::rr() should not be called statically in %s on line 112
string(12) "Ref1 changed"
string(12) "Ref2 changed"
---- Pass by ref / pass by val: instance method calls ----
Notice: Undefined variable: u1 in %s on line 117
Notice: Undefined variable: u1 in %s on line 118
NULL
string(11) "Ref changed"
Notice: Undefined variable: u1 in %s on line 121
Notice: Undefined variable: u1 in %s on line 123
NULL
string(11) "Ref changed"
Notice: Undefined variable: u1 in %s on line 126
Notice: Undefined variable: u2 in %s on line 126
Notice: Undefined variable: u1 in %s on line 127
Notice: Undefined variable: u2 in %s on line 127
NULL
NULL
Notice: Undefined variable: u1 in %s on line 130
Notice: Undefined variable: u1 in %s on line 131
NULL
string(11) "Ref changed"
Notice: Undefined variable: u2 in %s on line 134
Notice: Undefined variable: u2 in %s on line 135
string(11) "Ref changed"
NULL
string(12) "Ref1 changed"
string(12) "Ref2 changed"
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---- Pass uninitialised array & object by ref: function call ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: static method call ---
Notice: Non-static method should not be called statically
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: constructor ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: instance method call ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
Expected: ---- Pass uninitialised array & object by ref: function call ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: static method call ---
Strict Standards: Non-static method C::refs() should not be called statically in %s on line 39
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: constructor ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
---- Pass uninitialised arrays & objects by ref: instance method call ---
array(1) {
[0]=>
string(12) "Ref1 changed"
}
array(1) {
[0]=>
array(1) {
[1]=>
string(12) "Ref2 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
string(12) "Ref3 changed"
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
string(12) "Ref4 changed"
}
}
object(stdClass)#%d (1) {
["a"]=>
object(stdClass)#%d (1) {
["b"]=>
object(stdClass)#%d (1) {
["c"]=>
string(12) "Ref5 changed"
}
}
}
K Cell:
.K
Outcome: output_needs_manual_review
Result: Pass a function call that returns a value:
Warning: Only variables should be assigned by reference in %s on line %d
string(8) "original"
string(8) "original"
Pass a function call that returns a reference:
string(8) "original"
string(7) "changed"
Pass a static method call that returns a value:
Warning: Only variables should be assigned by reference in %s on line %d
string(8) "original"
string(8) "original"
Pass a static method call that returns a reference:
string(8) "original"
string(7) "changed"
Pass a method call that returns a value:
Warning: Only variables should be assigned by reference in %s on line %d
string(8) "original"
string(8) "original"
Pass a method call that returns a reference:
string(8) "original"
string(7) "changed"
Expected: Pass a function call that returns a value:
Strict Standards: Only variables should be passed by reference in %s on line 44
string(8) "original"
string(8) "original"
Pass a function call that returns a reference:
string(8) "original"
string(7) "changed"
Pass a static method call that returns a value:
Strict Standards: Only variables should be passed by reference in %s on line 55
string(8) "original"
string(8) "original"
Pass a static method call that returns a reference:
string(8) "original"
string(7) "changed"
Pass a method call that returns a value:
Strict Standards: Only variables should be passed by reference in %s on line 67
string(8) "original"
string(8) "original"
Pass a method call that returns a reference:
string(8) "original"
string(7) "changed"
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> Pass constant assignment by reference:
Warning: Only variables should be assigned by reference in %s on line %d
string(10) "a.original"
string(10) "a.original"
---> Pass variable assignment by reference:
Warning: Only variables should be assigned by reference in %s on line %d
string(10) "a.original"
string(10) "a.original"
---> Pass reference assignment by reference:
string(10) "a.original"
string(9) "a.changed"
---> Pass concat assignment by reference:
Warning: Only variables should be assigned by reference in %s on line %d
string(20) "b.originala.original"
string(10) "a.original"
Expected: ---> Pass constant assignment by reference:
Strict Standards: Only variables should be passed by reference in %s on line 9
string(10) "a.original"
string(10) "a.original"
---> Pass variable assignment by reference:
Strict Standards: Only variables should be passed by reference in %s on line 15
string(10) "a.original"
string(10) "a.original"
---> Pass reference assignment by reference:
string(10) "a.original"
string(9) "a.changed"
---> Pass concat assignment by reference:
Strict Standards: Only variables should be passed by reference in %s on line 28
string(20) "b.originala.original"
string(10) "a.original"
K Cell:
.K
Outcome: output_needs_manual_review
Result: Warning: Only variables should be assigned by reference in %s on line %d
string(8) "original"
string(7) "changed"
Expected: Strict Standards: Only variables should be assigned by reference in %s on line 13
string(8) "original"
string(7) "changed"
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Strict Standards: Only variables should be assigned by reference in %s on line 17
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 7
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Strict Standards: Only variables should be assigned by reference in %s on line 19
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 8
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Trying to assign by reference the return value of a function that returns by value:
Strict Standards: Only variables should be assigned by reference in %s on line 20
int(5)
int(100)
---> 2. Trying to assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 8
int(5)
int(100)
---> 3. Trying to assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line 15
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 7
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line 16
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 8
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
Outcome: output_needs_manual_review
Result: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line %d
Notice: Only variable references should be returned by reference in %s on line %d
Warning: Only variables should be assigned by reference in %s on line %d
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
Expected: ---> 1. Via a return by ref function call, assign by reference the return value of a function that returns by value:
Notice: Only variable references should be returned by reference in %s on line 16
int(5)
int(100)
---> 2. Via a return by ref function call, assign by reference the return value of a function that returns a constant by ref:
Notice: Only variable references should be returned by reference in %s on line 8
int(5)
int(100)
---> 3. Via a return by ref function call, assign by reference the return value of a function that returns by ref:
int(5)
int(5)
K Cell:
.K
no-expected-result
parser-issue
Outcome: parsing_issue
Result:
*** Testing assignments and variable aliasing: ***
This should read "blah": blah
This should read "this is nifty": this is nifty
*************************************************
*** Testing integer operators ***
Correct result - 8: 8
Correct result - 8: 8
Correct result - 2: 2
Correct result - -2: -2
Correct result - 15: 15
Correct result - 15: 15
Correct result - 2: 2
Correct result - 3: 3
*********************************
*** Testing real operators ***
Correct result - 8: 8
Correct result - 8: 8
Correct result - 2: 2
Correct result - -2: -2
Correct result - 15: 15
Correct result - 15: 15
Correct result - 2: 2
Correct result - 3: 3
*********************************
*** Testing if/elseif/else control ***
This works
this_still_works
should_print
*** Seriously nested if's test ***
** spelling correction by kluzz **
Only two lines of text should follow:
this should be displayed. should be: $i=1, $j=0. is: $i=1, $j=0
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: PARSING BUG!!!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: PARSING BUG!!!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: PARSING BUG!!!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Order with local assignment:
in f()
in g()
string(14) "assigned value"
Order with array assignment:
in f()
in g()
array(1) {
["name"]=>
string(14) "assigned value"
}
Order with object property assignment:
in f()
in g()
object(stdClass)#%d (1) {
["name"]=>
string(14) "assigned value"
}
Order with nested object property assignment:
in f()
in g()
object(stdClass)#%d (1) {
["o1"]=>
object(stdClass)#%d (1) {
["o2"]=>
object(stdClass)#%d (1) {
["name"]=>
string(14) "assigned value"
}
}
}
Order with dim_list property assignment:
in f()
PARSING BUG!!!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Directly changing array values.
string(10) "original.1"
string(10) "original.2"
string(10) "original.3"
array(3) {
[0]=>
string(9) "changed.0"
[1]=>
string(9) "changed.1"
[2]=>
string(9) "changed.2"
}
Modifying the foreach $value.
array(3) {
[0]=>
string(10) "original.1"
[1]=>
string(10) "original.2"
[2]=>
string(10) "original.3"
}
Modifying the foreach &$value.
array(3) {
[0]=>
string(9) "changed.0"
[1]=>
string(9) "changed.1"
[2]=>
&string(9) "changed.2"
}
Pushing elements onto an unreferenced array.
Unsupported feature: 'array_push' not defined!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Remove elements from a referenced array during loop
Unsupported feature: 'array_pop' not defined!
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Popping elements off end of an unreferenced array, using &$value.
---( Array with 1 element(s): )---
--> State of array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Popping elements off end of a referenced array, using &$value
---( Array with 1 element(s): )---
--> State of referenced array before loop:
array(1) {
[0]=>
string(3) "v.0"
}
--> Do loop:
iteration 0: $k=0; $v=v.0
Unsupported feature: KPHP ERROR: 'Eval not supported
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -
Outcome: parsing_issue
Result: Parsing problem. Probably due to outdated parser.
Expected: -
K Cell: -