Skip to content

Commit 1099dd0

Browse files
garygittonweierophinney
authored andcommitted
phpunit
Signed-off-by: Gary Gitton <[email protected]>
1 parent c4359b5 commit 1099dd0

File tree

2 files changed

+49
-21
lines changed

2 files changed

+49
-21
lines changed

test/Bootstrap.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Bootstrap
2828

2929
public static function init(): void
3030
{
31-
if(self::$initialized) {
31+
if(static::$initialized) {
3232
return;
3333
}
3434

@@ -85,8 +85,7 @@ public static function getService(string $name)
8585
return $serviceManager->get($name);
8686
}
8787

88-
89-
public static function getConfig(string $name): array
88+
public static function getConfig(): array
9089
{
9190
$serviceManager = self::getServiceManager();
9291
/** @psalm-suppress MixedAssignment */

test/Integration/InputFilter/LaminasTest.php

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
namespace LaminasIntegrationTest\ApiTools\Admin\InputFilter;
66

7+
use Exception;
78
use Laminas\InputFilter\InputFilter;
9+
use Laminas\InputFilter\InputFilterInterface;
810
use Laminas\InputFilter\InputFilterPluginManager;
911
use LaminasTest\ApiTools\Admin\Bootstrap;
1012
use PHPUnit\Framework\TestCase;
@@ -15,30 +17,57 @@ class LaminasTest extends TestCase
1517
{
1618
/**
1719
* @test
20+
* @throws Exception
1821
*/
1922
public function inputFilterServiceKeyWillReturnInputFilter(): void
2023
{
21-
/**
22-
* @psalm-suppress MixedAssignment
23-
*/
24-
$inputFilterManager = Bootstrap::getService(InputFilterPluginManager::class);
25-
$inputFilterConfig = Bootstrap::getConfig('input_filters');
26-
/**
27-
* @psalm-suppress MixedArgument
28-
*/
29-
$inputFilterKeys = array_keys($inputFilterConfig['aliases']);
24+
$inputFilterConfig = $this->getInputFilterAliases();
25+
$inputFilterKeys = array_keys($inputFilterConfig);
3026

27+
/** @var string $key */
3128
foreach ($inputFilterKeys as $key) {
32-
if(!is_string($key)) {
33-
throw new \UnexpectedValueException('$key must be a string.');
34-
}
35-
36-
/**
37-
* @psalm-suppress MixedAssignment
38-
* @psalm-suppress MixedMethodCall
39-
*/
40-
$inputFilter = $inputFilterManager->get($key);
29+
$inputFilter = $this->getInputFilter($key);
4130
$this->assertInstanceOf(InputFilter::class, $inputFilter);
4231
}
4332
}
33+
34+
private function getInputFilterManager(): InputFilterPluginManager
35+
{
36+
$inputFilterManager = Bootstrap::getService(InputFilterPluginManager::class);
37+
38+
if(!$inputFilterManager instanceof InputFilterPluginManager) {
39+
throw new Exception('Invalid class.');
40+
}
41+
42+
return $inputFilterManager;
43+
}
44+
45+
/**
46+
* @throws Exception
47+
*/
48+
private function getInputFilter(string $name): InputFilterInterface
49+
{
50+
$inputFilterManager = $this->getInputFilterManager();
51+
$inputFilter = $inputFilterManager->get($name);
52+
53+
if(! $inputFilter instanceof InputFilterInterface) {
54+
throw new Exception('Invalid class.');
55+
}
56+
57+
return $inputFilter;
58+
}
59+
60+
private function getInputFilterConfig(): array
61+
{
62+
$config = Bootstrap::getConfig();
63+
64+
return is_array($config['input_filters'])? $config['input_filters']: [];
65+
}
66+
67+
private function getInputFilterAliases(): array
68+
{
69+
$config = $this->getInputFilterConfig();
70+
71+
return is_array($config['aliases'])? $config['aliases']: [];
72+
}
4473
}

0 commit comments

Comments
 (0)