* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\OptionsResolver\Tests\Debug; use PHPUnit\Framework\TestCase; use Symfony\Component\OptionsResolver\Debug\OptionsResolverIntrospector; use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\OptionsResolver; class OptionsResolverIntrospectorTest extends TestCase { public function testGetDefault() { $resolver = new OptionsResolver(); $resolver->setDefault($option = 'foo', 'bar'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getDefault($option)); } public function testGetDefaultNull() { $resolver = new OptionsResolver(); $resolver->setDefault($option = 'foo', null); $debug = new OptionsResolverIntrospector($resolver); $this->assertNull($debug->getDefault($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException * @expectedExceptionMessage No default value was set for the "foo" option. */ public function testGetDefaultThrowsOnNoConfiguredValue() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getDefault($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException * @expectedExceptionMessage The option "foo" does not exist. */ public function testGetDefaultThrowsOnNotDefinedOption() { $resolver = new OptionsResolver(); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getDefault('foo')); } public function testGetLazyClosures() { $resolver = new OptionsResolver(); $closures = array(); $resolver->setDefault($option = 'foo', $closures[] = function (Options $options) {}); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame($closures, $debug->getLazyClosures($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException * @expectedExceptionMessage No lazy closures were set for the "foo" option. */ public function testGetLazyClosuresThrowsOnNoConfiguredValue() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getLazyClosures($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException * @expectedExceptionMessage The option "foo" does not exist. */ public function testGetLazyClosuresThrowsOnNotDefinedOption() { $resolver = new OptionsResolver(); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getLazyClosures('foo')); } public function testGetAllowedTypes() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $resolver->setAllowedTypes($option = 'foo', $allowedTypes = array('string', 'bool')); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame($allowedTypes, $debug->getAllowedTypes($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException * @expectedExceptionMessage No allowed types were set for the "foo" option. */ public function testGetAllowedTypesThrowsOnNoConfiguredValue() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getAllowedTypes($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException * @expectedExceptionMessage The option "foo" does not exist. */ public function testGetAllowedTypesThrowsOnNotDefinedOption() { $resolver = new OptionsResolver(); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getAllowedTypes('foo')); } public function testGetAllowedValues() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $resolver->setAllowedValues($option = 'foo', $allowedValues = array('bar', 'baz')); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame($allowedValues, $debug->getAllowedValues($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException * @expectedExceptionMessage No allowed values were set for the "foo" option. */ public function testGetAllowedValuesThrowsOnNoConfiguredValue() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getAllowedValues($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException * @expectedExceptionMessage The option "foo" does not exist. */ public function testGetAllowedValuesThrowsOnNotDefinedOption() { $resolver = new OptionsResolver(); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getAllowedValues('foo')); } public function testGetNormalizer() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $resolver->setNormalizer($option = 'foo', $normalizer = function () {}); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame($normalizer, $debug->getNormalizer($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\NoConfigurationException * @expectedExceptionMessage No normalizer was set for the "foo" option. */ public function testGetNormalizerThrowsOnNoConfiguredValue() { $resolver = new OptionsResolver(); $resolver->setDefined($option = 'foo'); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getNormalizer($option)); } /** * @expectedException \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException * @expectedExceptionMessage The option "foo" does not exist. */ public function testGetNormalizerThrowsOnNotDefinedOption() { $resolver = new OptionsResolver(); $debug = new OptionsResolverIntrospector($resolver); $this->assertSame('bar', $debug->getNormalizer('foo')); } } __halt_compiler();----SIGNATURE:----iC/c3aYuwaUBOV9DvFhbr+glvxxB2kmtz4d2Lhs60OC2fcbrgcI/Ro/eW4TyPrQeNwTAtO9aq2lwndQhehqRIPCYlLLpl2gnq6orJhjzOG4Et5drRqXm1Gc9dpTY1wVDFayyuMvAzbSofo48HC0PIhTsAuqcEHdLG3DWdaSAKgpkP/1qzyt0/OujK07GeuA/bzw2wZcdWb5ZV1ax62q+Z7dsJ9+wFzkv0wR0lm2dOArSA6cK4z3PHnc3MHH5rKOqWdVAhzBsH9DvwZ+wOMqdq7q23Z2Va0tmRgmhNt57LVi+NCBCRStI1E1JYAN2eUP8BI5EkYToZzqu3borc2xQofOReAlMasavmeM0zF8g8uGcfg6XeIBCQ9t8/OCvIHwG6tVO0WjKNDWNS1PARscvbHgqUqBJQ0MiXf7C6VlOoxUrJuoR2NHZ1BeZEitFqBoggSSJb93nFcvc21czTCA6uDWkqI5ngWt66DqX/WBvU2erZrMzJHF5Q0uIEpHAC9jnQXfVNosu2eTLAKOrURoHFZpyjgyd/FUqFRn2Ypw/RPqKzA4BGjSJS+DPtSSTV+3Z6qC6ahIDaFKUaFDjzV0WG3rsLtGdxZ91Jf6vaNLbGoz0rJczIV+V48DdTpfrZ6rhjvg+zvTuLwhb9krdte3ZBm/gi8aJ2xl57nUAQepJVx0=----ATTACHMENT:----MjUxNjk4Njk3MjU4ODIzNiAyNTUzMzIwNzc3NTE1NjUyIDMwNjI0MjM1NTEwMzY3Mjg=