add dataProvider to test buildFileName and fix related errors
This commit is contained in:
parent
20f962b26d
commit
6d3158a5c7
2 changed files with 43 additions and 11 deletions
|
@ -86,9 +86,9 @@ class Settings implements \Iterator
|
||||||
// prefix() {{{
|
// prefix() {{{
|
||||||
/** {{{
|
/** {{{
|
||||||
*///}}}
|
*///}}}
|
||||||
public function prefix( string $prefix )
|
public function prefix( ?string $prefix=null )
|
||||||
{
|
{
|
||||||
$this->filePrefix = "$prefix.";
|
$this->filePrefix = (isset($prefix)) ? "$prefix." : '';
|
||||||
return $this;
|
return $this;
|
||||||
}// }}}
|
}// }}}
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ class Settings implements \Iterator
|
||||||
|
|
||||||
if ($type === self::SITE) $path .= $this->site.'/';
|
if ($type === self::SITE) $path .= $this->site.'/';
|
||||||
|
|
||||||
if (is_string( $type ))
|
if (is_string( $type ) &! empty( $type ))
|
||||||
{
|
{
|
||||||
$mode = "$type.";
|
$mode = "$type.";
|
||||||
$path = $this->pkgPath.$this->confDir;
|
$path = $this->pkgPath.$this->confDir;
|
||||||
|
|
|
@ -27,6 +27,7 @@ use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class SettingsTest extends TestCase
|
class SettingsTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
||||||
public function testConstruct()
|
public function testConstruct()
|
||||||
{
|
{
|
||||||
$cfg = new Settings();
|
$cfg = new Settings();
|
||||||
|
@ -100,17 +101,48 @@ class SettingsTest extends TestCase
|
||||||
$this->assertEquals(42, $cfg->answer);
|
$this->assertEquals(42, $cfg->answer);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testBuildFileName()
|
/**
|
||||||
|
* @depends testConstruct
|
||||||
|
* @dataProvider fileNameData
|
||||||
|
*/
|
||||||
|
public function testBuildFileName(string $prefix, $type, string $site, string $expected, Settings $cfg)
|
||||||
{
|
{
|
||||||
$path = './config/';
|
$path = './config/';
|
||||||
$prefix = '';
|
|
||||||
$postfix = 'conf.php';
|
|
||||||
$type = '';
|
|
||||||
$defaultName = "$path$prefix$type$postfix";
|
|
||||||
|
|
||||||
$cfg = new Settings();
|
$cfg->appPath('./');
|
||||||
|
if ($prefix !== '') $cfg->prefix($prefix);
|
||||||
|
if ($site !== '')
|
||||||
|
{
|
||||||
|
$cfg->prefix();
|
||||||
|
$cfg->site($site);
|
||||||
|
}
|
||||||
|
|
||||||
$this->assertEquals($defaultName, $cfg->buildFileName());
|
$this->assertEquals($path.$expected, $cfg->buildFileName($type));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function fileNameData()
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
// prefix, type, 'site', 'expected'
|
||||||
|
['', '', '', 'conf.php' ],
|
||||||
|
['', 'default', '', 'default.conf.php' ],
|
||||||
|
['', 'testing', '', 'testing.conf.php' ],
|
||||||
|
['MyPrefix', '', '', 'MyPrefix.conf.php' ],
|
||||||
|
['MyPrefix', 'default', '', 'MyPrefix.default.conf.php' ],
|
||||||
|
['MyPrefix', 'testing', '', 'MyPrefix.testing.conf.php' ],
|
||||||
|
['_', '', '', '_.conf.php' ],
|
||||||
|
['_', 'default', '', '_.default.conf.php' ],
|
||||||
|
['_', 'testing', '', '_.testing.conf.php' ],
|
||||||
|
['1', '', '', '1.conf.php' ],
|
||||||
|
['1', 'default', '', '1.default.conf.php' ],
|
||||||
|
['1', 'testing', '', '1.testing.conf.php' ],
|
||||||
|
['other', '', '', 'other.conf.php' ],
|
||||||
|
['other', 'default', '', 'other.default.conf.php' ],
|
||||||
|
['other', 'testing', '', 'other.testing.conf.php' ],
|
||||||
|
|
||||||
|
['', 0x01, '13', '13/conf.php' ],
|
||||||
|
['', 0x01, 'a_site', 'a_site/conf.php' ],
|
||||||
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue