Revert "Revert "Language names via intl library.""
This reverts commit 4f35efa0ba
.
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace CommerceGuys\Intl\Tests\NumberFormat;
|
||||
|
||||
use CommerceGuys\Intl\NumberFormat\NumberFormatRepository;
|
||||
use org\bovigo\vfs\vfsStream;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass \CommerceGuys\Intl\NumberFormat\NumberFormatRepository
|
||||
*/
|
||||
class NumberFormatRepositoryTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* English number format definition.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $englishDefinition = array(
|
||||
'numbering_system' => 'latn',
|
||||
'decimal_pattern' => '#,##0.###',
|
||||
'percent_pattern' => '#,##0%',
|
||||
'currency_pattern' => '¤#,##0.00',
|
||||
'accounting_currency_pattern' => '¤#,##0.00;(¤#,##0.00)',
|
||||
);
|
||||
|
||||
/**
|
||||
* @covers ::__construct
|
||||
*/
|
||||
public function testConstructor()
|
||||
{
|
||||
// Mock the existence of JSON definitions on the filesystem.
|
||||
$root = vfsStream::setup('resources');
|
||||
vfsStream::newFile('number_format/en.json')->at($root)->setContent(json_encode($this->englishDefinition));
|
||||
|
||||
// Instantiate the number format repository and confirm that the definition
|
||||
// path was properly set.
|
||||
$numberFormatRepository = new NumberFormatRepository('vfs://resources/number_format/');
|
||||
$definitionPath = $this->getObjectAttribute($numberFormatRepository, 'definitionPath');
|
||||
$this->assertEquals('vfs://resources/number_format/', $definitionPath);
|
||||
|
||||
return $numberFormatRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::get
|
||||
* @covers ::createNumberFormatFromDefinition
|
||||
* @uses \CommerceGuys\Intl\NumberFormat\NumberFormat
|
||||
* @uses \CommerceGuys\Intl\LocaleResolverTrait
|
||||
* @depends testConstructor
|
||||
*/
|
||||
public function testGet($numberFormatRepository)
|
||||
{
|
||||
$numberFormat = $numberFormatRepository->get('en');
|
||||
$this->assertInstanceOf('CommerceGuys\\Intl\\NumberFormat\\NumberFormat', $numberFormat);
|
||||
$this->assertEquals('en', $numberFormat->getLocale());
|
||||
$this->assertEquals('latn', $numberFormat->getNumberingSystem());
|
||||
$this->assertEquals('.', $numberFormat->getDecimalSeparator());
|
||||
$this->assertEquals(',', $numberFormat->getGroupingSeparator());
|
||||
$this->assertEquals('+', $numberFormat->getPlusSign());
|
||||
$this->assertEquals('-', $numberFormat->getMinusSign());
|
||||
$this->assertEquals('%', $numberFormat->getPercentSign());
|
||||
$this->assertEquals('#,##0.###', $numberFormat->getDecimalPattern());
|
||||
$this->assertEquals('#,##0%', $numberFormat->getPercentPattern());
|
||||
$this->assertEquals('¤#,##0.00', $numberFormat->getCurrencyPattern());
|
||||
$this->assertEquals('¤#,##0.00;(¤#,##0.00)', $numberFormat->getAccountingCurrencyPattern());
|
||||
|
||||
return $numberFormat;
|
||||
}
|
||||
}
|
131
library/intl/tests/NumberFormat/NumberFormatTest.php
Normal file
131
library/intl/tests/NumberFormat/NumberFormatTest.php
Normal file
@@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
namespace CommerceGuys\Intl\Tests\NumberFormat;
|
||||
|
||||
use CommerceGuys\Intl\NumberFormat\NumberFormat;
|
||||
|
||||
/**
|
||||
* @coversDefaultClass CommerceGuys\Intl\NumberFormat\NumberFormat
|
||||
*/
|
||||
class NumberFormatTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @var NumberFormat
|
||||
*/
|
||||
protected $numberFormat;
|
||||
|
||||
public function setUp()
|
||||
{
|
||||
$this->numberFormat = new NumberFormat();
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getLocale
|
||||
* @covers ::setLocale
|
||||
*/
|
||||
public function testLocale()
|
||||
{
|
||||
$this->numberFormat->setLocale('en');
|
||||
$this->assertEquals('en', $this->numberFormat->getLocale());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getNumberingSystem
|
||||
* @covers ::setNumberingSystem
|
||||
*/
|
||||
public function testNumberingSystem()
|
||||
{
|
||||
$this->numberFormat->setNumberingSystem('latn');
|
||||
$this->assertEquals('latn', $this->numberFormat->getNumberingSystem());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getDecimalSeparator
|
||||
* @covers ::setDecimalSeparator
|
||||
*/
|
||||
public function testDecimalSeparator()
|
||||
{
|
||||
$this->numberFormat->setDecimalSeparator('.');
|
||||
$this->assertEquals('.', $this->numberFormat->getDecimalSeparator());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getGroupingSeparator
|
||||
* @covers ::setGroupingSeparator
|
||||
*/
|
||||
public function testGroupingSeparator()
|
||||
{
|
||||
$this->numberFormat->setGroupingSeparator(',');
|
||||
$this->assertEquals(',', $this->numberFormat->getGroupingSeparator());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getPlusSign
|
||||
* @covers ::setPlusSign
|
||||
*/
|
||||
public function testPlusSign()
|
||||
{
|
||||
$this->numberFormat->setPlusSign('+');
|
||||
$this->assertEquals('+', $this->numberFormat->getPlusSign());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getMinusSign
|
||||
* @covers ::setMinusSign
|
||||
*/
|
||||
public function testMinusSign()
|
||||
{
|
||||
$this->numberFormat->setMinusSign('-');
|
||||
$this->assertEquals('-', $this->numberFormat->getMinusSign());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getPercentSign
|
||||
* @covers ::setPercentSign
|
||||
*/
|
||||
public function testPercentSign()
|
||||
{
|
||||
$this->numberFormat->setPercentSign('%');
|
||||
$this->assertEquals('%', $this->numberFormat->getPercentSign());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getDecimalPattern
|
||||
* @covers ::setDecimalPattern
|
||||
*/
|
||||
public function testDecimalPattern()
|
||||
{
|
||||
$this->numberFormat->setDecimalPattern('#,##0.###');
|
||||
$this->assertEquals('#,##0.###', $this->numberFormat->getDecimalPattern());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getPercentPattern
|
||||
* @covers ::setPercentPattern
|
||||
*/
|
||||
public function testPercentPattern()
|
||||
{
|
||||
$this->numberFormat->setPercentPattern('#,##0%');
|
||||
$this->assertEquals('#,##0%', $this->numberFormat->getPercentPattern());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getCurrencyPattern
|
||||
* @covers ::setCurrencyPattern
|
||||
*/
|
||||
public function testCurrencyPattern()
|
||||
{
|
||||
$this->numberFormat->setCurrencyPattern('¤#,##0.00');
|
||||
$this->assertEquals('¤#,##0.00', $this->numberFormat->getCurrencyPattern());
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers ::getAccountingCurrencyPattern
|
||||
* @covers ::setAccountingCurrencyPattern
|
||||
*/
|
||||
public function testAccountingCurrencyPattern()
|
||||
{
|
||||
$this->numberFormat->setAccountingCurrencyPattern('¤#,##0.00;(¤#,##0.00)');
|
||||
$this->assertEquals('¤#,##0.00;(¤#,##0.00)', $this->numberFormat->getAccountingCurrencyPattern());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user