Browse Source

Refactored writeZendMonitorCustomEvent signature to provide better testability

ChristianB 13 years ago
parent
commit
b4b2d91c67

+ 6 - 4
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);
     }
 
     /**

+ 9 - 4
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);
     }
 
 }