more tests
This commit is contained in:
parent
81c9247571
commit
ed554705e5
3 changed files with 28 additions and 5 deletions
|
@ -137,7 +137,7 @@ class Settings implements \Iterator
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// echo "No settingsfile: $defaultConf";
|
// echo "No settingsfile: $defaultConf";
|
||||||
throw new \ErrorException( "No settingsfile: $defaultConf" );
|
throw new \Exception( "No settingsfile: $defaultConf" );
|
||||||
// throw new FileNotFoundException();
|
// throw new FileNotFoundException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,7 +307,7 @@ class Settings implements \Iterator
|
||||||
// Magic getter/setter methods {{{
|
// Magic getter/setter methods {{{
|
||||||
public function __set( $name, $value )
|
public function __set( $name, $value )
|
||||||
{
|
{
|
||||||
// todo: throw new SettingsAreReadOnlyException();
|
throw new \Exception("Settings are read only. Unable to set $name to $value");
|
||||||
}
|
}
|
||||||
|
|
||||||
public function __get( $name )
|
public function __get( $name )
|
||||||
|
@ -315,7 +315,6 @@ class Settings implements \Iterator
|
||||||
if ( !isset( $this->settings[$name] ) )
|
if ( !isset( $this->settings[$name] ) )
|
||||||
{
|
{
|
||||||
throw new \OutOfRangeException("Setting '$name' not found");
|
throw new \OutOfRangeException("Setting '$name' not found");
|
||||||
// todo: throw new SettingNotFoundException();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (is_array( $this->settings[$name] ))
|
return (is_array( $this->settings[$name] ))
|
||||||
|
|
|
@ -38,10 +38,19 @@ class SettingsTest extends TestCase
|
||||||
public function testLoadNoFile()
|
public function testLoadNoFile()
|
||||||
{
|
{
|
||||||
$cfg = new Settings();
|
$cfg = new Settings();
|
||||||
$this->expectException(\ErrorException::class);
|
$this->expectException(\Exception::class);
|
||||||
$cfg->load();
|
$cfg->load();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public function testReadOnly()
|
||||||
|
{
|
||||||
|
$cfg = new Settings();
|
||||||
|
$this->expectException(\Exception::class);
|
||||||
|
$cfg->answer = 42;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
private function appPath(Settings $cfg, string $dir='')
|
private function appPath(Settings $cfg, string $dir='')
|
||||||
|
@ -86,6 +95,19 @@ class SettingsTest extends TestCase
|
||||||
$this->assertEquals('default', $nested->testFiles);
|
$this->assertEquals('default', $nested->testFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @depends testLoad
|
||||||
|
*/
|
||||||
|
public function testNestedArray(Settings $cfg)
|
||||||
|
{
|
||||||
|
$nested = $cfg->nested->toArray();
|
||||||
|
$this->assertIsArray($nested);
|
||||||
|
$this->assertIsIterable($nested);
|
||||||
|
$this->assertEquals(1, $nested['level']);
|
||||||
|
$this->assertEquals(2, $nested['nested']['level']);
|
||||||
|
$this->assertEquals('default', $nested['testFiles']);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @depends testLoad
|
* @depends testLoad
|
||||||
*/
|
*/
|
||||||
|
@ -104,6 +126,7 @@ class SettingsTest extends TestCase
|
||||||
$cfg = $this->appPath($cfg)->site('site')->load();
|
$cfg = $this->appPath($cfg)->site('site')->load();
|
||||||
|
|
||||||
$this->assertEquals('default', $cfg->testFiles);
|
$this->assertEquals('default', $cfg->testFiles);
|
||||||
|
$this->assertEquals('site', $cfg->testFile);
|
||||||
$this->assertEquals(42, $cfg->answer);
|
$this->assertEquals(42, $cfg->answer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
<?php return [
|
<?php return [
|
||||||
'answer' => 42
|
'answer' => 42,
|
||||||
|
'testFile' => 'site'
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue