mirror of
https://github.com/silverstripe/silverstripe-userforms.git
synced 2024-10-22 17:05:42 +02:00
FIX Alias object context in closure for PHP 5.3 compat, add test to cover it
This commit is contained in:
parent
51c62c4a90
commit
fac99f7b6b
@ -61,7 +61,10 @@ class EditableTextField extends EditableFormField
|
|||||||
|
|
||||||
public function getCMSFields()
|
public function getCMSFields()
|
||||||
{
|
{
|
||||||
$this->beforeUpdateCMSFields(function ($fields) {
|
// PHP 5.3 compat
|
||||||
|
$self = $this;
|
||||||
|
|
||||||
|
$this->beforeUpdateCMSFields(function ($fields) use ($self) {
|
||||||
$fields->addFieldToTab(
|
$fields->addFieldToTab(
|
||||||
'Root.Main',
|
'Root.Main',
|
||||||
NumericField::create(
|
NumericField::create(
|
||||||
@ -78,7 +81,7 @@ class EditableTextField extends EditableFormField
|
|||||||
DropdownField::create(
|
DropdownField::create(
|
||||||
'Autocomplete',
|
'Autocomplete',
|
||||||
_t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'),
|
_t('EditableTextField.AUTOCOMPLETE', 'Autocomplete'),
|
||||||
$this->config()->get('autocomplete_options')
|
$self->config()->get('autocomplete_options')
|
||||||
)->setDescription(_t(
|
)->setDescription(_t(
|
||||||
'EditableTextField.AUTOCOMPLETE_DESCRIPTION',
|
'EditableTextField.AUTOCOMPLETE_DESCRIPTION',
|
||||||
'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated'
|
'Supported browsers will attempt to populate this field automatically with the users information, use to set the value populated'
|
||||||
|
17
tests/Model/EditableFormField/EditableTextFieldTest.php
Normal file
17
tests/Model/EditableFormField/EditableTextFieldTest.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class EditableTextFieldTest extends SapphireTest
|
||||||
|
{
|
||||||
|
public function testGetCmsFields()
|
||||||
|
{
|
||||||
|
Config::inst()->remove('EditableTextField', 'autocomplete_options');
|
||||||
|
Config::inst()->update('EditableTextField', 'autocomplete_options', array('foo' => 'foo'));
|
||||||
|
|
||||||
|
$field = new EditableTextField;
|
||||||
|
$result = $field->getCMSFields();
|
||||||
|
|
||||||
|
$autocompleteField = $result->fieldByName('Root.Main.Autocomplete');
|
||||||
|
$this->assertInstanceOf('DropdownField', $autocompleteField);
|
||||||
|
$this->assertEquals(array('foo' => 'foo'), $autocompleteField->getSource());
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user