Anton Grebnev
13 years ago
6 changed files with 146 additions and 10 deletions
-
16app/FrontController.php
-
20app/router/Router.php
-
17layout/Error.layout.php
-
8tests/app/FrontControllerTest.php
-
13tests/app/router/RouterTest.php
-
82tests/layout/ErrorLayoutTest.php
@ -0,0 +1,82 @@ |
|||||
|
<?php |
||||
|
/** |
||||
|
* @copyright NetMonsters <team@netmonsters.ru> |
||||
|
* @link http://netmonsters.ru |
||||
|
* @package Majestic |
||||
|
* @subpackage UnitTests |
||||
|
* @since 04-06-2012 |
||||
|
* @user: agrebnev |
||||
|
*/ |
||||
|
|
||||
|
require_once dirname(__FILE__) . '/../../exception/ErrorHandler.php'; |
||||
|
require_once dirname(__FILE__) . '/../../exception/GeneralException.php'; |
||||
|
require_once dirname(__FILE__) . '/../../app/FrontController.php'; |
||||
|
require_once dirname(__FILE__) . '/../../layout/Layout.php'; |
||||
|
require_once dirname(__FILE__) . '/../../layout/Error.layout.php'; |
||||
|
|
||||
|
/** |
||||
|
* @runTestsInSeparateProcesses |
||||
|
*/ |
||||
|
class ErrorLayoutTest extends PHPUnit_Framework_TestCase |
||||
|
{ |
||||
|
|
||||
|
public function run(PHPUnit_Framework_TestResult $result = NULL) |
||||
|
{ |
||||
|
$this->setPreserveGlobalState(false); |
||||
|
return parent::run($result); |
||||
|
} |
||||
|
|
||||
|
public function setUp() |
||||
|
{ |
||||
|
if (!class_exists('RouterMock')) { |
||||
|
$this->getMock('Router', array(), array(), 'RouterMock', false); |
||||
|
} |
||||
|
if (!class_exists('PHPViewMock')) { |
||||
|
$this->getMock('PHPView', array('fetch', 'append', 'prepend', 'assign', 'getTemplate'), array(), 'PHPViewMock', false); |
||||
|
} |
||||
|
|
||||
|
set_new_overload(array($this, 'newCallback')); |
||||
|
} |
||||
|
|
||||
|
public function testSetException() |
||||
|
{ |
||||
|
if (!defined('DEBUG')) { |
||||
|
define('DEBUG', false); |
||||
|
} |
||||
|
$layout = new ErrorLayout(); |
||||
|
$layout->setException(new GeneralException()); |
||||
|
$this->assertAttributeInstanceOf('GeneralException', 'exception', $layout); |
||||
|
} |
||||
|
|
||||
|
public function testExecute() |
||||
|
{ |
||||
|
if (!defined('DEBUG')) { |
||||
|
define('DEBUG', false); |
||||
|
} |
||||
|
$action = $this->getMock('Action', array('fetch')); |
||||
|
$action->expects($this->once()) |
||||
|
->method('fetch') |
||||
|
->will($this->returnValue('this is the result of Action::fetch()')); |
||||
|
|
||||
|
$layout = new ErrorLayout(); |
||||
|
$layout->fetch($action); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
protected function newCallback($className) |
||||
|
{ |
||||
|
switch ($className) { |
||||
|
case 'Router': |
||||
|
return 'RouterMock'; |
||||
|
case 'PHPView': |
||||
|
return 'PHPViewMock'; |
||||
|
default: |
||||
|
return $className; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
public function tearDown() |
||||
|
{ |
||||
|
unset_new_overload(); |
||||
|
} |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue