Explorar o código

Added some tests

Christophe Coevoet %!s(int64=14) %!d(string=hai) anos
pai
achega
10e5ecd409

+ 2 - 1
src/Monolog/Logger.php

@@ -95,7 +95,8 @@ class Logger
     /**
     /**
      * @return string
      * @return string
      */
      */
-    public function getName() {
+    public function getName()
+    {
         return $this->name;
         return $this->name;
     }
     }
 
 

+ 14 - 0
tests/Monolog/Formatter/LineFormatterTest.php

@@ -63,6 +63,20 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] {"ip":"127.0.0.1"}'."\n", $message);
         $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] {"ip":"127.0.0.1"}'."\n", $message);
     }
     }
 
 
+    public function testFormatExtras()
+    {
+        $formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra.file% %extra%\n", 'Y-m-d');
+        $message = $formatter->format(array(
+            'level_name' => 'ERROR',
+            'channel' => 'meh',
+            'context' => array(),
+            'datetime' => new \DateTime,
+            'extra' => array('ip' => '127.0.0.1', 'file' => 'test'),
+            'message' => 'log',
+        ));
+        $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] test {"ip":"127.0.0.1"}'."\n", $message);
+    }
+
     public function testDefFormatWithObject()
     public function testDefFormatWithObject()
     {
     {
         $formatter = new LineFormatter(null, 'Y-m-d');
         $formatter = new LineFormatter(null, 'Y-m-d');

+ 70 - 1
tests/Monolog/Formatter/WildfireFormatterTest.php

@@ -18,7 +18,7 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
     /**
     /**
      * @covers Monolog\Formatter\WildfireFormatter::format
      * @covers Monolog\Formatter\WildfireFormatter::format
      */
      */
-    public function testDefaultFormatIsLineFormatterWithoutNewLine()
+    public function testDefaultFormat()
     {
     {
         $wildfire = new WildfireFormatter();
         $wildfire = new WildfireFormatter();
         $record = array(
         $record = array(
@@ -39,4 +39,73 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
             $message
             $message
         );
         );
     }
     }
+
+    /**
+     * @covers Monolog\Formatter\WildfireFormatter::format
+     */
+    public function testFormatWithFileAndLine()
+    {
+        $wildfire = new WildfireFormatter();
+        $record = array(
+            'level' => Logger::ERROR,
+            'level_name' => 'ERROR',
+            'channel' => 'meh',
+            'context' => array('from' => 'logger'),
+            'datetime' => new \DateTime("@0"),
+            'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
+            'message' => 'log',
+        );
+
+        $message = $wildfire->format($record);
+
+        $this->assertEquals(
+            '129|[{"Type":"ERROR","File":"test","Line":14,"Label":"meh"},'
+                .'{"message":"log","context":{"from":"logger"},"extra":{"ip":"127.0.0.1"}}]|',
+            $message
+        );
+    }
+
+    /**
+     * @covers Monolog\Formatter\WildfireFormatter::format
+     */
+    public function testFormatWithoutContext()
+    {
+        $wildfire = new WildfireFormatter();
+        $record = array(
+            'level' => Logger::ERROR,
+            'level_name' => 'ERROR',
+            'channel' => 'meh',
+            'context' => array(),
+            'datetime' => new \DateTime("@0"),
+            'extra' => array(),
+            'message' => 'log',
+        );
+
+        $message = $wildfire->format($record);
+
+        $this->assertEquals(
+            '58|[{"Type":"ERROR","File":"","Line":"","Label":"meh"},"log"]|',
+            $message
+        );
+    }
+
+    /**
+     * @covers Monolog\Formatter\WildfireFormatter::formatBatch
+     * @expectedException BadMethodCallException
+     */
+    public function testBatchFormatThrowException()
+    {
+        $wildfire = new WildfireFormatter();
+        $record = array(
+            'level' => Logger::ERROR,
+            'level_name' => 'ERROR',
+            'channel' => 'meh',
+            'context' => array(),
+            'datetime' => new \DateTime("@0"),
+            'extra' => array(),
+            'message' => 'log',
+        );
+
+        $wildfire->formatBatch(array($record));
+    }
 }
 }

+ 12 - 2
tests/Monolog/LoggerTest.php

@@ -16,9 +16,8 @@ use Monolog\Handler\TestHandler;
 
 
 class LoggerTest extends \PHPUnit_Framework_TestCase
 class LoggerTest extends \PHPUnit_Framework_TestCase
 {
 {
-
     /**
     /**
-     * @covers Monolog\Logger::getName()
+     * @covers Monolog\Logger::getName
      */
      */
     public function testGetName()
     public function testGetName()
     {
     {
@@ -107,6 +106,17 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
         $logger->popProcessor();
         $logger->popProcessor();
     }
     }
 
 
+    /**
+     * @covers Monolog\Logger::pushProcessor
+     * @expectedException InvalidArgumentException
+     */
+    public function testPushProcessorWithNonCallable()
+    {
+        $logger = new Logger(__METHOD__);
+
+        $logger->pushProcessor(new \stdClass());
+    }
+
     /**
     /**
      * @covers Monolog\Logger::addRecord
      * @covers Monolog\Logger::addRecord
      */
      */

+ 11 - 0
tests/Monolog/Processor/WebProcessorTest.php

@@ -29,6 +29,17 @@ class WebProcessorTest extends TestCase
         $this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
         $this->assertEquals($server['REQUEST_METHOD'], $record['extra']['http_method']);
     }
     }
 
 
+    public function testProcessorDoNothingIfNoRequestUri()
+    {
+        $server = array(
+            'REMOTE_ADDR'    => 'B',
+            'REQUEST_METHOD' => 'C',
+        );
+        $processor = new WebProcessor($server);
+        $record = $processor($this->getRecord());
+        $this->assertEmpty($record['extra']);
+    }
+
     /**
     /**
      * @expectedException UnexpectedValueException
      * @expectedException UnexpectedValueException
      */
      */