Skip to content

Commit 9fc11f7

Browse files
VincentLangletondrejmirtes
authored andcommitted
Keep lowercase when trim
1 parent ab84e55 commit 9fc11f7

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

stubs/core.stub

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,3 +313,18 @@ function is_callable(mixed $value, bool $syntax_only = false, ?string &$callable
313313
* @return ($num is float ? float : $num is int ? non-negative-int : float|non-negative-int)
314314
*/
315315
function abs($num) {}
316+
317+
/**
318+
* @return ($string is lowercase-string ? lowercase-string : string)
319+
*/
320+
function trim(string $string, string $characters = " \n\r\t\v\x00"): string {}
321+
322+
/**
323+
* @return ($string is lowercase-string ? lowercase-string : string)
324+
*/
325+
function ltrim(string $string, string $characters = " \n\r\t\v\x00"): string {}
326+
327+
/**
328+
* @return ($string is lowercase-string ? lowercase-string : string)
329+
*/
330+
function rtrim(string $string, string $characters = " \n\r\t\v\x00"): string {}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace LowercaseStringTrim;
4+
5+
use function PHPStan\Testing\assertType;
6+
7+
class Foo
8+
{
9+
10+
/**
11+
* @param lowercase-string $lowercase
12+
*/
13+
public function doTrim(string $lowercase, string $string): void
14+
{
15+
assertType('lowercase-string', trim($lowercase));
16+
assertType('lowercase-string', ltrim($lowercase));
17+
assertType('lowercase-string', rtrim($lowercase));
18+
assertType('lowercase-string', trim($lowercase, $string));
19+
assertType('lowercase-string', ltrim($lowercase, $string));
20+
assertType('lowercase-string', rtrim($lowercase, $string));
21+
assertType('string', trim($string));
22+
assertType('string', ltrim($string));
23+
assertType('string', rtrim($string));
24+
assertType('string', trim($string, $lowercase));
25+
assertType('string', ltrim($string, $lowercase));
26+
assertType('string', rtrim($string, $lowercase));
27+
}
28+
29+
}

0 commit comments

Comments
 (0)