15
15
use Zend \Filter \FilterChain ;
16
16
use Zend \InputFilter \Input ;
17
17
use Zend \InputFilter \InputInterface ;
18
+ use Zend \Validator \AbstractValidator ;
18
19
use Zend \Validator \NotEmpty as NotEmptyValidator ;
20
+ use Zend \Validator \Translator \TranslatorInterface ;
19
21
use Zend \Validator \ValidatorChain ;
20
22
use Zend \Validator \ValidatorInterface ;
21
23
@@ -34,6 +36,11 @@ public function setUp()
34
36
$ this ->input = new Input ('foo ' );
35
37
}
36
38
39
+ protected function tearDown ()
40
+ {
41
+ AbstractValidator::setDefaultTranslator (null );
42
+ }
43
+
37
44
public function assertRequiredValidationErrorMessage (Input $ input , $ message = '' )
38
45
{
39
46
$ message = $ message ?: 'Expected failure message for required input ' ;
@@ -569,6 +576,26 @@ public function testInputMergeWithTargetValue()
569
576
$ this ->assertTrue ($ target ->hasValue (), 'hasValue() value not match ' );
570
577
}
571
578
579
+ public function testNotEmptyMessageIsTranslated ()
580
+ {
581
+ /** @var TranslatorInterface|MockObject $translator */
582
+ $ translator = $ this ->getMock (TranslatorInterface::class);
583
+ AbstractValidator::setDefaultTranslator ($ translator );
584
+ $ notEmpty = new NotEmptyValidator ();
585
+
586
+ $ translatedMessage = 'some translation ' ;
587
+ $ translator ->expects ($ this ->atLeastOnce ())
588
+ ->method ('translate ' )
589
+ ->with ($ notEmpty ->getMessageTemplates ()[NotEmptyValidator::IS_EMPTY ])
590
+ ->willReturn ($ translatedMessage )
591
+ ;
592
+
593
+ $ this ->assertFalse ($ this ->input ->isValid ());
594
+ $ messages = $ this ->input ->getMessages ();
595
+ $ this ->assertArrayHasKey ('isEmpty ' , $ messages );
596
+ $ this ->assertSame ($ translatedMessage , $ messages ['isEmpty ' ]);
597
+ }
598
+
572
599
public function fallbackValueVsIsValidProvider ()
573
600
{
574
601
$ required = true ;
0 commit comments