Переглянути джерело

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());
         $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::__construct
      * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated
      * @covers Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy::isHandlerActivated