silverstripe-framework/tests/php/Forms/EnumFieldTest.php

60 lines
1.2 KiB
PHP
Raw Normal View History

2014-03-30 08:51:38 +02:00
<?php
2016-10-14 03:30:05 +02:00
namespace SilverStripe\Forms\Tests;
use SilverStripe\ORM\ArrayLib;
use SilverStripe\ORM\FieldType\DBEnum;
use SilverStripe\Dev\SapphireTest;
class EnumFieldTest extends SapphireTest
{
public function testAnyFieldIsPresentInSearchField()
{
$values = [
'Key' => 'Value'
];
$enumField = new DBEnum('testField', $values);
2014-08-15 08:53:05 +02:00
$searchField = $enumField->scaffoldSearchField();
2014-08-15 08:53:05 +02:00
2017-04-20 03:59:51 +02:00
$anyText = "(" . _t('SilverStripe\\ORM\\FieldType\\DBEnum.ANY', 'Any') . ")";
$this->assertEquals(true, $searchField->getHasEmptyDefault());
$this->assertEquals($anyText, $searchField->getEmptyString());
}
2015-10-15 16:18:32 +02:00
public function testEnumParsing()
{
$enum = new DBEnum(
'testField',
"
2016-03-17 22:43:26 +01:00
,
0,
2015-10-15 16:18:32 +02:00
Item1,
Item2,
Item 3,
Item-4,
item 5
still 5,
trailing comma,
"
);
2015-10-15 16:18:32 +02:00
$this->assertEquals(
ArrayLib::valuekey(
[
'',
'0',
'Item1',
'Item2',
'Item 3',
'Item-4',
'item 5
2015-10-15 16:18:32 +02:00
still 5',
'trailing comma'
]
),
$enum->enumValues()
);
}
2014-03-30 08:51:38 +02:00
}