* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ use PHPUnit\Framework\TestCase; use PrestaShop\Module\AutoUpgrade\UpgradeTools\Translator; /** * Test for backward compatibility translation feature. */ class TranslatorTest extends TestCase { protected $translator; protected function setUp() { parent::setUp(); $this->translator = new Translator(__CLASS__); } /** * @dataProvider translationsTestCaseProvider */ public function testTranslationWithoutParams($origin, $parameters, $expected) { $this->assertSame($expected, $this->translator->applyParameters($origin, $parameters)); } public function translationsTestCaseProvider() { return [ // Test with %s in translated text [ 'Downloaded archive will come from %s', ['https://download.prestashop.com/download/releases/prestashop_1.7.3.0.zip'], 'Downloaded archive will come from https://download.prestashop.com/download/releases/prestashop_1.7.3.0.zip', ], // Text without parameter [ 'Using class ZipArchive...', [], 'Using class ZipArchive...', ], // Text with placeholders [ '[TRANSLATION] The translation files have not been merged into file %filename%. Switch to copy %filename%.', ['%filename%' => 'doge.txt'], '[TRANSLATION] The translation files have not been merged into file doge.txt. Switch to copy doge.txt.', ], ]; } }