ENHANCEMENT: allow adding a new a field to ArrayData (from r107434)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112595 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2010-10-15 03:47:27 +00:00
parent cfe9b518a5
commit f097b678d8
2 changed files with 19 additions and 0 deletions

View File

@ -43,6 +43,16 @@ class ArrayData extends ViewableData {
}
}
/**
* Add or set a field on this object.
*
* @param string $field
* @param mixed $value
*/
public function setField($field, $value) {
$this->array[$field] = $value;
}
public function hasField($f) {
return isset($this->array[$f]);
}

View File

@ -75,6 +75,15 @@ class ArrayDataTest extends SapphireTest {
$this->assertEquals("Apple", $array['a']);
$this->assertEquals("Banana", $array['b']);
}
function testSetField() {
$arrayData = new ArrayData(array());
$arrayData->setField('d', 'Delta');
$this->assertTrue($arrayData->hasField('d'));
$this->assertEquals('Delta', $arrayData->getField('d'));
}
}