public function ExecutionContextTest::testAddViolationUsesPassedNullValue

File

drupal/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ExecutionContextTest.php, line 126

Class

ExecutionContextTest

Namespace

Symfony\Component\Validator\Tests

Code

public function testAddViolationUsesPassedNullValue() {
  $this->translator
    ->expects($this
    ->once())
    ->method('trans')
    ->with('Error', array(
    'foo1' => 'bar1',
  ))
    ->will($this
    ->returnValue('Translated error'));
  $this->translator
    ->expects($this
    ->once())
    ->method('transChoice')
    ->with('Choice error', 1, array(
    'foo2' => 'bar2',
  ))
    ->will($this
    ->returnValue('Translated choice error'));

  // passed null value should override preconfigured value "invalid"
  $this->context
    ->addViolation('Error', array(
    'foo1' => 'bar1',
  ), null);
  $this->context
    ->addViolation('Choice error', array(
    'foo2' => 'bar2',
  ), null, 1);
  $this
    ->assertEquals(new ConstraintViolationList(array(
    new ConstraintViolation('Translated error', 'Error', array(
      'foo1' => 'bar1',
    ), 'Root', 'foo.bar', null),
    new ConstraintViolation('Translated choice error', 'Choice error', array(
      'foo2' => 'bar2',
    ), 'Root', 'foo.bar', null, 1),
  )), $this->context
    ->getViolations());
}