[Locale] add missing StubCollator methods, with tests
This commit is contained in:
parent
18e16860ae
commit
c22a43860b
@ -22,6 +22,16 @@ use Symfony\Component\Locale\Exception\MethodArgumentValueNotImplementedExceptio
|
|||||||
*/
|
*/
|
||||||
class StubCollator
|
class StubCollator
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constants defined by the intl extension, not class constants in IntlDateFormatter
|
||||||
|
* TODO: remove if the Form component drop the call to the intl_is_failure() function
|
||||||
|
*
|
||||||
|
* @see StubIntlDateFormatter::getErrorCode()
|
||||||
|
* @see StubIntlDateFormatter::getErrorMessage()
|
||||||
|
*/
|
||||||
|
const U_ZERO_ERROR = 0;
|
||||||
|
const U_ZERO_ERROR_MESSAGE = 'U_ZERO_ERROR';
|
||||||
|
|
||||||
const ON = 17;
|
const ON = 17;
|
||||||
const OFF = 16;
|
const OFF = 16;
|
||||||
const DEFAULT_VALUE = -1;
|
const DEFAULT_VALUE = -1;
|
||||||
@ -77,6 +87,77 @@ class StubCollator
|
|||||||
return asort($array);
|
return asort($array);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function compare($a, $b)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAttribute($attr)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns collator's last error code. Always returns the U_ZERO_ERROR class constant value
|
||||||
|
*
|
||||||
|
* @return int The error code from last collator call
|
||||||
|
*/
|
||||||
|
public function getErrorCode()
|
||||||
|
{
|
||||||
|
return self::U_ZERO_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns collator's last error message. Always returns the U_ZERO_ERROR_MESSAGE class constant value
|
||||||
|
*
|
||||||
|
* @return string The error message from last collator call
|
||||||
|
*/
|
||||||
|
public function getErrorMessage()
|
||||||
|
{
|
||||||
|
return self::U_ZERO_ERROR_MESSAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the collator's locale
|
||||||
|
*
|
||||||
|
* @param int $type The locale name type to return between valid or actual (StubLocale::VALID_LOCALE or StubLocale::ACTUAL_LOCALE, respectively)
|
||||||
|
* @return string The locale name used to create the collator
|
||||||
|
*/
|
||||||
|
public function getLocale($type = StubLocale::ACTUAL_LOCALE)
|
||||||
|
{
|
||||||
|
return 'en';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSortKey($string)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStrength()
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setAttribute($attr, $val)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setStrength($strength)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sortWithSortKeys(&$arr)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sort(&$arr, $sort_flag = null)
|
||||||
|
{
|
||||||
|
throw new MethodNotImplementedException(__METHOD__);
|
||||||
|
}
|
||||||
|
|
||||||
static public function create($locale)
|
static public function create($locale)
|
||||||
{
|
{
|
||||||
return new self($locale);
|
return new self($locale);
|
||||||
|
@ -70,9 +70,86 @@ class StubCollatorTest extends LocaleTestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testCompare()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->compare('a', 'b');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testGetAttribute()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->getAttribute(StubCollator::NUMERIC_COLLATION);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetErrorCode()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$this->assertEquals(StubCollator::U_ZERO_ERROR, $collator->getErrorCode());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetErrorMessage()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$this->assertEquals(StubCollator::U_ZERO_ERROR_MESSAGE, $collator->getErrorMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testGetLocale()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$this->assertEquals('en', $collator->getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testGetSortKey()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->getSortKey('Hello');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testGetStrength()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->getStrength();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testSetAttribute()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->setAttribute(StubCollator::NUMERIC_COLLATION, StubCollator::ON);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Symfony\Component\Locale\Exception\MethodNotImplementedException
|
||||||
|
*/
|
||||||
|
public function testSetStrength()
|
||||||
|
{
|
||||||
|
$collator = $this->createStubCollator();
|
||||||
|
$collator->setStrength(StubCollator::PRIMARY);
|
||||||
|
}
|
||||||
|
|
||||||
public function testStaticCreate()
|
public function testStaticCreate()
|
||||||
{
|
{
|
||||||
$collator = StubCollator::create('en');
|
$collator = StubCollator::create('en');
|
||||||
$this->assertInstanceOf('Symfony\Component\Locale\Stub\StubCollator', $collator);
|
$this->assertInstanceOf('Symfony\Component\Locale\Stub\StubCollator', $collator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function createStubCollator()
|
||||||
|
{
|
||||||
|
return new StubCollator('en');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user