ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
FingersCrossedHandlerTest.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the Monolog package.
5  *
6  * (c) Jordi Boggiano <j.boggiano@seld.be>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11 
12 namespace Monolog\Handler;
13 
15 use Monolog\Logger;
19 
21 {
27  public function testHandleBuffers()
28  {
29  $test = new TestHandler();
31  $handler->handle($this->getRecord(Logger::DEBUG));
32  $handler->handle($this->getRecord(Logger::INFO));
33  $this->assertFalse($test->hasDebugRecords());
34  $this->assertFalse($test->hasInfoRecords());
35  $handler->handle($this->getRecord(Logger::WARNING));
36  $handler->close();
37  $this->assertTrue($test->hasInfoRecords());
38  $this->assertTrue(count($test->getRecords()) === 3);
39  }
40 
46  {
47  $test = new TestHandler();
49  $handler->handle($this->getRecord(Logger::WARNING));
50  $handler->handle($this->getRecord(Logger::DEBUG));
51  $handler->close();
52  $this->assertTrue($test->hasWarningRecords());
53  $this->assertTrue($test->hasDebugRecords());
54  }
55 
62  {
63  $test = new TestHandler();
65  $handler->handle($this->getRecord(Logger::WARNING));
66  $handler->handle($this->getRecord(Logger::DEBUG));
67  $handler->reset();
68  $handler->handle($this->getRecord(Logger::INFO));
69  $handler->close();
70  $this->assertTrue($test->hasWarningRecords());
71  $this->assertTrue($test->hasDebugRecords());
72  $this->assertFalse($test->hasInfoRecords());
73  }
74 
80  {
81  $test = new TestHandler();
82  $handler = new FingersCrossedHandler($test, Logger::WARNING, 0, false, false);
83  $handler->handle($this->getRecord(Logger::DEBUG));
84  $handler->handle($this->getRecord(Logger::WARNING));
85  $handler->handle($this->getRecord(Logger::INFO));
86  $handler->close();
87  $this->assertTrue($test->hasWarningRecords());
88  $this->assertTrue($test->hasDebugRecords());
89  $this->assertFalse($test->hasInfoRecords());
90  }
91 
96  public function testHandleBufferLimit()
97  {
98  $test = new TestHandler();
100  $handler->handle($this->getRecord(Logger::DEBUG));
101  $handler->handle($this->getRecord(Logger::DEBUG));
102  $handler->handle($this->getRecord(Logger::INFO));
103  $handler->handle($this->getRecord(Logger::WARNING));
104  $this->assertTrue($test->hasWarningRecords());
105  $this->assertTrue($test->hasInfoRecords());
106  $this->assertFalse($test->hasDebugRecords());
107  }
108 
113  public function testHandleWithCallback()
114  {
115  $test = new TestHandler();
116  $handler = new FingersCrossedHandler(function ($record, $handler) use ($test) {
117  return $test;
118  });
119  $handler->handle($this->getRecord(Logger::DEBUG));
120  $handler->handle($this->getRecord(Logger::INFO));
121  $this->assertFalse($test->hasDebugRecords());
122  $this->assertFalse($test->hasInfoRecords());
123  $handler->handle($this->getRecord(Logger::WARNING));
124  $this->assertTrue($test->hasInfoRecords());
125  $this->assertTrue(count($test->getRecords()) === 3);
126  }
127 
134  {
135  $handler = new FingersCrossedHandler(function ($record, $handler) {
136  return 'foo';
137  });
138  $handler->handle($this->getRecord(Logger::WARNING));
139  }
140 
144  public function testIsHandlingAlways()
145  {
146  $test = new TestHandler();
148  $this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG)));
149  }
150 
157  {
158  $test = new TestHandler();
160  $handler->handle($this->getRecord(Logger::DEBUG));
161  $this->assertFalse($test->hasDebugRecords());
162  $handler->handle($this->getRecord(Logger::WARNING));
163  $this->assertTrue($test->hasDebugRecords());
164  $this->assertTrue($test->hasWarningRecords());
165  }
166 
173  {
174  $test = new TestHandler();
176  $handler->handle($this->getRecord(Logger::DEBUG));
177  $this->assertFalse($test->hasDebugRecords());
178  $handler->handle($this->getRecord(Logger::WARNING));
179  $this->assertTrue($test->hasDebugRecords());
180  $this->assertTrue($test->hasWarningRecords());
181  }
182 
188  {
189  $test = new TestHandler();
191  $handler->handle($this->getRecord(Logger::DEBUG));
192  $this->assertFalse($test->hasDebugRecords());
193  $handler->activate();
194  $this->assertTrue($test->hasDebugRecords());
195  $handler->handle($this->getRecord(Logger::INFO));
196  $this->assertTrue($test->hasInfoRecords());
197  }
198 
204  {
205  $test = new TestHandler();
207  $handler->handle($this->getRecord(Logger::WARNING));
208  $this->assertFalse($test->hasWarningRecords());
209  $record = $this->getRecord(Logger::DEBUG);
210  $record['channel'] = 'othertest';
211  $handler->handle($record);
212  $this->assertTrue($test->hasDebugRecords());
213  $this->assertTrue($test->hasWarningRecords());
214  }
215 
221  {
222  $test = new TestHandler();
223  $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy('error', array('othertest' => 'debug')));
224  $handler->handle($this->getRecord(Logger::WARNING));
225  $this->assertFalse($test->hasWarningRecords());
226  $record = $this->getRecord(Logger::DEBUG);
227  $record['channel'] = 'othertest';
228  $handler->handle($record);
229  $this->assertTrue($test->hasDebugRecords());
230  $this->assertTrue($test->hasWarningRecords());
231  }
232 
237  public function testHandleUsesProcessors()
238  {
239  $test = new TestHandler();
241  $handler->pushProcessor(function ($record) {
242  $record['extra']['foo'] = true;
243 
244  return $record;
245  });
246  $handler->handle($this->getRecord(Logger::WARNING));
247  $this->assertTrue($test->hasWarningRecords());
248  $records = $test->getRecords();
249  $this->assertTrue($records[0]['extra']['foo']);
250  }
251 
255  public function testPassthruOnClose()
256  {
257  $test = new TestHandler();
259  $handler->handle($this->getRecord(Logger::DEBUG));
260  $handler->handle($this->getRecord(Logger::INFO));
261  $handler->close();
262  $this->assertFalse($test->hasDebugRecords());
263  $this->assertTrue($test->hasInfoRecords());
264  }
265 
269  public function testPsrLevelPassthruOnClose()
270  {
271  $test = new TestHandler();
273  $handler->handle($this->getRecord(Logger::DEBUG));
274  $handler->handle($this->getRecord(Logger::INFO));
275  $handler->close();
276  $this->assertFalse($test->hasDebugRecords());
277  $this->assertTrue($test->hasInfoRecords());
278  }
279 }
testHandleUsesProcessors()
Monolog::handle Monolog::activate
testHandleRestartBufferingAfterReset()
Monolog::handle Monolog::activate Monolog::reset
const DEBUG
Detailed debug information.
Definition: Logger.php:32
const ERROR
Runtime errors.
Definition: Logger.php:57
Buffers all records until a certain level is reached.
testOverrideActivationStrategy()
Monolog::__construct Monolog::activate
testHandleWithBadCallbackThrowsException()
Monolog::handle Monolog::activate RuntimeException
$records
Definition: simple_test.php:22
getRecord($level=Logger::WARNING, $message='test', $context=array())
Definition: TestCase.php:19
testHandleBufferLimit()
Monolog::handle Monolog::activate
testErrorLevelActivationStrategy()
Monolog::__construct Monolog::__construct Monolog::isHandlerActivated
Channel and Error level based monolog activation strategy.
testHandleBuffers()
Monolog::__construct Monolog::handle Monolog::activate
const WARNING
Exceptional occurrences that are not errors.
Definition: Logger.php:52
testHandleWithCallback()
Monolog::handle Monolog::activate
testChannelLevelActivationStrategyWithPsrLevels()
Monolog::__construct Monolog::isHandlerActivated
Create styles array
The data for the language used.
testHandleRestartBufferingAfterBeingTriggeredWhenStopBufferingIsDisabled()
Monolog::handle Monolog::activate
testErrorLevelActivationStrategyWithPsrLevel()
Monolog::__construct Monolog::__construct Monolog::isHandlerActivated
testChannelLevelActivationStrategy()
Monolog::__construct Monolog::isHandlerActivated
Used for testing purposes.
Definition: TestHandler.php:66
testHandleStopsBufferingAfterTrigger()
Monolog::handle Monolog::activate
$handler
$test
Definition: Utf8Test.php:84
const INFO
Interesting events.
Definition: Logger.php:39