diff options
Diffstat (limited to 'www/wiki/vendor/param-processor/param-processor/tests/Unit/ParameterTypesTest.php')
-rw-r--r-- | www/wiki/vendor/param-processor/param-processor/tests/Unit/ParameterTypesTest.php | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/www/wiki/vendor/param-processor/param-processor/tests/Unit/ParameterTypesTest.php b/www/wiki/vendor/param-processor/param-processor/tests/Unit/ParameterTypesTest.php new file mode 100644 index 00000000..7f4970a6 --- /dev/null +++ b/www/wiki/vendor/param-processor/param-processor/tests/Unit/ParameterTypesTest.php @@ -0,0 +1,75 @@ +<?php + +namespace ParamProcessor\Tests\Unit; + +use ParamProcessor\ParameterTypes; +use PHPUnit\Framework\TestCase; +use ValueParsers\NullParser; +use ValueValidators\NullValidator; + +/** + * @covers \ParamProcessor\ParameterTypes + */ +class ParameterTypesTest extends TestCase { + + public function testAddType_defaultsAreSet() { + $types = new ParameterTypes(); + + $types->addType( + 'kitten', + [] + ); + + $type = $types->getType( 'kitten' ); + + $this->assertSame( + NullParser::class, + $type->getStringParserClass() + ); + + $this->assertSame( + NullParser::class, + $type->getTypedParserClass() + ); + + $this->assertSame( + NullValidator::class, + $type->getValidatorClass() + ); + + $this->assertNull( + $type->getValidationCallback() + ); + } + + public function testRegisterType_parametersAreUsed() { + $types = new ParameterTypes(); + + $types->addType( + 'kitten', + [ + 'string-parser' => 'KittenParser', + 'validation-callback' => 'is_int', + 'validator' => 'KittenValidator', + ] + ); + + $type = $types->getType( 'kitten' ); + + $this->assertSame( + 'KittenParser', + $type->getStringParserClass() + ); + + $this->assertSame( + 'KittenValidator', + $type->getValidatorClass() + ); + + $this->assertSame( + 'is_int', + $type->getValidationCallback() + ); + } + +} |