Module testing coverage 100%

This commit is contained in:
Joshua Sherman 2014-01-17 15:30:58 -05:00
parent 76d3c7cdc4
commit 9cc466bcd3
4 changed files with 129 additions and 71 deletions

View file

@ -1,6 +1,14 @@
<?php
set_exit_overload(function(){ return false; });
set_exit_overload(function($status = false)
{
if ($status)
{
echo $status;
}
return false;
});
ob_start();
@session_start();

View file

@ -274,7 +274,7 @@ class ControllerTest extends PHPUnit_Framework_TestCase
setUpRequest('validationerrors');
$module = '<?php class validationerrors extends Module { '
. 'protected $validate = ["test"];'
. 'public $validate = ["test"];'
. 'public function __default() { return ["foo" => "bar"]; }'
. '} ?>';

View file

@ -0,0 +1,70 @@
<?php
$_POST['field2'] = 'short';
$_GET['field2'] = 'short';
$_REQUEST['field2'] = 'short';
class MockParentModule extends Module
{
public $validate = [
'field1',
'field2' => [
'length:<:10' => 'Too short',
'length:>:50' => 'Too long',
],
];
}
class MockChildModule extends MockParentModule
{
public $method = ['POST', 'GET'];
}
class ModuleTest extends PHPUnit_Framework_TestCase
{
public function testAutoRun()
{
$this->assertInstanceOf('Module', new Module(true));
}
public function testAutoRunParentError()
{
$this->expectOutputString('Errors encountered, this is a @todo for form validation when calling modules from inside of modules');
$model = new MockChildModule(true);
}
public function testSetGetReturn()
{
$module = new Module();
$module->foo = 'bar';
$this->assertEquals('bar', $module->foo);
}
public function testGetMissing()
{
$module = new Module();
$this->assertFalse($module->missing);
}
public function testValidateGet()
{
$module = new MockParentModule();
$module->method = 'GET';
$this->assertEquals(['The field1 field is required.', 'Too long'], $module->__validate());
}
public function testValidatePost()
{
$module = new MockParentModule();
$this->assertEquals(['The field1 field is required.', 'Too long'], $module->__validate());
}
public function testValidateRequest()
{
$module = new MockParentModule();
$module->method = null;
$this->assertEquals(['The field1 field is required.', 'Too long'], $module->__validate());
}
}
?>