Kaynağa Gözat

Added batch mode tests to JsonFormatter

Adam Pancutt 12 yıl önce
ebeveyn
işleme
70290e7087
1 değiştirilmiş dosya ile 31 ekleme ve 0 silme
  1. 31 0
      tests/Monolog/Formatter/JsonFormatterTest.php

+ 31 - 0
tests/Monolog/Formatter/JsonFormatterTest.php

@@ -16,6 +16,18 @@ use Monolog\TestCase;
 
 class JsonFormatterTest extends TestCase
 {
+    /**
+     * @covers Monolog\Formatter\JsonFormatter::__construct
+     * @covers Monolog\Formatter\JsonFormatter::getBatchMode
+     */
+    public function testConstruct()
+    {
+        $formatter = new JsonFormatter();
+        $this->assertEquals(JsonFormatter::BATCH_MODE_JSON, $formatter->getBatchMode());
+        $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES);
+        $this->assertEquals(JsonFormatter::BATCH_MODE_NEWLINES, $formatter->getBatchMode());
+    }
+
     /**
      * @covers Monolog\Formatter\JsonFormatter::format
      */
@@ -28,6 +40,7 @@ class JsonFormatterTest extends TestCase
 
     /**
      * @covers Monolog\Formatter\JsonFormatter::formatBatch
+     * @covers Monolog\Formatter\JsonFormatter::formatBatchJson
      */
     public function testFormatBatch()
     {
@@ -38,4 +51,22 @@ class JsonFormatterTest extends TestCase
         );
         $this->assertEquals(json_encode($records), $formatter->formatBatch($records));
     }
+
+    /**
+     * @covers Monolog\Formatter\JsonFormatter::formatBatch
+     * @covers Monolog\Formatter\JsonFormatter::formatBatchNewlines
+     */
+    public function testFormatBatchNewlines()
+    {
+
+        $formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES);
+        $records = $expected = array(
+            $this->getRecord(Logger::WARNING),
+            $this->getRecord(Logger::DEBUG),
+        );
+        array_walk($expected, function(&$value, $key) {
+            $value = json_encode($value);
+        });
+        $this->assertEquals(implode("\n", $expected), $formatter->formatBatch($records));
+    }
 }