Skip to content

Commit faae099

Browse files
committed
#137 - Add test case
1 parent 49a3339 commit faae099

File tree

1 file changed

+175
-0
lines changed

1 file changed

+175
-0
lines changed
Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
--TEST--
2+
Function definition with `false` return type
3+
--SKIPIF--
4+
<?php include(__DIR__ . '/../../skipif.inc'); ?>
5+
--FILE--
6+
<?php
7+
$code =<<<ZEP
8+
function singleReturn() -> false { return false; }
9+
10+
function unionReturn() -> int | false { return 1; }
11+
ZEP;
12+
13+
$ir = zephir_parse_file($code, '(eval code)');
14+
var_dump($ir);
15+
?>
16+
--EXPECT--
17+
array(2) {
18+
[0]=>
19+
array(7) {
20+
["type"]=>
21+
string(8) "function"
22+
["name"]=>
23+
string(12) "singleReturn"
24+
["statements"]=>
25+
array(1) {
26+
[0]=>
27+
array(5) {
28+
["type"]=>
29+
string(6) "return"
30+
["expr"]=>
31+
array(5) {
32+
["type"]=>
33+
string(4) "bool"
34+
["value"]=>
35+
string(5) "false"
36+
["file"]=>
37+
string(11) "(eval code)"
38+
["line"]=>
39+
int(1)
40+
["char"]=>
41+
int(49)
42+
}
43+
["file"]=>
44+
string(11) "(eval code)"
45+
["line"]=>
46+
int(1)
47+
["char"]=>
48+
int(51)
49+
}
50+
}
51+
["return-type"]=>
52+
array(6) {
53+
["type"]=>
54+
string(11) "return-type"
55+
["list"]=>
56+
array(1) {
57+
[0]=>
58+
array(6) {
59+
["type"]=>
60+
string(21) "return-type-parameter"
61+
["data-type"]=>
62+
string(5) "false"
63+
["mandatory"]=>
64+
int(0)
65+
["file"]=>
66+
string(11) "(eval code)"
67+
["line"]=>
68+
int(1)
69+
["char"]=>
70+
int(35)
71+
}
72+
}
73+
["void"]=>
74+
int(0)
75+
["file"]=>
76+
string(11) "(eval code)"
77+
["line"]=>
78+
int(1)
79+
["char"]=>
80+
int(35)
81+
}
82+
["file"]=>
83+
string(11) "(eval code)"
84+
["line"]=>
85+
int(3)
86+
["char"]=>
87+
int(8)
88+
}
89+
[1]=>
90+
array(7) {
91+
["type"]=>
92+
string(8) "function"
93+
["name"]=>
94+
string(11) "unionReturn"
95+
["statements"]=>
96+
array(1) {
97+
[0]=>
98+
array(5) {
99+
["type"]=>
100+
string(6) "return"
101+
["expr"]=>
102+
array(5) {
103+
["type"]=>
104+
string(3) "int"
105+
["value"]=>
106+
string(1) "1"
107+
["file"]=>
108+
string(11) "(eval code)"
109+
["line"]=>
110+
int(3)
111+
["char"]=>
112+
int(49)
113+
}
114+
["file"]=>
115+
string(11) "(eval code)"
116+
["line"]=>
117+
int(3)
118+
["char"]=>
119+
int(51)
120+
}
121+
}
122+
["return-type"]=>
123+
array(6) {
124+
["type"]=>
125+
string(11) "return-type"
126+
["list"]=>
127+
array(2) {
128+
[0]=>
129+
array(6) {
130+
["type"]=>
131+
string(21) "return-type-parameter"
132+
["data-type"]=>
133+
string(3) "int"
134+
["mandatory"]=>
135+
int(0)
136+
["file"]=>
137+
string(11) "(eval code)"
138+
["line"]=>
139+
int(3)
140+
["char"]=>
141+
int(31)
142+
}
143+
[1]=>
144+
array(6) {
145+
["type"]=>
146+
string(21) "return-type-parameter"
147+
["data-type"]=>
148+
string(5) "false"
149+
["mandatory"]=>
150+
int(0)
151+
["file"]=>
152+
string(11) "(eval code)"
153+
["line"]=>
154+
int(3)
155+
["char"]=>
156+
int(39)
157+
}
158+
}
159+
["void"]=>
160+
int(0)
161+
["file"]=>
162+
string(11) "(eval code)"
163+
["line"]=>
164+
int(3)
165+
["char"]=>
166+
int(39)
167+
}
168+
["file"]=>
169+
string(11) "(eval code)"
170+
["line"]=>
171+
int(3)
172+
["char"]=>
173+
int(8)
174+
}
175+
}

0 commit comments

Comments
 (0)