Dino Korah 5 лет назад
Родитель
Сommit
a05c1a9732
1 измененных файлов с 34 добавлено и 1 удалено
  1. 34 1
      tests/Monolog/Processor/PsrLogMessageProcessorTest.php

+ 34 - 1
tests/Monolog/Processor/PsrLogMessageProcessorTest.php

@@ -27,8 +27,37 @@ class PsrLogMessageProcessorTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($expected, $message['message']);
     }
 
+    public function testReplacementWithContextRemoval()
+    {
+        $proc = new PsrLogMessageProcessor($dateFormat = null, $removeUsedContextFields = true);
+
+        $message = $proc(array(
+            'message' => '{foo}',
+            'context' => array('foo' => 'bar', 'lorem' => 'ipsum'),
+        ));
+        $this->assertSame('bar', $message['message']);
+        $this->assertSame(array('lorem' => 'ipsum'), $message['context']);
+    }
+
+    public function testCustomDateFormat()
+    {
+        $format = "Y-m-d";
+        $date = new \DateTime();
+
+        $proc = new PsrLogMessageProcessor($format);
+
+        $message = $proc(array(
+            'message' => '{foo}',
+            'context' => array('foo' => $date),
+        ));
+        $this->assertEquals($date->format($format), $message['message']);
+        $this->assertSame(array('foo' => $date), $message['context']);
+    }
+
     public function getPairs()
     {
+        $date = new \DateTime();
+
         return array(
             array('foo',    'foo'),
             array('3',      '3'),
@@ -36,8 +65,12 @@ class PsrLogMessageProcessorTest extends \PHPUnit_Framework_TestCase
             array(null,     ''),
             array(true,     '1'),
             array(false,    ''),
+            array($date, $date->format(PsrLogMessageProcessor::SIMPLE_DATE)),
             array(new \stdClass, '[object stdClass]'),
-            array(array(), '[array]'),
+            array(array(), 'array[]'),
+            array(array(1, 2, 3), 'array[1,2,3]'),
+            array(array('foo' => 'bar'), 'array{"foo":"bar"}'),
+            array(stream_context_create(), '[resource]'),
         );
     }
 }