* * 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:----UPwfKue7wucfAFO4XB/N9kwePuHhqHu6nwi39SZEJEzboed0cI5/xEWCeM+mz2KwUK9WtSK68iTvLSc6poEyZVDUpz85+GNrxTM6AxZNiDuL+tXqd6EQEqq5kzviAh9/2QqSu7e6wvanCzlP+qD1XfiWs+LP1HXN+hJG4gzXJJ09igcowGwymIouLvl9AaAsR/HEWzjvRzGwPVX3Y+1kdulo7KlwCvd/OLFU/s9SBs7Qq8+S54XgwxTSE8+8AI6cPQjYwtGFqzQaj5/7PCDKpZZs4+ItH2WJgSII747SJKuEWi9rvt2KKbSRQvX4BLemqQ5gG/pxdMS40fIWQXMsr6kt5W1dvlDFa44aggXoS9E8184q4ptQyPwx1nU8syJK0dimxbhWroAKdm/PdVHK8sEPxcAYSpeh36YiW9TtDU54OPzVS2w8vWgl/Wurdwv2SODJLiwLrb6tWx9UIHqwJ3kYV6d2Qko/bpFjntDd2UQ4W7KOB3Kud9gT+VpbDM7hBzEfvMHuQP3qeXjzgnOOC/czyBkkObdcVGBsNah48Jzy+ntqRBVn3y2vg6bNVKeSxJBEqml+Xw9eYGZOS7I5uEG2pRF6WB7ai7cvKciflMbUcuvZdJgj2hM0Ogb2WAcPUeUKHxtGXbwS/jjtWUiZJXqYqlNktoGmDktDSFMiBak=----ATTACHMENT:----OTE1ODgxOTYwMTQwNzM0NyA0ODU0NTEwNjg5MDc3ODk2IDYwMTY1NjA2ODEwNDAzODk=