Skip to content

Commit b94032f

Browse files
authored
add test
1 parent e6cd636 commit b94032f

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

tests/UrlencodeTest.php

+79
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Psalm\Tests;
6+
7+
use Override;
8+
use Psalm\Tests\Traits\InvalidCodeAnalysisTestTrait;
9+
use Psalm\Tests\Traits\ValidCodeAnalysisTestTrait;
10+
11+
final class UrlencodeTest. extends TestCase
12+
{
13+
use InvalidCodeAnalysisTestTrait;
14+
use ValidCodeAnalysisTestTrait;
15+
16+
#[Override]
17+
public function providerValidCodeParse(): iterable
18+
{
19+
return [
20+
'urlencodeEmptyStringReturnsEmptyString' => [
21+
'code' => '<?php
22+
$string = urlencode("");
23+
',
24+
'assertions' => [
25+
'$string' => '\'\'',
26+
],
27+
],
28+
'urlencodeNonEmptyStringReturnsNonEmptyString' => [
29+
'code' => '<?php
30+
/**
31+
* @param non-empty-string $input
32+
* @return non-empty-string
33+
*/
34+
function f(string $input): string {
35+
return urlencode($input);
36+
}
37+
38+
$string = f("test");
39+
',
40+
'assertions' => [
41+
'$string' => 'non-empty-string',
42+
],
43+
],
44+
'urlencodeAnyStringReturnsAnyString' => [
45+
'code' => '<?php
46+
function f(string $input): string {
47+
return urlencode($input);
48+
}
49+
50+
$string = f("test");
51+
',
52+
'assertions' => [
53+
'$string' => 'string',
54+
],
55+
],
56+
];
57+
}
58+
59+
#[Override]
60+
public function providerInvalidCodeParse(): iterable
61+
{
62+
return [
63+
'urlencodeEmptyStringReturnsEmptyString' => [
64+
'code' => '<?php
65+
$string = urlencode("");
66+
assert($string !== "");
67+
',
68+
'error_message' => 'TypeDoesNotContainType',
69+
],
70+
'urlencodeNonEmptyStringReturnsNonEmptyString' => [
71+
'code' => '<?php
72+
$string = urlencode("hello");
73+
assert($string === "");
74+
',
75+
'error_message' => 'TypeDoesNotContainType',
76+
],
77+
];
78+
}
79+
}

0 commit comments

Comments
 (0)