/** * Add errors from a validation object * * @param ValidationResult $validation * @param string $prefix */ public function add(ValidationResult $validation, $prefix = null) { $prefix = $this->translate($prefix); foreach ($validation->getErrors() as $err) { $this->errors[] = ($prefix ? trim($prefix) . ' ' : '') . $err; } }
public function testTranslatePrefix() { $translator = $this->getMockBuilder('stdClass')->setMethods(array('translate'))->getMock(); $translator->expects($this->exactly(2))->method('translate')->withConsecutive([$this->equalTo('Color %s')], [$this->equalTo('error')])->will($this->onConsecutiveCalls('Colour %s', 'fault')); ValidationResult::$translate = [$translator, 'translate']; $error = new ValidationResult(); $error->addError("Color %s", "red"); $validation = new ValidationResult(); $validation->add($error, "error"); $this->assertEquals(["fault Colour red"], $validation->getErrors()); }