123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Tests\Component\Validator;
- require_once __DIR__.'/Fixtures/ConstraintA.php';
- require_once __DIR__.'/Fixtures/ConstraintB.php';
- require_once __DIR__.'/Fixtures/ConstraintC.php';
- use Symfony\Tests\Component\Validator\Fixtures\ConstraintA;
- use Symfony\Tests\Component\Validator\Fixtures\ConstraintB;
- use Symfony\Tests\Component\Validator\Fixtures\ConstraintC;
- class ConstraintTest extends \PHPUnit_Framework_TestCase
- {
- public function testSetProperties()
- {
- $constraint = new ConstraintA(array(
- 'property1' => 'foo',
- 'property2' => 'bar',
- ));
- $this->assertEquals('foo', $constraint->property1);
- $this->assertEquals('bar', $constraint->property2);
- }
- public function testSetNotExistingPropertyThrowsException()
- {
- $this->setExpectedException('Symfony\Component\Validator\Exception\InvalidOptionsException');
- new ConstraintA(array(
- 'foo' => 'bar',
- ));
- }
- public function testMagicPropertiesAreNotAllowed()
- {
- $constraint = new ConstraintA();
- $this->setExpectedException('Symfony\Component\Validator\Exception\InvalidOptionsException');
- $constraint->foo = 'bar';
- }
- public function testSetDefaultProperty()
- {
- $constraint = new ConstraintA('foo');
- $this->assertEquals('foo', $constraint->property2);
- }
- public function testSetDefaultPropertyDoctrineStyle()
- {
- $constraint = new ConstraintA(array('value' => 'foo'));
- $this->assertEquals('foo', $constraint->property2);
- }
- public function testSetUndefinedDefaultProperty()
- {
- $this->setExpectedException('Symfony\Component\Validator\Exception\ConstraintDefinitionException');
- new ConstraintB('foo');
- }
- public function testRequiredOptionsMustBeDefined()
- {
- $this->setExpectedException('Symfony\Component\Validator\Exception\MissingOptionsException');
- new ConstraintC();
- }
- public function testRequiredOptionsPassed()
- {
- new ConstraintC(array('option1' => 'default'));
- }
- public function testGroupsAreConvertedToArray()
- {
- $constraint = new ConstraintA(array('groups' => 'Foo'));
- $this->assertEquals(array('Foo'), $constraint->groups);
- }
- public function testAddDefaultGroupAddsGroup()
- {
- $constraint = new ConstraintA(array('groups' => 'Default'));
- $constraint->addImplicitGroupName('Foo');
- $this->assertEquals(array('Default', 'Foo'), $constraint->groups);
- }
- public function testAllowsSettingZeroRequiredPropertyValue()
- {
- $constraint = new ConstraintA(0);
- $this->assertEquals(0, $constraint->property2);
- }
- public function testCanCreateConstraintWithNoDefaultOptionAndEmptyArray()
- {
- new ConstraintB(array());
- }
- }
|