BUG Fix issue with UserFormsCheckboxSetField

Fixes #533
This commit is contained in:
Damian Mooyman 2016-12-14 10:45:42 +13:00
parent ba503d3803
commit b047a1468c
2 changed files with 29 additions and 12 deletions

View File

@ -23,18 +23,6 @@ class UserFormsCheckboxSetField extends CheckboxSetField
return $options;
}
/**
* @inheritdoc
*
* @return array
*/
public function getSourceAsArray()
{
$array = parent::getSourceAsArray();
return array_values($array);
}
/**
* @inheritdoc
*

View File

@ -0,0 +1,29 @@
<?php
class UserFormsCheckboxSetFieldTest extends SapphireTest
{
public function testValidate() {
$field = new UserFormsCheckboxSetField('Field', 'My field', array('One' => 'One', 'Two' => 'Two'));
$validator = new RequiredFields();
// String values
$field->setValue('One');
$this->assertTrue($field->validate($validator));
$field->setValue('One,Two');
$this->assertTrue($field->validate($validator));
$field->setValue('Three,Four');
$this->assertFalse($field->validate($validator));
// Array values
$field->setValue(array('One'));
$this->assertTrue($field->validate($validator));
$field->setValue(array('One', 'Two'));
$this->assertTrue($field->validate($validator));
// Invalid
$field->setValue('Three');
$this->assertFalse($field->validate($validator));
$field->setValue(array('Three', 'Four'));
$this->assertFalse($field->validate($validator));
}
}