BooleanNodeTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace Symfony\Tests\Component\Config\Definition;
  3. use Symfony\Component\Config\Definition\BooleanNode;
  4. class BooleanNodeTest extends \PHPUnit_Framework_TestCase
  5. {
  6. /**
  7. * @dataProvider getValidValues
  8. */
  9. public function testNormalize($value)
  10. {
  11. $node = new BooleanNode('test');
  12. $this->assertSame($value, $node->normalize($value));
  13. }
  14. public function getValidValues()
  15. {
  16. return array(
  17. array(false),
  18. array(true),
  19. );
  20. }
  21. /**
  22. * @dataProvider getInvalidValues
  23. * @expectedException Symfony\Component\Config\Definition\Exception\InvalidTypeException
  24. */
  25. public function testNormalizeThrowsExceptionOnInvalidValues($value)
  26. {
  27. $node = new BooleanNode('test');
  28. $node->normalize($value);
  29. }
  30. public function getInvalidValues()
  31. {
  32. return array(
  33. array(null),
  34. array(''),
  35. array('foo'),
  36. array(0),
  37. array(1),
  38. array(0.0),
  39. array(0.1),
  40. array(array()),
  41. array(array('foo' => 'bar')),
  42. array(new \stdClass()),
  43. );
  44. }
  45. }