summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJordi Boggiano <j.boggiano@seld.be>2011-06-29 21:32:02 +0200
committerJordi Boggiano <j.boggiano@seld.be>2011-06-29 21:32:02 +0200
commit66c1cc05a8e00fb5d4dbf540dba12b5727564d33 (patch)
tree15498735aa3cf0fc9f77b1f0b8a4a5fefdbc6158
parent7a56a1c73fde59342f2e072aedb362975f6a9f8b (diff)
downloadmonolog-66c1cc05a8e00fb5d4dbf540dba12b5727564d33.zip
monolog-66c1cc05a8e00fb5d4dbf540dba12b5727564d33.tar.gz
monolog-66c1cc05a8e00fb5d4dbf540dba12b5727564d33.tar.bz2
More testing coverage
-rw-r--r--src/Monolog/Handler/AbstractHandler.php3
-rw-r--r--src/Monolog/Handler/AbstractProcessingHandler.php10
-rw-r--r--tests/Monolog/Handler/AbstractHandlerTest.php65
-rw-r--r--tests/Monolog/Handler/AbstractProcessingHandlerTest.php17
-rw-r--r--tests/Monolog/LoggerTest.php4
5 files changed, 87 insertions, 12 deletions
diff --git a/src/Monolog/Handler/AbstractHandler.php b/src/Monolog/Handler/AbstractHandler.php
index 3e1700d..315279c 100644
--- a/src/Monolog/Handler/AbstractHandler.php
+++ b/src/Monolog/Handler/AbstractHandler.php
@@ -81,6 +81,9 @@ abstract class AbstractHandler implements HandlerInterface
*/
public function popProcessor()
{
+ if (!$this->processors) {
+ throw new \LogicException('You tried to pop from an empty processor stack.');
+ }
return array_shift($this->processors);
}
diff --git a/src/Monolog/Handler/AbstractProcessingHandler.php b/src/Monolog/Handler/AbstractProcessingHandler.php
index 7f0d6dc..9babe03 100644
--- a/src/Monolog/Handler/AbstractProcessingHandler.php
+++ b/src/Monolog/Handler/AbstractProcessingHandler.php
@@ -44,16 +44,6 @@ abstract class AbstractProcessingHandler extends AbstractHandler
}
/**
- * {@inheritdoc}
- */
- public function handleBatch(array $records)
- {
- foreach ($records as $record) {
- $this->handle($record);
- }
- }
-
- /**
* Writes the record down to the log of the implementing handler
*
* @param array $record
diff --git a/tests/Monolog/Handler/AbstractHandlerTest.php b/tests/Monolog/Handler/AbstractHandlerTest.php
index d449f8d..4c4c700 100644
--- a/tests/Monolog/Handler/AbstractHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractHandlerTest.php
@@ -13,10 +13,45 @@ namespace Monolog\Handler;
use Monolog\TestCase;
use Monolog\Logger;
+use Monolog\Formatter\LineFormatter;
+use Monolog\Processor\WebProcessor;
class AbstractHandlerTest extends TestCase
{
/**
+ * @covers Monolog\Handler\AbstractHandler::__construct
+ * @covers Monolog\Handler\AbstractHandler::getLevel
+ * @covers Monolog\Handler\AbstractHandler::setLevel
+ * @covers Monolog\Handler\AbstractHandler::getBubble
+ * @covers Monolog\Handler\AbstractHandler::setBubble
+ * @covers Monolog\Handler\AbstractHandler::getFormatter
+ * @covers Monolog\Handler\AbstractHandler::setFormatter
+ */
+ public function testConstructAndGetSet()
+ {
+ $handler = new TestHandler(Logger::WARNING, false);
+ $this->assertEquals(Logger::WARNING, $handler->getLevel());
+ $this->assertEquals(false, $handler->getBubble());
+
+ $handler->setLevel(Logger::ERROR);
+ $handler->setBubble(true);
+ $handler->setFormatter($formatter = new LineFormatter);
+ $this->assertEquals(Logger::ERROR, $handler->getLevel());
+ $this->assertEquals(true, $handler->getBubble());
+ $this->assertEquals($formatter, $handler->getFormatter());
+ }
+
+ /**
+ * @covers Monolog\Handler\AbstractHandler::handleBatch
+ */
+ public function testHandleBatch()
+ {
+ $handler = new TestHandler();
+ $handler->handleBatch(array($this->getRecord(), $this->getRecord()));
+ $this->assertEquals(2, count($handler->getRecords()));
+ }
+
+ /**
* @covers Monolog\Handler\AbstractHandler::isHandling
*/
public function testIsHandling()
@@ -25,4 +60,34 @@ class AbstractHandlerTest extends TestCase
$this->assertTrue($handler->isHandling($this->getRecord()));
$this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
}
+
+ /**
+ * @covers Monolog\Handler\AbstractHandler::getFormatter
+ * @covers Monolog\Handler\AbstractHandler::getDefaultFormatter
+ */
+ public function testGetFormatterInitializesDefault()
+ {
+ $handler = new TestHandler();
+ $this->assertInstanceOf('Monolog\Formatter\LineFormatter', $handler->getFormatter());
+ }
+
+ /**
+ * @covers Monolog\Handler\AbstractHandler::pushProcessor
+ * @covers Monolog\Handler\AbstractHandler::popProcessor
+ * @expectedException LogicException
+ */
+ public function testPushPopProcessor()
+ {
+ $logger = new TestHandler();
+ $processor1 = new WebProcessor;
+ $processor2 = new WebProcessor;
+
+ $logger->pushProcessor($processor1);
+ $logger->pushProcessor($processor2);
+
+ $this->assertEquals($processor2, $logger->popProcessor());
+ $this->assertEquals($processor1, $logger->popProcessor());
+ $logger->popProcessor();
+ }
+
}
diff --git a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
index f2b4142..31a4538 100644
--- a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
@@ -13,6 +13,7 @@ namespace Monolog\Handler;
use Monolog\TestCase;
use Monolog\Logger;
+use Monolog\Processor\WebProcessor;
class AbstractProcessingHandlerTest extends TestCase
{
@@ -52,4 +53,20 @@ class AbstractProcessingHandlerTest extends TestCase
$this->assertTrue($handler->handle($this->getRecord()));
$this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
}
+
+ /**
+ * @covers Monolog\Handler\AbstractProcessingHandler::processRecord
+ */
+ public function testProcessRecord()
+ {
+ $handler = new TestHandler();
+ $handler->pushProcessor(new WebProcessor(array(
+ 'REQUEST_URI' => '',
+ 'REQUEST_METHOD' => '',
+ 'REMOTE_ADDR' => '',
+ )));
+ $handler->handle($this->getRecord());
+ list($record) = $handler->getRecords();
+ $this->assertEquals(3, count($record['extra']));
+ }
}
diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php
index 0964b1b..75b87d9 100644
--- a/tests/Monolog/LoggerTest.php
+++ b/tests/Monolog/LoggerTest.php
@@ -67,8 +67,8 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
public function testPushPopHandler()
{
$logger = new Logger(__METHOD__);
- $handler1 = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
- $handler2 = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
+ $handler1 = new TestHandler;
+ $handler2 = new TestHandler;
$logger->pushHandler($handler1);
$logger->pushHandler($handler2);