Output is no longer sent to browser during unit testing.
This commit is contained in:
Abel Hoogeveen 2016-08-07 13:21:37 +02:00
parent 87364d762d
commit 6f5378e43a
4 changed files with 22 additions and 13 deletions

View File

@ -28,7 +28,7 @@
* @link http://techfuze.net/fuzeworks
* @since Version 0.0.1
*
* @version Version 1.0.0
* @version Version 1.0.1
*/
namespace FuzeWorks;
@ -516,7 +516,7 @@ class Logger {
Layout::view($view);
} catch (LayoutException $exception) {
// No error page could be found, just echo the result
echo "<h1>$errno</h1><h3>" . $http_codes[$errno] . '</h3>';
Factory::getInstance()->output->set_output("<h1>$errno</h1><h3>" . $http_codes[$errno] . '</h3>');
}
}

View File

@ -27,7 +27,7 @@
* @link http://techfuze.net/fuzeworks
* @since Version 0.0.1
*
* @version Version 1.0.0
* @version Version 1.0.1
*/
namespace FuzeWorks;

View File

@ -27,11 +27,12 @@
* @link http://techfuze.net/fuzeworks
* @since Version 0.0.1
*
* @version Version 1.0.0
* @version Version 1.0.1
*/
use FuzeWorks\Events;
use FuzeWorks\Layout;
use FuzeWorks\Factory;
use FuzeWorks\LoggerTracyBridge;
/**
* Class CoreTestAbstract.
@ -47,9 +48,19 @@ abstract class CoreTestAbstract extends PHPUnit_Framework_TestCase
*/
public function tearDown()
{
// Clear all events created by tests
Events::$listeners = array();
// Re-register the LoggerTracyBridge to supress errors
LoggerTracyBridge::register();
// Reset the layout manager
Layout::reset();
// Re-enable events, in case they have been disabled
Events::enable();
// Clear the output
Factory::getInstance()->output->set_output('');
}
}

View File

@ -27,11 +27,12 @@
* @link http://techfuze.net/fuzeworks
* @since Version 0.0.1
*
* @version Version 1.0.0
* @version Version 1.0.1
*/
use FuzeWorks\Config;
use FuzeWorks\Logger;
use FuzeWorks\Factory;
use FuzeWorks\Exception\LoggerException;
/**
@ -43,9 +44,12 @@ class loggerTest extends CoreTestAbstract
{
protected $logger;
protected $output;
public function setUp()
{
Config::get('error')->error_reporting = false;
$this->output = Factory::getInstance()->output;
Logger::$Logs = array();
}
@ -111,14 +115,11 @@ class loggerTest extends CoreTestAbstract
// Create the exception
$exception = new LoggerException();
// Prepare output buffering
ob_start(function () {});
// Log the exception
Logger::exceptionHandler($exception);
// Check the output
$this->assertEquals('<h1>500</h1><h3>Internal Server Error</h3>', ob_get_clean());
$this->assertEquals('<h1>500</h1><h3>Internal Server Error</h3>', $this->output->get_output());
// Check the logs
$log = Logger::$Logs[0];
@ -209,14 +210,11 @@ class loggerTest extends CoreTestAbstract
// Test all error codes
foreach ($http_codes as $code => $description) {
// Prepare output buffering
ob_start(function () {});
// Fire the error
Logger::http_error($code);
// Check the output
$this->assertEquals('<h1>'.$code.'</h1><h3>'.$description.'</h3>', ob_get_clean());
$this->assertEquals('<h1>'.$code.'</h1><h3>'.$description.'</h3>', $this->output->get_output());
}
// Test when not viewing