/** * @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";
/** * @dataProvider pluralExpressions */ public function testPluralExpression($expr, $expected) { $this->assertEquals($expected, MoTranslator\Translator::sanitizePluralExpression($expr)); }
<?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 < 200000; $i++) { $parser->pgettext('Display format', 'Table'); } } $end = microtime(true); $diff = $end - $start; echo "Execution took {$diff} seconds\n";
/** * Test for npgettext * * @param int $number Number * @param string $expected Expected output * * @return void * * @dataProvider providerTestNpgettext */ public function testNpgettext($number, $expected) { $parser = new MoTranslator\Translator(null); $result = $parser->npgettext("context", "%d pig went to the market\n", "%d pigs went to the market\n", $number); $this->assertSame($expected, $result); }
<?php require './vendor/autoload.php'; $files = array('./tests/data/big.mo', './tests/data/little.mo'); $start = microtime(true); for ($i = 0; $i < 200; $i++) { foreach ($files as $filename) { $parser = new MoTranslator\Translator($filename); $parser->gettext('Column'); } } $end = microtime(true); $diff = $end - $start; echo "Execution took {$diff} seconds\n";