From b4b2d91c670a6daa4e2a79cb80ed0e7b8837844e Mon Sep 17 00:00:00 2001 From: ChristianB Date: Wed, 30 Jan 2013 21:42:59 +0100 Subject: [PATCH] Refactored writeZendMonitorCustomEvent signature to provide better testability --- src/Monolog/Handler/ZendMonitorHandler.php | 10 ++++++---- tests/Monolog/Handler/ZendMonitorHandlerTest.php | 13 +++++++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/Monolog/Handler/ZendMonitorHandler.php b/src/Monolog/Handler/ZendMonitorHandler.php index d8892c93..71962f19 100644 --- a/src/Monolog/Handler/ZendMonitorHandler.php +++ b/src/Monolog/Handler/ZendMonitorHandler.php @@ -62,18 +62,20 @@ class ZendMonitorHandler extends AbstractProcessingHandler { if ($this->isZendServer()) { $formatter = new NormalizerFormatter(); - $this->writeZendMonitorCustomEvent($formatter->format($record)); + $record = $formatter->format($record); + $this->writeZendMonitorCustomEvent($record['level'], $record['message']); } } /** * Write a record to Zend Monitor * - * @param array $record + * @param int $level + * @param string $message */ - protected function writeZendMonitorCustomEvent(array $record) + protected function writeZendMonitorCustomEvent($level, $message) { - zend_monitor_custom_event($this->levelMap[$record['level']], $record['message'], $record['formatted']); + zend_monitor_custom_event($level, $message); } /** diff --git a/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/tests/Monolog/Handler/ZendMonitorHandlerTest.php index 2b249237..2e827825 100644 --- a/tests/Monolog/Handler/ZendMonitorHandlerTest.php +++ b/tests/Monolog/Handler/ZendMonitorHandlerTest.php @@ -39,12 +39,17 @@ class ZendMonitorHandlerTest extends TestCase */ public function testWrite() { + $record = $this->getRecord(); + $zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler') - ->setMethods(array('writeZendMonitorCustomEvent')) - ->getMock(); + ->setMethods(array('writeZendMonitorCustomEvent')) + ->getMock(); + $zendMonitor->expects($this->once()) - ->method('writeZendMonitorCustomEvent'); - $zendMonitor->handle($this->getRecord()); + ->method('writeZendMonitorCustomEvent') + ->with($record['level'], $record['message']); + + $zendMonitor->handle($record); } }