@@ -92,6 +92,10 @@ public function constantInteger(int $int): void
92
92
93
93
/** @var -1 $int */
94
94
assertType ('1 ' , abs ($ int ));
95
+
96
+ assertType ('123 ' , abs (123 ));
97
+
98
+ assertType ('123 ' , abs (-123 ));
95
99
}
96
100
97
101
public function mixedIntegerUnion (int $ int ): void
@@ -119,6 +123,10 @@ public function constantFloat(float $float): void
119
123
120
124
/** @var -1.0 $float */
121
125
assertType ('1.0 ' , abs ($ float ));
126
+
127
+ assertType ('123.4 ' , abs (123.4 ));
128
+
129
+ assertType ('123.4 ' , abs (-123.4 ));
122
130
}
123
131
124
132
public function string (string $ string ): void
@@ -134,6 +142,19 @@ public function string(string $string): void
134
142
135
143
/** @var '-1'|'-2.0'|'3.0'|'4' $string */
136
144
assertType ('1|2.0|3.0|4 ' , abs ($ string ));
145
+
146
+ /** @var literal-string $string */
147
+ assertType ('float|int<0, max> ' , abs ($ string ));
148
+
149
+ assertType ('123 ' , abs ('123 ' ));
150
+
151
+ assertType ('123 ' , abs ('-123 ' ));
152
+
153
+ assertType ('123.0 ' , abs ('123.0 ' ));
154
+
155
+ assertType ('123.0 ' , abs ('-123.0 ' ));
156
+
157
+ assertType ('float|int<0, max> ' , abs ('foo ' ));
137
158
}
138
159
139
160
public function mixedUnion (mixed $ value ): void
@@ -182,6 +203,13 @@ public function invalidType(mixed $nonInt): void
182
203
183
204
/** @var \DateTime $nonInt */
184
205
assertType ('float|int<0, max> ' , abs ($ nonInt ));
206
+
207
+ /** @var null $nonInt */
208
+ assertType ('0 ' , abs ($ nonInt ));
209
+
210
+ assertType ('float|int<0, max> ' , abs ('foo ' ));
211
+
212
+ assertType ('0 ' , abs (null ));
185
213
}
186
214
187
215
}
0 commit comments