ScalarNodeTest.php 1.2 KB

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