silverstripe-framework/tests/php/Forms/EnumFieldTest.php
2016-11-23 19:25:12 +13:00

54 lines
964 B
PHP

<?php
use SilverStripe\ORM\ArrayLib;
use SilverStripe\ORM\FieldType\DBEnum;
use SilverStripe\Dev\SapphireTest;
/**
* @package framework
* @subpackage tests
*/
class EnumFieldTest extends SapphireTest {
public function testAnyFieldIsPresentInSearchField() {
$values = array (
'Key' => 'Value'
);
$enumField = new DBEnum('testField', $values);
$searchField = $enumField->scaffoldSearchField();
$anyText = "(" . _t('Enum.ANY', 'Any') . ")";
$this->assertEquals(true, $searchField->getHasEmptyDefault());
$this->assertEquals($anyText, $searchField->getEmptyString());
}
public function testEnumParsing() {
$enum = new DBEnum('testField', "
,
0,
Item1,
Item2,
Item 3,
Item-4,
item 5
still 5,
trailing comma,
");
$this->assertEquals(ArrayLib::valuekey(array(
'',
'0',
'Item1',
'Item2',
'Item 3',
'Item-4',
'item 5
still 5',
'trailing comma'
)), $enum->enumValues());
}
}