/var/www/vhosts/ihelp.ro/_OLD/vendor/aura/intl/tests
NameSizeModeActions
BasicFormatterTest.php8300644editdlrm
FormatterLocatorTest.php10220644editdlrm
IntlFormatterTest.php77570644editdlrm
MockFormatter.php1900644editdlrm
PackageLocatorTest.php10210644editdlrm
PackageTest.php10710644editdlrm
TranslatorLocatorFactoryTest.php2950644editdlrm
TranslatorLocatorTest.php31060644editdlrm
TranslatorTest.php29220644editdlrm
Edit: /var/www/vhosts/ihelp.ro/_OLD/vendor/aura/intl/tests/IntlFormatterTest.php (7757B)
markTestSkipped('This test is skipped if the Intl Extension is not loaded.'); } } public function testIntlVersion() { $this->setExpectedException('Aura\Intl\Exception\IcuVersionTooLow'); $formatter = new IntlFormatter('4.7'); } /** * This test fails on PHP 5.4.4 * The return value expected is No pages , but returns false * * var_dump( msgfmt_get_error_message($fmt) ); * U_ZERO_ERROR * * It seems $fmt = msgfmt_create($locale, $string); is not creating with * this string , so the msgfmt_format() throws expects parameter 1 to be * MessageFormatter, null given error. */ public function testFormat_plural() { $formatter = $this->newFormatter(); $locale = 'en_US'; $string = '{pages,plural,' . '=0{No pages.}' . '=1{One page only.}' . 'other{Page {page} of # pages.}' . '}'; $tokens_values = ['page' => 0, 'pages' => 0]; $expect = 'No pages.'; $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame($expect, $actual); $tokens_values = ['page' => 1, 'pages' => 1]; $expect = 'One page only.'; $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame($expect, $actual); $tokens_values = ['page' => 1, 'pages' => 2]; $expect = 'Page 1 of 2 pages.'; $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame($expect, $actual); } /** * @dataProvider provide_testFormat_select */ public function testFormat_select($tokens_values, $expect) { $locale = 'en_US'; $string = " {gender, select, female { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to her party.} =2 {{from} invites {to} and one other person to her party.} other {{from} invites {to} as one of the # people invited to her party.} } } male { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to his party.} =2 {{from} invites {to} and one other person to his party.} other {{from} invites {to} as one of the # other people invited to his party.} } } other { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to their party.} =2 {{from} invites {to} and one other person to their party.} other {{from} invites {to} as one of the # other people invited to their party.} } } }"; $formatter = $this->newFormatter(); $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame(trim($expect), trim($actual)); } public function provide_testFormat_select() { return [ [array('gender' => 'female', 'count' => 0, 'from' => 'Alice', 'to' => 'Bob'), 'Alice does not give a party.'], [array('gender' => 'male', 'count' => 1, 'from' => 'Bob', 'to' => 'Alice'), 'Bob invites Alice to his party.'], [array('gender' => 'none', 'count' => 2, 'from' => 'Alice', 'to' => 'Bob'), 'Alice invites Bob and one other person to their party.'], [array('gender' => 'female', 'count' => 27, 'from' => 'Alice', 'to' => 'Bob'), 'Alice invites Bob as one of the 26 people invited to her party.'], ]; } public function testFormat_cannotInstantiateFormatter() { $locale = 'en_US'; // uses {count} instead of #, which should fail $string = " {gender, select, female { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to her party.} =2 {{from} invites {to} and one other person to her party.} other {{from} invites {to} as one of the {count} people invited to her party.} } } male { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to his party.} =2 {{from} invites {to} and one other person to his party.} other {{from} invites {to} as one of the {count} other people invited to his party.} } } other { {count, plural, offset:1 =0 {{from} does not give a party.} =1 {{from} invites {to} to their party.} =2 {{from} invites {to} and one other person to their party.} other {{from} invites {to} as one of the {count} other people invited to their party.} } } }"; $formatter = $this->newFormatter(); $this->setExpectedException('Aura\Intl\Exception\CannotFormat'); $actual = $formatter->format($locale, $string, array('gender' => 'female', 'count' => 5, 'from' => 'Alice', 'to' => 'Bob')); } // @todo MAKE IT SO THAT WE CHECK FOR TOKENS IN THE ARRAY public function testFormat_cannotFormat() { $locale = 'en_US'; $string = 'Hello {foo}'; $tokens_values = ['bar' => 'baz']; // no 'foo' token $formatter = $this->newFormatter(); $expect = 'Hello {foo}'; $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame($expect, $actual); } /** * @dataProvider provide_testIssue6 */ public function testIssue6($tokens_values, $expect) { $locale = 'en_US'; $string = '{gender, select, female{{name} is {gender} and she report bugs!} male{{name} is {gender} and he report bugs!} other{{name} report bugs!}}'; $formatter = $this->newFormatter(); $actual = $formatter->format($locale, $string, $tokens_values); $this->assertSame($expect, $actual); } public function testEmptyStringThrowsException() { $locale = 'en_US'; $string = ''; $formatter = $this->newFormatter(); if (! defined('HHVM_VERSION')) { $this->setExpectedException('Aura\Intl\Exception\CannotInstantiateFormatter'); } $actual = $formatter->format($locale, $string, []); if (defined('HHVM_VERSION')) { // HHVM will instantiate Formatter even if empty string is passed. $expect = ''; $this->assertSame($expect, $actual); } } public function provide_testIssue6() { return [ [array('gender' => 'female', 'name' => 'Alice'), 'Alice is female and she report bugs!'], [array('gender' => 'male', 'name' => 'Alexander' ), 'Alexander is male and he report bugs!'], [array('gender' => '', 'name' => 'Unknown'), 'Unknown report bugs!'], ]; } }