/** * @test */ public function translateOptionsAreObserved() { $this->arguments['translate'] = array('by' => 'id', 'using' => 'label', 'locale' => 'dk', 'source' => 'WeirdMessageCatalog', 'package' => 'Foo.Bar', 'prefix' => 'somePrefix.'); $this->injectDependenciesIntoViewHelper($this->viewHelper); $mockTranslator = $this->getMock('TYPO3\\Flow\\I18n\\Translator'); $mockTranslator->expects($this->once())->method('translateById')->with('somePrefix.label1', array(), NULL, new \TYPO3\Flow\I18n\Locale('dk'), 'WeirdMessageCatalog', 'Foo.Bar'); $this->viewHelper->_set('translator', $mockTranslator); $this->viewHelper->_call('getTranslatedLabel', 'value1', 'label1'); }
/** * @test * @dataProvider getTranslatedLabelDataProvider * @param string $by * @param string $using * @param string $translatedId * @param string $translatedLabel * @param string $expectedResult */ public function getTranslatedLabelTests($by, $using, $translatedId, $translatedLabel, $expectedResult) { $this->arguments['translate'] = ['by' => $by, 'using' => $using, 'prefix' => 'somePrefix.']; $this->injectDependenciesIntoViewHelper($this->viewHelper); $mockTranslator = $this->createMock(\TYPO3\Flow\I18n\Translator::class); if ($by === 'label') { $mockTranslator->expects($this->once())->method('translateByOriginalLabel')->will($this->returnCallback(function ($label) use($translatedLabel) { return $translatedLabel !== null ? $translatedLabel : $label; })); } else { $mockTranslator->expects($this->once())->method('translateById')->will($this->returnValue($translatedId)); } $this->inject($this->viewHelper, 'translator', $mockTranslator); $actualResult = $this->viewHelper->_call('getTranslatedLabel', 'someValue', 'Some label'); $this->assertSame($expectedResult, $actualResult); }