77class TestStrings
88{
99
10- public function length (string $ a , string $ b ): void
10+ public function length (string $ a , string $ b, string $ c ): void
1111 {
1212 Assert::length ($ a , 0 );
1313 \PHPStan \Testing \assertType ('\'\'' , $ a );
1414
1515 Assert::length ($ b , 1 );
1616 \PHPStan \Testing \assertType ('non-empty-string ' , $ b );
17+
18+ Assert::nullOrLength ($ c , 1 );
19+ \PHPStan \Testing \assertType ('non-empty-string ' , $ c ); // should be non-empty-string|null
1720 }
1821
19- public function minLength (string $ a , string $ b ): void
22+ public function minLength (string $ a , string $ b, string $ c ): void
2023 {
2124 Assert::minLength ($ a , 0 );
2225 \PHPStan \Testing \assertType ('string ' , $ a );
2326
2427 Assert::minLength ($ b , 1 );
2528 \PHPStan \Testing \assertType ('non-empty-string ' , $ b );
29+
30+ Assert::nullOrMinLength ($ c , 1 );
31+ \PHPStan \Testing \assertType ('non-empty-string ' , $ c ); // should be non-empty-string|null
2632 }
2733
28- public function maxLength (string $ a , string $ b ): void
34+ public function maxLength (string $ a , string $ b, string $ c ): void
2935 {
3036 Assert::maxLength ($ a , 0 );
3137 \PHPStan \Testing \assertType ('\'\'' , $ a );
3238
3339 Assert::maxLength ($ b , 1 );
3440 \PHPStan \Testing \assertType ('string ' , $ b );
41+
42+ Assert::nullOrMaxLength ($ c , 1 );
43+ \PHPStan \Testing \assertType ('string ' , $ c ); // should be string|null
3544 }
3645
37- public function lengthBetween (string $ a , string $ b , string $ c , string $ d ): void
46+ public function lengthBetween (string $ a , string $ b , string $ c , string $ d, string $ e ): void
3847 {
3948 Assert::lengthBetween ($ a , 0 , 0 );
4049 \PHPStan \Testing \assertType ('\'\'' , $ a );
@@ -47,6 +56,9 @@ public function lengthBetween(string $a, string $b, string $c, string $d): void
4756
4857 Assert::lengthBetween ($ d , 1 , 1 );
4958 \PHPStan \Testing \assertType ('non-empty-string ' , $ d );
59+
60+ Assert::nullOrLengthBetween ($ e , 1 , 1 );
61+ \PHPStan \Testing \assertType ('non-empty-string ' , $ e ); // should be non-empty-string|null
5062 }
5163
5264}
0 commit comments