added incorrectly ignored unit test file, correcting ignore
This commit is contained in:
parent
740d62005e
commit
5a9879623f
2
tst/.gitignore
vendored
2
tst/.gitignore
vendored
@ -1 +1 @@
|
|||||||
/configuration.php
|
/configurationCombinations.php
|
||||||
|
138
tst/configuration.php
Normal file
138
tst/configuration.php
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
<?php
|
||||||
|
class configurationTest extends PHPUnit_Framework_TestCase
|
||||||
|
{
|
||||||
|
private $_options = array(
|
||||||
|
'main' => array(
|
||||||
|
'discussion' => true,
|
||||||
|
'opendiscussion' => false,
|
||||||
|
'password' => true,
|
||||||
|
'fileupload' => false,
|
||||||
|
'burnafterreadingselected' => false,
|
||||||
|
'defaultformatter' => 'plaintext',
|
||||||
|
'syntaxhighlightingtheme' => null,
|
||||||
|
'sizelimit' => 2097152,
|
||||||
|
'template' => 'bootstrap',
|
||||||
|
'notice' => '',
|
||||||
|
'base64version' => '2.1.9',
|
||||||
|
'languageselection' => false,
|
||||||
|
'languagedefault' => '',
|
||||||
|
),
|
||||||
|
'expire' => array(
|
||||||
|
'default' => '1week',
|
||||||
|
'clone' => true,
|
||||||
|
),
|
||||||
|
'expire_options' => array(
|
||||||
|
'5min' => 300,
|
||||||
|
'10min' => 600,
|
||||||
|
'1hour' => 3600,
|
||||||
|
'1day' => 86400,
|
||||||
|
'1week' => 604800,
|
||||||
|
'1month' => 2592000,
|
||||||
|
'1year' => 31536000,
|
||||||
|
'never' => 0,
|
||||||
|
),
|
||||||
|
'formatter_options' => array(
|
||||||
|
'plaintext' => 'Plain Text',
|
||||||
|
'syntaxhighlighting' => 'Source Code',
|
||||||
|
'markdown' => 'Markdown',
|
||||||
|
),
|
||||||
|
'traffic' => array(
|
||||||
|
'limit' => 10,
|
||||||
|
'header' => null,
|
||||||
|
'dir' => '../data',
|
||||||
|
),
|
||||||
|
'model' => array(
|
||||||
|
'class' => 'zerobin_data',
|
||||||
|
),
|
||||||
|
'model_options' => array(
|
||||||
|
'dir' => '../data',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
/* Setup Routine */
|
||||||
|
helper::confBackup();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function tearDown()
|
||||||
|
{
|
||||||
|
/* Tear Down Routine */
|
||||||
|
helper::confRestore();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testDefaultConfigFile()
|
||||||
|
{
|
||||||
|
$this->assertTrue(copy(CONF . '.bak', CONF), 'copy default configuration file');
|
||||||
|
$conf = new configuration;
|
||||||
|
$this->assertEquals($this->_options, $conf->get(), 'default configuration is correct');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testHandleFreshConfigFile()
|
||||||
|
{
|
||||||
|
helper::createIniFile(CONF, $this->_options);
|
||||||
|
$conf = new configuration;
|
||||||
|
$this->assertEquals($this->_options, $conf->get(), 'newly generated configuration is correct');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Exception
|
||||||
|
* @expectedExceptionCode 2
|
||||||
|
*/
|
||||||
|
public function testHandleBlankConfigFile()
|
||||||
|
{
|
||||||
|
file_put_contents(CONF, '');
|
||||||
|
$conf = new configuration;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testHandleMinimalConfigFile()
|
||||||
|
{
|
||||||
|
file_put_contents(CONF, '[main]' . PHP_EOL . '[model]');
|
||||||
|
$conf = new configuration;
|
||||||
|
$this->assertEquals($this->_options, $conf->get(), 'returns correct defaults on empty file');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Exception
|
||||||
|
* @expectedExceptionCode 3
|
||||||
|
*/
|
||||||
|
public function testHandleInvalidSection()
|
||||||
|
{
|
||||||
|
file_put_contents(CONF, '[main]' . PHP_EOL . '[model]');
|
||||||
|
$conf = new configuration;
|
||||||
|
$conf->getKey('foo', 'bar');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedException Exception
|
||||||
|
* @expectedExceptionCode 4
|
||||||
|
*/
|
||||||
|
public function testHandleInvalidKey()
|
||||||
|
{
|
||||||
|
file_put_contents(CONF, '[main]' . PHP_EOL . '[model]');
|
||||||
|
$conf = new configuration;
|
||||||
|
$conf->getKey('foo');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testHandleGetKey()
|
||||||
|
{
|
||||||
|
file_put_contents(CONF, '[main]' . PHP_EOL . '[model]');
|
||||||
|
$conf = new configuration;
|
||||||
|
$this->assertEquals($this->_options['main']['sizelimit'], $conf->getKey('sizelimit'), 'get default size');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testHandleWrongTypes()
|
||||||
|
{
|
||||||
|
$this->_options['main']['syntaxhighlightingtheme'] = 'foo';
|
||||||
|
$options = $this->_options;
|
||||||
|
$options['main']['discussion'] = 'true';
|
||||||
|
$options['main']['opendiscussion'] = 0;
|
||||||
|
$options['main']['password'] = -1; // evaluates to TRUE
|
||||||
|
$options['main']['fileupload'] = 'false';
|
||||||
|
$options['expire_options']['foo'] = 'bar';
|
||||||
|
$options['formatter_options'][] = 'foo';
|
||||||
|
helper::createIniFile(CONF, $options);
|
||||||
|
$conf = new configuration;
|
||||||
|
$this->assertEquals($this->_options, $conf->get(), 'incorrect types are corrected');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user