* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Intl\Tests\NumberFormatter; use Symfony\Component\Intl\Globals\IntlGlobals; use Symfony\Component\Intl\NumberFormatter\NumberFormatter; /** * Note that there are some values written like -2147483647 - 1. This is the lower 32bit int max and is a known * behavior of PHP. */ class NumberFormatterTest extends AbstractNumberFormatterTest { /** * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testConstructorWithUnsupportedLocale() { new NumberFormatter('pt_BR'); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testConstructorWithUnsupportedStyle() { new NumberFormatter('en', NumberFormatter::PATTERN_DECIMAL); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentNotImplementedException */ public function testConstructorWithPatternDifferentThanNull() { new NumberFormatter('en', NumberFormatter::DECIMAL, ''); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testSetAttributeWithUnsupportedAttribute() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->setAttribute(NumberFormatter::LENIENT_PARSE, null); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testSetAttributeInvalidRoundingMode() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->setAttribute(NumberFormatter::ROUNDING_MODE, null); } public function testConstructWithoutLocale() { $this->assertInstanceOf( '\Symfony\Component\Intl\NumberFormatter\NumberFormatter', $this->getNumberFormatter(null, NumberFormatter::DECIMAL) ); } public function testCreate() { $this->assertInstanceOf( '\Symfony\Component\Intl\NumberFormatter\NumberFormatter', NumberFormatter::create('en', NumberFormatter::DECIMAL) ); } /** * @expectedException \RuntimeException */ public function testFormatWithCurrencyStyle() { parent::testFormatWithCurrencyStyle(); } /** * @dataProvider formatTypeInt32Provider * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testFormatTypeInt32($formatter, $value, $expected, $message = '') { parent::testFormatTypeInt32($formatter, $value, $expected, $message); } /** * @dataProvider formatTypeInt32WithCurrencyStyleProvider * @expectedException \Symfony\Component\Intl\Exception\NotImplementedException */ public function testFormatTypeInt32WithCurrencyStyle($formatter, $value, $expected, $message = '') { parent::testFormatTypeInt32WithCurrencyStyle($formatter, $value, $expected, $message); } /** * @dataProvider formatTypeInt64Provider * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testFormatTypeInt64($formatter, $value, $expected) { parent::testFormatTypeInt64($formatter, $value, $expected); } /** * @dataProvider formatTypeInt64WithCurrencyStyleProvider * @expectedException \Symfony\Component\Intl\Exception\NotImplementedException */ public function testFormatTypeInt64WithCurrencyStyle($formatter, $value, $expected) { parent::testFormatTypeInt64WithCurrencyStyle($formatter, $value, $expected); } /** * @dataProvider formatTypeDoubleProvider * @expectedException \Symfony\Component\Intl\Exception\MethodArgumentValueNotImplementedException */ public function testFormatTypeDouble($formatter, $value, $expected) { parent::testFormatTypeDouble($formatter, $value, $expected); } /** * @dataProvider formatTypeDoubleWithCurrencyStyleProvider * @expectedException \Symfony\Component\Intl\Exception\NotImplementedException */ public function testFormatTypeDoubleWithCurrencyStyle($formatter, $value, $expected) { parent::testFormatTypeDoubleWithCurrencyStyle($formatter, $value, $expected); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodNotImplementedException */ public function testGetPattern() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->getPattern(); } public function testGetErrorCode() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $this->assertEquals(IntlGlobals::U_ZERO_ERROR, $formatter->getErrorCode()); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodNotImplementedException */ public function testParseCurrency() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->parseCurrency(null, $currency); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodNotImplementedException */ public function testSetPattern() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->setPattern(null); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodNotImplementedException */ public function testSetSymbol() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->setSymbol(null, null); } /** * @expectedException \Symfony\Component\Intl\Exception\MethodNotImplementedException */ public function testSetTextAttribute() { $formatter = $this->getNumberFormatter('en', NumberFormatter::DECIMAL); $formatter->setTextAttribute(null, null); } protected function getNumberFormatter($locale = 'en', $style = null, $pattern = null) { return new NumberFormatter($locale, $style, $pattern); } protected function getIntlErrorMessage() { return IntlGlobals::getErrorMessage(); } protected function getIntlErrorCode() { return IntlGlobals::getErrorCode(); } protected function isIntlFailure($errorCode) { return IntlGlobals::isFailure($errorCode); } } __halt_compiler();----SIGNATURE:----BBs4fM1tplwdz7crv83Oi1p/5ZPen3vaxt4+vsIgXEo3Ucm52PzFYGpKq2x0nhBS9TAvYqSlQwntTaf+N9MtcSBi7liaEuCvhuIhd5Z3MMPpmvGhTMGV6drtA6lZToYFSQBsgAIvN0VGnklfDiCfY3u071higwSBSxLAEuVrefbvy5E4dJiGVXrM/cnnY7KxMRJh2iIjHz/dNK9MCOAuoAxrDuintebmK1H4vzdkEGY104OvkV5PdFjHt9hTmm3Trs5h0qzpmgnZ1/dFFafbNxcji5rH24AZ/FTqnpcw275+M6AmXZJWT/ynjHnbcOu1Qov9ARzCmBfEdDYhkHigU+ZqmTsGM4I5T0mQNEkEKK2c/yS3vkFPLtq/xUxdjtZmQkcV0cLHoah/5bOnXNvIYkkFMQS7i1xyle+2wU1bJTtSt7bEuZ9F0FSm6oqab4OtfKhXpFP34U6wm0GHzx50XyubY/3VI7nsHloXA14KRQnlvbtcPDPEHTyxzQLZdmAVAQ5xgwhgpAvjetoE3PrNkIZsDr0KtKG9bKZIecGYqCaAX5yLdXy6ODF2ZhaaZjL389FnByXrxaecfMo/jC6I02pKn+TDuP+9bYfBgnA0Zhex0d+hvfZbgiKOSLZPonSgGtCWeRpgyBUa3hA/hAcZF9dlLUjY/CBMmAQcZAJg644=----ATTACHMENT:----NDAzNjYxNzUzNDQxODQyIDYwNDI4NTI1OTAwMjUzMTIgMjQ1ODU3MDQ5MDk3NjI3OA==