Procházet zdrojové kódy

Fix tests for TestHandler reset support

Jordi Boggiano před 7 roky
rodič
revize
a335f6f1a5

+ 9 - 1
src/Monolog/Handler/TestHandler.php

@@ -67,6 +67,7 @@ class TestHandler extends AbstractProcessingHandler
 {
     protected $records = array();
     protected $recordsByLevel = array();
+    private $skipReset = false;
 
     public function getRecords()
     {
@@ -81,7 +82,14 @@ class TestHandler extends AbstractProcessingHandler
 
     public function reset()
     {
-        $this->clear();
+        if (!$this->skipReset) {
+            $this->clear();
+        }
+    }
+
+    public function setSkipReset($skipReset)
+    {
+        $this->skipReset = $skipReset;
     }
 
     public function hasRecords($level)

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

@@ -61,6 +61,7 @@ class FingersCrossedHandlerTest extends TestCase
     public function testHandleResetBufferingAfterReset()
     {
         $test = new TestHandler();
+        $test->setSkipReset(true);
         $handler = new FingersCrossedHandler($test);
         $handler->handle($this->getRecord(Logger::WARNING));
         $handler->handle($this->getRecord(Logger::DEBUG));

+ 11 - 10
tests/Monolog/LoggerTest.php

@@ -620,6 +620,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
         $logger = new Logger('app');
 
         $testHandler = new Handler\TestHandler();
+        $testHandler->setSkipReset(true);
         $bufferHandler = new Handler\BufferHandler($testHandler);
         $groupHandler = new Handler\GroupHandler(array($bufferHandler));
         $fingersCrossedHandler = new Handler\FingersCrossedHandler($groupHandler);
@@ -649,7 +650,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
             $that->assertEmpty($getProperty($fingersCrossedHandler, 'buffer'));
         };
 
-        $logger->debug('debug');
+        $logger->debug('debug1');
         $logger->reset();
         $assertBuffersEmpty();
         $this->assertFalse($testHandler->hasDebugRecords());
@@ -657,16 +658,16 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->debug('debug');
-        $logger->error('error');
+        $logger->debug('debug2');
+        $logger->error('error2');
         $logger->reset();
         $assertBuffersEmpty();
-        $this->assertTrue($testHandler->hasDebugRecords());
-        $this->assertTrue($testHandler->hasErrorRecords());
+        $this->assertTrue($testHandler->hasRecordThatContains('debug2', Logger::DEBUG));
+        $this->assertTrue($testHandler->hasRecordThatContains('error2', Logger::ERROR));
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->info('info');
+        $logger->info('info3');
         $this->assertNotEmpty($getProperty($fingersCrossedHandler, 'buffer'));
         $assertBufferOfBufferHandlerEmpty();
         $this->assertFalse($testHandler->hasInfoRecords());
@@ -677,13 +678,13 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
         $this->assertNotSame($uid1, $uid1 = $processorUid1->getUid());
         $this->assertNotSame($uid2, $uid2 = $processorUid2->getUid());
 
-        $logger->notice('notice');
-        $logger->emergency('emergency');
+        $logger->notice('notice4');
+        $logger->emergency('emergency4');
         $logger->reset();
         $assertBuffersEmpty();
         $this->assertFalse($testHandler->hasInfoRecords());
-        $this->assertTrue($testHandler->hasNoticeRecords());
-        $this->assertTrue($testHandler->hasEmergencyRecords());
+        $this->assertTrue($testHandler->hasRecordThatContains('notice4', Logger::NOTICE));
+        $this->assertTrue($testHandler->hasRecordThatContains('emergency4', Logger::EMERGENCY));
         $this->assertNotSame($uid1, $processorUid1->getUid());
         $this->assertNotSame($uid2, $processorUid2->getUid());
     }