From 1743ed155603a2eb322ce1f7e72928d4e1ff0365 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Wed, 14 Dec 2016 10:45:42 +1300 Subject: [PATCH] BUG Fix issue with UserFormsCheckboxSetField Fixes #533 --- code/formfields/UserFormsCheckboxSetField.php | 12 -------- tests/UserFormsCheckboxSetFieldTest.php | 29 +++++++++++++++++++ 2 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 tests/UserFormsCheckboxSetFieldTest.php diff --git a/code/formfields/UserFormsCheckboxSetField.php b/code/formfields/UserFormsCheckboxSetField.php index 32ccb9b..d484105 100644 --- a/code/formfields/UserFormsCheckboxSetField.php +++ b/code/formfields/UserFormsCheckboxSetField.php @@ -23,18 +23,6 @@ class UserFormsCheckboxSetField extends CheckboxSetField return $options; } - /** - * @inheritdoc - * - * @return array - */ - public function getSourceAsArray() - { - $array = parent::getSourceAsArray(); - - return array_values($array); - } - /** * @inheritdoc * diff --git a/tests/UserFormsCheckboxSetFieldTest.php b/tests/UserFormsCheckboxSetFieldTest.php new file mode 100644 index 0000000..de2ede6 --- /dev/null +++ b/tests/UserFormsCheckboxSetFieldTest.php @@ -0,0 +1,29 @@ + '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)); + } +} \ No newline at end of file