/
PathSanityCheckTest.php
54 lines (46 loc) · 1.39 KB
/
PathSanityCheckTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
/*
* This file is part of the FOSHttpCacheBundle package.
*
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace FOS\HttpCacheBundle\Tests\Unit\Command;
use FOS\HttpCacheBundle\Command\PathSanityCheck;
use Mockery\Adapter\Phpunit\MockeryPHPUnitIntegration;
use PHPUnit\Framework\Attributes as PHPUnit;
use PHPUnit\Framework\TestCase;
class PathSanityCheckTest extends TestCase
{
use MockeryPHPUnitIntegration;
public static function pathProvider(): array
{
return [
[false, '/foo'],
[false, '/foo?bar=^'],
[false, '/foo?bar=$€'],
[false, '/foo?bar[baz]=42'],
[true, '^/foo'],
[true, 'foo$'],
[true, '/foo/(bar|baz)'],
];
}
#[PHPUnit\DataProvider('pathProvider')]
public function testLooksLikeRegularExpression(bool $expected, string $path): void
{
$sanityChecking = new SanityChecking();
$this->assertEquals($expected, $sanityChecking->looksLikeRegularExpression($path));
}
}
class SanityChecking
{
use PathSanityCheck {
looksLikeRegularExpression as traitFunction;
}
public function looksLikeRegularExpression(string $path): bool
{
return $this->traitFunction($path);
}
}