44
55namespace LaminasIntegrationTest \ApiTools \Admin \InputFilter ;
66
7+ use Exception ;
78use Laminas \InputFilter \InputFilter ;
9+ use Laminas \InputFilter \InputFilterInterface ;
810use Laminas \InputFilter \InputFilterPluginManager ;
911use LaminasTest \ApiTools \Admin \Bootstrap ;
1012use 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