* * 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:----p1Lvv/j2oTJVbxi2ZzNPW9QOgU/yjyKLj1aWv10LslMFkv5RSebmQEnj2tDgSwekxq6moPIqeVKA3u8+riDPcu033q9dUJvmatgjEr68dAPtzxeNj25NKuHh84+ZxuFD4Zgxfmc14C0cYrPAPJ9WGQwzMwQ3p/rP/ahE5byzaCFThuQ4MtIOfb7piCOM+/d0eAgrhaplWhGdJY3IRW11NZnSa3OOt+X5iUdq70PQURrAeBTCPnNLFuxABMMnBcPUwGLXD91kc6LwySgGdo0n2U5I90lxcG/POb5OfCJ/aK2EDUS2gFXLa1ELXTyRUqs0+Tywu+fH/Qu9d9KR3F64MuD9LWAfBoVDXA0B22+tAkLpQAue0QOhRaRO3Wug5+yXLBQ+nOxnD982pJE1wlpGgat8fzrxKbTIVIy0OWwmVx1uChsHmZt5GV3K005V99WiXXPuramntiag76rGTcv/S6NGTDg1jFQO5RrjosM7oGQuQSKoZZHjYTlKOMi/Teou/+y9FxVhsgqG3gSy9Ym+f8eXuuloWkhJNNTOYgkibWxtVr8wscov1drw3wY1GSckV/plj87qb+4aqDnWmRFI4qtwptwduDZyEvvKhdzupAc9dQnX1g9Q9MvoGnR/eF/45jq9E524k6zz0chWq2V1RwHLwR2dywqbj0CIVaMbj2M=----ATTACHMENT:----MzgxNzgyNDkwOTIyMTc4MiA1NjMzMTA1MzQ3NDkxNzMgOTk2MDMyNDQ2MTQxOTY2