/** * @dataProvider provideErrorMoFiles */ public function testEmptyMoFile($file) { $parser = new MoTranslator\Translator($file); if (basename($file) === 'magic.mo') { $this->assertEquals(MoTranslator\Translator::ERROR_BAD_MAGIC, $parser->error); } else { $this->assertEquals(MoTranslator\Translator::ERROR_READING, $parser->error); } $this->assertEquals('Table', $parser->pgettext('Display format', 'Table')); $this->assertEquals('"%d" seconds', $parser->ngettext('"%d" second', '"%d" seconds', 10)); }
<?php require './vendor/autoload.php'; $files = array('./tests/data/big.mo', './tests/data/little.mo'); $start = microtime(true); foreach ($files as $filename) { $parser = new MoTranslator\Translator($filename); for ($i = 0; $i < 20000; $i++) { $parser->ngettext('%d second', '%d seconds', 10); $parser->ngettext('%d second', '%d seconds', 1); } } $end = microtime(true); $diff = $end - $start; echo "Execution took {$diff} seconds\n";