Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 0bd8b58

Browse filesBrowse files
committed
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
2 parents 6f1d506 + 185950c commit 0bd8b58
Copy full SHA for 0bd8b58

File tree

Expand file treeCollapse file tree

1 file changed

+17
-27
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+17
-27
lines changed

‎src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/OptionsResolver/Tests/OptionsResolver2Dot6Test.php
+17-27Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -499,27 +499,28 @@ public function testFailIfSetAllowedTypesFromLazyOption()
499499
}
500500

501501
/**
502-
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
503-
* @expectedExceptionMessage The option "foo" with value 42 is expected to be of type "string", but is of type "integer".
502+
* @dataProvider provideInvalidTypes
504503
*/
505-
public function testResolveFailsIfInvalidType()
504+
public function testResolveFailsIfInvalidType($actualType, $allowedType, $exceptionMessage)
506505
{
507-
$this->resolver->setDefined('foo');
508-
$this->resolver->setAllowedTypes('foo', 'string');
509-
510-
$this->resolver->resolve(array('foo' => 42));
506+
$this->resolver->setDefined('option');
507+
$this->resolver->setAllowedTypes('option', $allowedType);
508+
$this->setExpectedException('Symfony\Component\OptionsResolver\Exception\InvalidOptionsException', $exceptionMessage);
509+
$this->resolver->resolve(array('option' => $actualType));
511510
}
512511

513-
/**
514-
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
515-
* @expectedExceptionMessage The option "foo" with value null is expected to be of type "string", but is of type "NULL".
516-
*/
517-
public function testResolveFailsIfInvalidTypeIsNull()
512+
public function provideInvalidTypes()
518513
{
519-
$this->resolver->setDefault('foo', null);
520-
$this->resolver->setAllowedTypes('foo', 'string');
521-
522-
$this->resolver->resolve();
514+
return array(
515+
array(true, 'string', 'The option "option" with value true is expected to be of type "string", but is of type "boolean".'),
516+
array(false, 'string', 'The option "option" with value false is expected to be of type "string", but is of type "boolean".'),
517+
array(fopen(__FILE__, 'r'), 'string', 'The option "option" with value resource is expected to be of type "string", but is of type "resource".'),
518+
array(array(), 'string', 'The option "option" with value array is expected to be of type "string", but is of type "array".'),
519+
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".'),
520+
array(42, 'string', 'The option "option" with value 42 is expected to be of type "string", but is of type "integer".'),
521+
array(null, 'string', 'The option "option" with value null is expected to be of type "string", but is of type "NULL".'),
522+
array('bar', '\stdClass', 'The option "option" with value "bar" is expected to be of type "\stdClass", but is of type "string".'),
523+
);
523524
}
524525

525526
public function testResolveSucceedsIfValidType()
@@ -550,17 +551,6 @@ public function testResolveSucceedsIfValidTypeMultiple()
550551
$this->assertNotEmpty($this->resolver->resolve());
551552
}
552553

553-
/**
554-
* @expectedException \Symfony\Component\OptionsResolver\Exception\InvalidOptionsException
555-
*/
556-
public function testResolveFailsIfNotInstanceOfClass()
557-
{
558-
$this->resolver->setDefault('foo', 'bar');
559-
$this->resolver->setAllowedTypes('foo', '\stdClass');
560-
561-
$this->resolver->resolve();
562-
}
563-
564554
public function testResolveSucceedsIfInstanceOfClass()
565555
{
566556
$this->resolver->setDefault('foo', new \stdClass());

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.