ソースを参照

Add a test that verifies manual overriding of activation strategy works

Nils Adermann 9 年 前
コミット
e0b521ba53
1 ファイル変更16 行追加0 行削除
  1. 16 0
      tests/Monolog/Handler/FingersCrossedHandlerTest.php

+ 16 - 0
tests/Monolog/Handler/FingersCrossedHandlerTest.php

@@ -173,6 +173,22 @@ class FingersCrossedHandlerTest extends TestCase
         $this->assertTrue($test->hasWarningRecords());
     }
 
+    /**
+     * @covers Monolog\Handler\FingersCrossedHandler::__construct
+     * @covers Monolog\Handler\FingersCrossedHandler::activate
+     */
+    public function testOverrideActivationStrategy()
+    {
+        $test = new TestHandler();
+        $handler = new FingersCrossedHandler($test, new ErrorLevelActivationStrategy('warning'));
+        $handler->handle($this->getRecord(Logger::DEBUG));
+        $this->assertFalse($test->hasDebugRecords());
+        $handler->activate();
+        $handler->handle($this->getRecord(Logger::INFO));
+        $this->assertTrue($test->hasDebugRecords());
+        $this->assertTrue($test->hasInfoRecords());
+    }
+
     /**
      * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::__construct
      * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated