mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
parent
96b061ffff
commit
cd80d501f9
@ -881,6 +881,7 @@ class Config_ForClass {
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($name) {
|
||||
return Config::inst()->get($this->class, $name);
|
||||
@ -894,6 +895,16 @@ class Config_ForClass {
|
||||
return Config::inst()->update($this->class, $name, $val);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @return bool
|
||||
*/
|
||||
public function __isset($name)
|
||||
{
|
||||
$val = $this->__get($name);
|
||||
return isset($val);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param int $sourceOptions
|
||||
|
@ -82,15 +82,15 @@ class ConfigTest_TestNest extends Object implements TestOnly {
|
||||
}
|
||||
|
||||
class ConfigTest extends SapphireTest {
|
||||
|
||||
|
||||
protected $depSettings = null;
|
||||
|
||||
|
||||
public function setUp() {
|
||||
parent::setUp();
|
||||
$this->depSettings = Deprecation::dump_settings();
|
||||
Deprecation::set_enabled(false);
|
||||
}
|
||||
|
||||
|
||||
public function tearDown() {
|
||||
Deprecation::restore_settings($this->depSettings);
|
||||
parent::tearDown();
|
||||
@ -262,6 +262,19 @@ class ConfigTest extends SapphireTest {
|
||||
$this->assertEquals(Object::static_lookup('ConfigTest_DefinesFooDoesntExtendObject', 'bar'), null);
|
||||
}
|
||||
|
||||
public function testForClass() {
|
||||
$config = ConfigTest_DefinesFoo::config();
|
||||
// Set values
|
||||
$this->assertTrue(isset($config->foo), 'foo is set');
|
||||
$this->assertFalse(empty($config->foo), 'foo is not empty');
|
||||
$this->assertEquals(1, $config->foo, 'foo is 1');
|
||||
|
||||
// Unset values
|
||||
$this->assertFalse(isset($config->bar), 'bar is not set');
|
||||
$this->assertTrue(empty($config->bar), 'bar is empty');
|
||||
$this->assertEquals(null, $config->bar, 'bar is accessible but empty');
|
||||
}
|
||||
|
||||
public function testFragmentOrder() {
|
||||
$this->markTestIncomplete();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user