translationUtil = $this->get(TranslationUtil::class); } public function data_getTranslateObjectLink(): array { return [ ['cs', 'product', 100, '/damska-pletena-cepice-merino-kama-a119-bila_z100/'], ['sk', 'product', 100, '/damska-pletena-ciapka-merino-kama-a119-biela_z100/'], ['cs', 'article', 9, '/clanek/9/funkce-ovci-vlny/'], ['sk', 'article', 9, '/clanok/9/funkcie-ovcej-vlny/'], ]; } /** * @dataProvider data_getTranslateObjectLink */ public function testGetTranslateObjectLink(string $language, string $type, int $id, string $expected) { $this->assertEquals($expected, $this->translationUtil->translateLink($language, $type, $id)); } public function testTranslateHTML() { $html = <<<__HTML__   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Maecenas sollicitudin. hasellus rhoncus.

In sem justo, commodo ut, suscipit at, pharetra vitae, orci.

__HTML__; $translatedCS = $this->translationUtil->translateLinksInHTML('cs', $html); $dom = new \DOMDocument(); $dom->loadHTML($translatedCS); $this->assertEquals( '/damska-pletena-cepice-merino-kama-a119-bila_z100/', $dom->getElementsByTagName('a')->item(0)->getAttribute('href'), ); $this->assertEquals( '/clanek/9/funkce-ovci-vlny/', $dom->getElementsByTagName('a')->item(1)->getAttribute('href'), ); $translatedSK = $this->translationUtil->translateLinksInHTML('sk', $html); $dom = new \DOMDocument(); $dom->loadHTML($translatedSK); $this->assertEquals( '/damska-pletena-ciapka-merino-kama-a119-biela_z100/', $dom->getElementsByTagName('a')->item(0)->getAttribute('href'), ); $this->assertEquals( '/clanok/9/funkcie-ovcej-vlny/', $dom->getElementsByTagName('a')->item(1)->getAttribute('href'), ); } protected function getDataSet() { return $this->getJsonDataSetFromFile(); } }