1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-11 15:44:34 +02:00

Major refactoring to follow the Logbook model

This commit is contained in:
Jordi Boggiano
2011-02-20 20:52:52 +01:00
parent 860194e879
commit 3fa6e4b91f
24 changed files with 672 additions and 395 deletions

View File

@@ -0,0 +1,54 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Handler;
use Monolog\Logger;
class AbstractHandlerTest extends \PHPUnit_Framework_TestCase
{
public function testHandle()
{
$handler = new TestHandler();
$this->assertTrue($handler->handle($this->getMessage()));
}
public function testHandleLowerLevelMessage()
{
$handler = new TestHandler();
$this->assertFalse($handler->handle($this->getMessage(Logger::DEBUG)));
}
public function testHandleBubbling()
{
$handler = new TestHandler(Logger::DEBUG, true);
$this->assertFalse($handler->handle($this->getMessage()));
}
protected function getMessage($level = Logger::WARNING)
{
return array(
'level' => $level,
'level_name' => 'WARNING',
'channel' => 'log',
'message' => 'foo',
'datetime' => new \DateTime,
'extra' => array(),
);
}
}
class TestHandler extends AbstractHandler
{
public function write($message)
{
}
}

View File

@@ -0,0 +1,51 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Handler;
use Monolog\Logger;
class NullHandlerTest extends \PHPUnit_Framework_TestCase
{
public function testHandle()
{
$handler = new NullHandler();
$this->assertTrue($handler->handle($this->getMessage()));
}
public function testHandleLowerLevelMessage()
{
$handler = new NullHandler(Logger::WARNING);
$this->assertFalse($handler->handle($this->getMessage(Logger::DEBUG)));
}
public function testHandleBubbling()
{
$handler = new NullHandler(Logger::DEBUG, true);
$this->assertFalse($handler->handle($this->getMessage()));
}
/**
* No-op test for coverage
*/
public function testWrite()
{
$handler = new NullHandler();
$handler->write($this->getMessage());
}
protected function getMessage($level = Logger::WARNING)
{
return array(
'level' => $level,
);
}
}

View File

@@ -0,0 +1,61 @@
<?php
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Monolog\Handler;
use Monolog\Logger;
class StreamHandlerTest extends \PHPUnit_Framework_TestCase
{
public function testWrite()
{
$handle = fopen('php://memory', 'a+');
$handler = new StreamHandler($handle);
$handler->write(array('message' => 'test'));
$handler->write(array('message' => 'test2'));
$handler->write(array('message' => 'test3'));
fseek($handle, 0);
$this->assertEquals('testtest2test3', fread($handle, 100));
}
public function testClose()
{
$handle = fopen('php://memory', 'a+');
$handler = new StreamHandler($handle);
$this->assertTrue(is_resource($handle));
$handler->close();
$this->assertFalse(is_resource($handle));
}
public function testWriteCreatesTheStreamResource()
{
$handler = new StreamHandler('php://memory');
$handler->write(array('message' => 'test'));
}
/**
* @expectedException LogicException
*/
public function testWriteMissingResource()
{
$handler = new StreamHandler(null);
$handler->write(array('message' => 'test'));
}
/**
* @expectedException UnexpectedValueException
*/
public function testWriteInvalidResource()
{
$handler = new StreamHandler('bogus://url');
@$handler->write(array('message' => 'test'));
}
}