minor #16446 OptionsResolver test coverage (eventhorizonpl)
This PR was submitted for the 2.8 branch but it was merged into the 2.7 branch instead (closes #16446).
Discussion
----------
OptionsResolver test coverage
Hi,
This PR adds 100% test code coverage to OptionsResolver component.
Best regards,
Michal
| Q | A
| ------------- | ---
| Bug fix? | no
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| License | MIT
Commits
-------
185950c
OptionsResolver test coverage
This commit is contained in:
commit
0bd8b58d9b
|
@ -499,27 +499,28 @@ class OptionsResolver2Dot6Test extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
|
||||
* @expectedExceptionMessage The option "foo" with value 42 is expected to be of type "string", but is of type "integer".
|
||||
* @dataProvider provideInvalidTypes
|
||||
*/
|
||||
public function testResolveFailsIfInvalidType()
|
||||
public function testResolveFailsIfInvalidType($actualType, $allowedType, $exceptionMessage)
|
||||
{
|
||||
$this->resolver->setDefined('foo');
|
||||
$this->resolver->setAllowedTypes('foo', 'string');
|
||||
|
||||
$this->resolver->resolve(array('foo' => 42));
|
||||
$this->resolver->setDefined('option');
|
||||
$this->resolver->setAllowedTypes('option', $allowedType);
|
||||
$this->setExpectedException('Symfony\Component\OptionsResolver\Exception\InvalidOptionsException', $exceptionMessage);
|
||||
$this->resolver->resolve(array('option' => $actualType));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
|
||||
* @expectedExceptionMessage The option "foo" with value null is expected to be of type "string", but is of type "NULL".
|
||||
*/
|
||||
public function testResolveFailsIfInvalidTypeIsNull()
|
||||
public function provideInvalidTypes()
|
||||
{
|
||||
$this->resolver->setDefault('foo', null);
|
||||
$this->resolver->setAllowedTypes('foo', 'string');
|
||||
|
||||
$this->resolver->resolve();
|
||||
return array(
|
||||
array(true, 'string', 'The option "option" with value true is expected to be of type "string", but is of type "boolean".'),
|
||||
array(false, 'string', 'The option "option" with value false is expected to be of type "string", but is of type "boolean".'),
|
||||
array(fopen(__FILE__, 'r'), 'string', 'The option "option" with value resource is expected to be of type "string", but is of type "resource".'),
|
||||
array(array(), 'string', 'The option "option" with value array is expected to be of type "string", but is of type "array".'),
|
||||
array(new OptionsResolver(), 'string', 'The option "option" with value Symfony\Component\OptionsResolver\OptionsResolver is expected to be of type "string", but is of type "Symfony\Component\OptionsResolver\OptionsResolver".'),
|
||||
array(42, 'string', 'The option "option" with value 42 is expected to be of type "string", but is of type "integer".'),
|
||||
array(null, 'string', 'The option "option" with value null is expected to be of type "string", but is of type "NULL".'),
|
||||
array('bar', '\stdClass', 'The option "option" with value "bar" is expected to be of type "\stdClass", but is of type "string".'),
|
||||
);
|
||||
}
|
||||
|
||||
public function testResolveSucceedsIfValidType()
|
||||
|
@ -550,17 +551,6 @@ class OptionsResolver2Dot6Test extends \PHPUnit_Framework_TestCase
|
|||
$this->assertNotEmpty($this->resolver->resolve());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
|
||||
*/
|
||||
public function testResolveFailsIfNotInstanceOfClass()
|
||||
{
|
||||
$this->resolver->setDefault('foo', 'bar');
|
||||
$this->resolver->setAllowedTypes('foo', '\stdClass');
|
||||
|
||||
$this->resolver->resolve();
|
||||
}
|
||||
|
||||
public function testResolveSucceedsIfInstanceOfClass()
|
||||
{
|
||||
$this->resolver->setDefault('foo', new \stdClass());
|
||||
|
|
Reference in New Issue