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());
}