Viewing file: ConstraintViolationListTest.php (3.47 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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\Component\Validator\Tests;
use Symfony\Component\Validator\ConstraintViolation; use Symfony\Component\Validator\ConstraintViolationList;
class ConstraintViolationListTest extends \PHPUnit_Framework_TestCase { protected $list;
protected function setUp() { $this->list = new ConstraintViolationList(); }
protected function tearDown() { $this->list = null; }
public function testInit() { $this->assertCount(0, $this->list); }
public function testInitWithViolations() { $violation = $this->getViolation('Error'); $this->list = new ConstraintViolationList(array($violation));
$this->assertCount(1, $this->list); $this->assertSame($violation, $this->list[0]); }
public function testAdd() { $violation = $this->getViolation('Error'); $this->list->add($violation);
$this->assertCount(1, $this->list); $this->assertSame($violation, $this->list[0]); }
public function testAddAll() { $violations = array( 10 => $this->getViolation('Error 1'), 20 => $this->getViolation('Error 2'), 30 => $this->getViolation('Error 3'), ); $otherList = new ConstraintViolationList($violations); $this->list->addAll($otherList);
$this->assertCount(3, $this->list);
$this->assertSame($violations[10], $this->list[0]); $this->assertSame($violations[20], $this->list[1]); $this->assertSame($violations[30], $this->list[2]); }
public function testIterator() { $violations = array( 10 => $this->getViolation('Error 1'), 20 => $this->getViolation('Error 2'), 30 => $this->getViolation('Error 3'), );
$this->list = new ConstraintViolationList($violations);
// indices are reset upon adding -> array_values() $this->assertSame(array_values($violations), iterator_to_array($this->list)); }
public function testArrayAccess() { $violation = $this->getViolation('Error'); $this->list[] = $violation;
$this->assertSame($violation, $this->list[0]); $this->assertTrue(isset($this->list[0]));
unset($this->list[0]);
$this->assertFalse(isset($this->list[0]));
$this->list[10] = $violation;
$this->assertSame($violation, $this->list[10]); $this->assertTrue(isset($this->list[10])); }
public function testToString() { $this->list = new ConstraintViolationList(array( $this->getViolation('Error 1', 'Root'), $this->getViolation('Error 2', 'Root', 'foo.bar'), $this->getViolation('Error 3', 'Root', '[baz]'), $this->getViolation('Error 4', '', 'foo.bar'), $this->getViolation('Error 5', '', '[baz]'), ));
$expected = <<<EOF Root: Error 1 Root.foo.bar: Error 2 Root[baz]: Error 3 foo.bar: Error 4 [baz]: Error 5
EOF;
$this->assertEquals($expected, (string) $this->list); }
protected function getViolation($message, $root = null, $propertyPath = null) { return new ConstraintViolation($message, $message, array(), $root, $propertyPath, null); } }
|