ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
Monolog\LoggerTest Class Reference
+ Inheritance diagram for Monolog\LoggerTest:
+ Collaboration diagram for Monolog\LoggerTest:

Public Member Functions

 testGetName ()
 @covers Monolog\Logger::getName More...
 
 testGetLevelName ()
 @covers Monolog\Logger::getLevelName More...
 
 testWithName ()
 @covers Monolog\Logger::withName More...
 
 testConvertPSR3ToMonologLevel ()
 @covers Monolog\Logger::toMonologLevel More...
 
 testGetLevelNameThrows ()
 @covers Monolog\Logger::getLevelName @expectedException InvalidArgumentException More...
 
 testChannel ()
 @covers Monolog\Logger::__construct More...
 
 testLog ()
 @covers Monolog\Logger::addRecord More...
 
 testLogNotHandled ()
 @covers Monolog\Logger::addRecord More...
 
 testHandlersInCtor ()
 
 testProcessorsInCtor ()
 
 testPushPopHandler ()
 @covers Monolog\Logger::pushHandler @covers Monolog\Logger::popHandler @expectedException LogicException More...
 
 testSetHandlers ()
 @covers Monolog\Logger::setHandlers More...
 
 testPushPopProcessor ()
 @covers Monolog\Logger::pushProcessor @covers Monolog\Logger::popProcessor @expectedException LogicException More...
 
 testPushProcessorWithNonCallable ()
 @covers Monolog\Logger::pushProcessor @expectedException InvalidArgumentException More...
 
 testProcessorsAreExecuted ()
 @covers Monolog\Logger::addRecord More...
 
 testProcessorsAreCalledOnlyOnce ()
 @covers Monolog\Logger::addRecord More...
 
 testProcessorsNotCalledWhenNotHandled ()
 @covers Monolog\Logger::addRecord More...
 
 testHandlersNotCalledBeforeFirstHandling ()
 @covers Monolog\Logger::addRecord More...
 
 testHandlersNotCalledBeforeFirstHandlingWithAssocArray ()
 @covers Monolog\Logger::addRecord More...
 
 testBubblingWhenTheHandlerReturnsFalse ()
 @covers Monolog\Logger::addRecord More...
 
 testNotBubblingWhenTheHandlerReturnsTrue ()
 @covers Monolog\Logger::addRecord More...
 
 testIsHandling ()
 @covers Monolog\Logger::isHandling More...
 
 testLogMethods ($method, $expectedLevel)
 @dataProvider logMethodProvider @covers Monolog\Logger::addDebug @covers Monolog\Logger::addInfo @covers Monolog\Logger::addNotice @covers Monolog\Logger::addWarning @covers Monolog\Logger::addError @covers Monolog\Logger::addCritical @covers Monolog\Logger::addAlert @covers Monolog\Logger::addEmergency @covers Monolog\Logger::debug @covers Monolog\Logger::info @covers Monolog\Logger::notice @covers Monolog\Logger::warn @covers Monolog\Logger::err @covers Monolog\Logger::crit @covers Monolog\Logger::alert @covers Monolog\Logger::emerg More...
 
 logMethodProvider ()
 
 testSetTimezone ($tz)
 @dataProvider setTimezoneProvider @covers Monolog\Logger::setTimezone More...
 
 setTimezoneProvider ()
 
 testUseMicrosecondTimestamps ($micro, $assert)
 @dataProvider useMicrosecondTimestampsProvider @covers Monolog\Logger::useMicrosecondTimestamps @covers Monolog\Logger::addRecord More...
 
 useMicrosecondTimestampsProvider ()
 

Detailed Description

Definition at line 17 of file LoggerTest.php.

Member Function Documentation

◆ logMethodProvider()

Monolog\LoggerTest::logMethodProvider ( )

Definition at line 476 of file LoggerTest.php.

477 {
478 return array(
479 // monolog methods
480 array('addDebug', Logger::DEBUG),
481 array('addInfo', Logger::INFO),
482 array('addNotice', Logger::NOTICE),
483 array('addWarning', Logger::WARNING),
484 array('addError', Logger::ERROR),
485 array('addCritical', Logger::CRITICAL),
486 array('addAlert', Logger::ALERT),
487 array('addEmergency', Logger::EMERGENCY),
488
489 // ZF/Sf2 compat methods
490 array('debug', Logger::DEBUG),
491 array('info', Logger::INFO),
492 array('notice', Logger::NOTICE),
493 array('warn', Logger::WARNING),
494 array('err', Logger::ERROR),
495 array('crit', Logger::CRITICAL),
496 array('alert', Logger::ALERT),
497 array('emerg', Logger::EMERGENCY),
498 );
499 }
const EMERGENCY
Urgent alert.
Definition: Logger.php:77
const ERROR
Runtime errors.
Definition: Logger.php:57
const CRITICAL
Critical conditions.
Definition: Logger.php:64
const WARNING
Exceptional occurrences that are not errors.
Definition: Logger.php:52
const INFO
Interesting events.
Definition: Logger.php:39
const DEBUG
Detailed debug information.
Definition: Logger.php:32
const NOTICE
Uncommon events.
Definition: Logger.php:44
const ALERT
Action must be taken immediately.
Definition: Logger.php:72

References DEBUG.

◆ setTimezoneProvider()

Monolog\LoggerTest::setTimezoneProvider ( )

Definition at line 516 of file LoggerTest.php.

517 {
518 return array_map(
519 function ($tz) { return array(new \DateTimeZone($tz)); },
520 \DateTimeZone::listIdentifiers()
521 );
522 }

References $tz.

◆ testBubblingWhenTheHandlerReturnsFalse()

Monolog\LoggerTest::testBubblingWhenTheHandlerReturnsFalse ( )

@covers Monolog\Logger::addRecord

Definition at line 361 of file LoggerTest.php.

362 {
363 $logger = new Logger(__METHOD__);
364
365 $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
366 $handler1->expects($this->any())
367 ->method('isHandling')
368 ->will($this->returnValue(true))
369 ;
370 $handler1->expects($this->once())
371 ->method('handle')
372 ->will($this->returnValue(false))
373 ;
374 $logger->pushHandler($handler1);
375
376 $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
377 $handler2->expects($this->any())
378 ->method('isHandling')
379 ->will($this->returnValue(true))
380 ;
381 $handler2->expects($this->once())
382 ->method('handle')
383 ->will($this->returnValue(false))
384 ;
385 $logger->pushHandler($handler2);
386
387 $logger->debug('test');
388 }

◆ testChannel()

Monolog\LoggerTest::testChannel ( )

@covers Monolog\Logger::__construct

Definition at line 76 of file LoggerTest.php.

77 {
78 $logger = new Logger('foo');
79 $handler = new TestHandler;
80 $logger->pushHandler($handler);
81 $logger->addWarning('test');
82 list($record) = $handler->getRecords();
83 $this->assertEquals('foo', $record['channel']);
84 }
$handler

References $handler.

◆ testConvertPSR3ToMonologLevel()

Monolog\LoggerTest::testConvertPSR3ToMonologLevel ( )

@covers Monolog\Logger::toMonologLevel

Definition at line 52 of file LoggerTest.php.

53 {
54 $this->assertEquals(Logger::toMonologLevel('debug'), 100);
55 $this->assertEquals(Logger::toMonologLevel('info'), 200);
56 $this->assertEquals(Logger::toMonologLevel('notice'), 250);
57 $this->assertEquals(Logger::toMonologLevel('warning'), 300);
58 $this->assertEquals(Logger::toMonologLevel('error'), 400);
59 $this->assertEquals(Logger::toMonologLevel('critical'), 500);
60 $this->assertEquals(Logger::toMonologLevel('alert'), 550);
61 $this->assertEquals(Logger::toMonologLevel('emergency'), 600);
62 }
static toMonologLevel($level)
Converts PSR-3 levels to Monolog ones if necessary.
Definition: Logger.php:473

◆ testGetLevelName()

Monolog\LoggerTest::testGetLevelName ( )

@covers Monolog\Logger::getLevelName

Definition at line 31 of file LoggerTest.php.

32 {
33 $this->assertEquals('ERROR', Logger::getLevelName(Logger::ERROR));
34 }
static getLevelName($level)
Gets the name of the logging level.
Definition: Logger.php:458

◆ testGetLevelNameThrows()

Monolog\LoggerTest::testGetLevelNameThrows ( )

@covers Monolog\Logger::getLevelName @expectedException InvalidArgumentException

Definition at line 68 of file LoggerTest.php.

69 {
71 }

◆ testGetName()

Monolog\LoggerTest::testGetName ( )

@covers Monolog\Logger::getName

Definition at line 22 of file LoggerTest.php.

23 {
24 $logger = new Logger('foo');
25 $this->assertEquals('foo', $logger->getName());
26 }

◆ testHandlersInCtor()

Monolog\LoggerTest::testHandlersInCtor ( )

Definition at line 116 of file LoggerTest.php.

117 {
118 $handler1 = new TestHandler;
119 $handler2 = new TestHandler;
120 $logger = new Logger(__METHOD__, array($handler1, $handler2));
121
122 $this->assertEquals($handler1, $logger->popHandler());
123 $this->assertEquals($handler2, $logger->popHandler());
124 }

◆ testHandlersNotCalledBeforeFirstHandling()

Monolog\LoggerTest::testHandlersNotCalledBeforeFirstHandling ( )

@covers Monolog\Logger::addRecord

Definition at line 280 of file LoggerTest.php.

281 {
282 $logger = new Logger(__METHOD__);
283
284 $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
285 $handler1->expects($this->never())
286 ->method('isHandling')
287 ->will($this->returnValue(false))
288 ;
289 $handler1->expects($this->once())
290 ->method('handle')
291 ->will($this->returnValue(false))
292 ;
293 $logger->pushHandler($handler1);
294
295 $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
296 $handler2->expects($this->once())
297 ->method('isHandling')
298 ->will($this->returnValue(true))
299 ;
300 $handler2->expects($this->once())
301 ->method('handle')
302 ->will($this->returnValue(false))
303 ;
304 $logger->pushHandler($handler2);
305
306 $handler3 = $this->getMock('Monolog\Handler\HandlerInterface');
307 $handler3->expects($this->once())
308 ->method('isHandling')
309 ->will($this->returnValue(false))
310 ;
311 $handler3->expects($this->never())
312 ->method('handle')
313 ;
314 $logger->pushHandler($handler3);
315
316 $logger->debug('test');
317 }

◆ testHandlersNotCalledBeforeFirstHandlingWithAssocArray()

Monolog\LoggerTest::testHandlersNotCalledBeforeFirstHandlingWithAssocArray ( )

@covers Monolog\Logger::addRecord

Definition at line 322 of file LoggerTest.php.

323 {
324 $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
325 $handler1->expects($this->never())
326 ->method('isHandling')
327 ->will($this->returnValue(false))
328 ;
329 $handler1->expects($this->once())
330 ->method('handle')
331 ->will($this->returnValue(false))
332 ;
333
334 $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
335 $handler2->expects($this->once())
336 ->method('isHandling')
337 ->will($this->returnValue(true))
338 ;
339 $handler2->expects($this->once())
340 ->method('handle')
341 ->will($this->returnValue(false))
342 ;
343
344 $handler3 = $this->getMock('Monolog\Handler\HandlerInterface');
345 $handler3->expects($this->once())
346 ->method('isHandling')
347 ->will($this->returnValue(false))
348 ;
349 $handler3->expects($this->never())
350 ->method('handle')
351 ;
352
353 $logger = new Logger(__METHOD__, array('last' => $handler3, 'second' => $handler2, 'first' => $handler1));
354
355 $logger->debug('test');
356 }

◆ testIsHandling()

Monolog\LoggerTest::testIsHandling ( )

@covers Monolog\Logger::isHandling

Definition at line 424 of file LoggerTest.php.

425 {
426 $logger = new Logger(__METHOD__);
427
428 $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
429 $handler1->expects($this->any())
430 ->method('isHandling')
431 ->will($this->returnValue(false))
432 ;
433
434 $logger->pushHandler($handler1);
435 $this->assertFalse($logger->isHandling(Logger::DEBUG));
436
437 $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
438 $handler2->expects($this->any())
439 ->method('isHandling')
440 ->will($this->returnValue(true))
441 ;
442
443 $logger->pushHandler($handler2);
444 $this->assertTrue($logger->isHandling(Logger::DEBUG));
445 }

References DEBUG.

◆ testLog()

Monolog\LoggerTest::testLog ( )

@covers Monolog\Logger::addRecord

Definition at line 89 of file LoggerTest.php.

90 {
91 $logger = new Logger(__METHOD__);
92
93 $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
94 $handler->expects($this->once())
95 ->method('handle');
96 $logger->pushHandler($handler);
97
98 $this->assertTrue($logger->addWarning('test'));
99 }

References $handler.

◆ testLogMethods()

Monolog\LoggerTest::testLogMethods (   $method,
  $expectedLevel 
)

@dataProvider logMethodProvider @covers Monolog\Logger::addDebug @covers Monolog\Logger::addInfo @covers Monolog\Logger::addNotice @covers Monolog\Logger::addWarning @covers Monolog\Logger::addError @covers Monolog\Logger::addCritical @covers Monolog\Logger::addAlert @covers Monolog\Logger::addEmergency @covers Monolog\Logger::debug @covers Monolog\Logger::info @covers Monolog\Logger::notice @covers Monolog\Logger::warn @covers Monolog\Logger::err @covers Monolog\Logger::crit @covers Monolog\Logger::alert @covers Monolog\Logger::emerg

Definition at line 466 of file LoggerTest.php.

467 {
468 $logger = new Logger('foo');
469 $handler = new TestHandler;
470 $logger->pushHandler($handler);
471 $logger->{$method}('test');
472 list($record) = $handler->getRecords();
473 $this->assertEquals($expectedLevel, $record['level']);
474 }

References $handler.

◆ testLogNotHandled()

Monolog\LoggerTest::testLogNotHandled ( )

@covers Monolog\Logger::addRecord

Definition at line 104 of file LoggerTest.php.

105 {
106 $logger = new Logger(__METHOD__);
107
108 $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'), array(Logger::ERROR));
109 $handler->expects($this->never())
110 ->method('handle');
111 $logger->pushHandler($handler);
112
113 $this->assertFalse($logger->addWarning('test'));
114 }

References $handler.

◆ testNotBubblingWhenTheHandlerReturnsTrue()

Monolog\LoggerTest::testNotBubblingWhenTheHandlerReturnsTrue ( )

@covers Monolog\Logger::addRecord

Definition at line 393 of file LoggerTest.php.

394 {
395 $logger = new Logger(__METHOD__);
396
397 $handler1 = $this->getMock('Monolog\Handler\HandlerInterface');
398 $handler1->expects($this->any())
399 ->method('isHandling')
400 ->will($this->returnValue(true))
401 ;
402 $handler1->expects($this->never())
403 ->method('handle')
404 ;
405 $logger->pushHandler($handler1);
406
407 $handler2 = $this->getMock('Monolog\Handler\HandlerInterface');
408 $handler2->expects($this->any())
409 ->method('isHandling')
410 ->will($this->returnValue(true))
411 ;
412 $handler2->expects($this->once())
413 ->method('handle')
414 ->will($this->returnValue(true))
415 ;
416 $logger->pushHandler($handler2);
417
418 $logger->debug('test');
419 }

◆ testProcessorsAreCalledOnlyOnce()

Monolog\LoggerTest::testProcessorsAreCalledOnlyOnce ( )

@covers Monolog\Logger::addRecord

Definition at line 230 of file LoggerTest.php.

231 {
232 $logger = new Logger(__METHOD__);
233 $handler = $this->getMock('Monolog\Handler\HandlerInterface');
234 $handler->expects($this->any())
235 ->method('isHandling')
236 ->will($this->returnValue(true))
237 ;
238 $handler->expects($this->any())
239 ->method('handle')
240 ->will($this->returnValue(true))
241 ;
242 $logger->pushHandler($handler);
243
244 $processor = $this->getMockBuilder('Monolog\Processor\WebProcessor')
245 ->disableOriginalConstructor()
246 ->setMethods(array('__invoke'))
247 ->getMock()
248 ;
249 $processor->expects($this->once())
250 ->method('__invoke')
251 ->will($this->returnArgument(0))
252 ;
253 $logger->pushProcessor($processor);
254
255 $logger->addError('test');
256 }

References $handler.

◆ testProcessorsAreExecuted()

Monolog\LoggerTest::testProcessorsAreExecuted ( )

@covers Monolog\Logger::addRecord

Definition at line 212 of file LoggerTest.php.

213 {
214 $logger = new Logger(__METHOD__);
215 $handler = new TestHandler;
216 $logger->pushHandler($handler);
217 $logger->pushProcessor(function ($record) {
218 $record['extra']['win'] = true;
219
220 return $record;
221 });
222 $logger->addError('test');
223 list($record) = $handler->getRecords();
224 $this->assertTrue($record['extra']['win']);
225 }

References $handler, and Monolog\Handler\AbstractHandler\pushProcessor().

+ Here is the call graph for this function:

◆ testProcessorsInCtor()

Monolog\LoggerTest::testProcessorsInCtor ( )

Definition at line 126 of file LoggerTest.php.

127 {
128 $processor1 = new WebProcessor;
129 $processor2 = new WebProcessor;
130 $logger = new Logger(__METHOD__, array(), array($processor1, $processor2));
131
132 $this->assertEquals($processor1, $logger->popProcessor());
133 $this->assertEquals($processor2, $logger->popProcessor());
134 }

◆ testProcessorsNotCalledWhenNotHandled()

Monolog\LoggerTest::testProcessorsNotCalledWhenNotHandled ( )

@covers Monolog\Logger::addRecord

Definition at line 261 of file LoggerTest.php.

262 {
263 $logger = new Logger(__METHOD__);
264 $handler = $this->getMock('Monolog\Handler\HandlerInterface');
265 $handler->expects($this->once())
266 ->method('isHandling')
267 ->will($this->returnValue(false))
268 ;
269 $logger->pushHandler($handler);
270 $that = $this;
271 $logger->pushProcessor(function ($record) use ($that) {
272 $that->fail('The processor should not be called');
273 });
274 $logger->addAlert('test');
275 }

References $handler.

◆ testPushPopHandler()

Monolog\LoggerTest::testPushPopHandler ( )

@covers Monolog\Logger::pushHandler @covers Monolog\Logger::popHandler @expectedException LogicException

Definition at line 141 of file LoggerTest.php.

142 {
143 $logger = new Logger(__METHOD__);
144 $handler1 = new TestHandler;
145 $handler2 = new TestHandler;
146
147 $logger->pushHandler($handler1);
148 $logger->pushHandler($handler2);
149
150 $this->assertEquals($handler2, $logger->popHandler());
151 $this->assertEquals($handler1, $logger->popHandler());
152 $logger->popHandler();
153 }

◆ testPushPopProcessor()

Monolog\LoggerTest::testPushPopProcessor ( )

@covers Monolog\Logger::pushProcessor @covers Monolog\Logger::popProcessor @expectedException LogicException

Definition at line 184 of file LoggerTest.php.

185 {
186 $logger = new Logger(__METHOD__);
187 $processor1 = new WebProcessor;
188 $processor2 = new WebProcessor;
189
190 $logger->pushProcessor($processor1);
191 $logger->pushProcessor($processor2);
192
193 $this->assertEquals($processor2, $logger->popProcessor());
194 $this->assertEquals($processor1, $logger->popProcessor());
195 $logger->popProcessor();
196 }

◆ testPushProcessorWithNonCallable()

Monolog\LoggerTest::testPushProcessorWithNonCallable ( )

@covers Monolog\Logger::pushProcessor @expectedException InvalidArgumentException

Definition at line 202 of file LoggerTest.php.

203 {
204 $logger = new Logger(__METHOD__);
205
206 $logger->pushProcessor(new \stdClass());
207 }

◆ testSetHandlers()

Monolog\LoggerTest::testSetHandlers ( )

@covers Monolog\Logger::setHandlers

Definition at line 158 of file LoggerTest.php.

159 {
160 $logger = new Logger(__METHOD__);
161 $handler1 = new TestHandler;
162 $handler2 = new TestHandler;
163
164 $logger->pushHandler($handler1);
165 $logger->setHandlers(array($handler2));
166
167 // handler1 has been removed
168 $this->assertEquals(array($handler2), $logger->getHandlers());
169
170 $logger->setHandlers(array(
171 "AMapKey" => $handler1,
172 "Woop" => $handler2,
173 ));
174
175 // Keys have been scrubbed
176 $this->assertEquals(array($handler1, $handler2), $logger->getHandlers());
177 }

◆ testSetTimezone()

Monolog\LoggerTest::testSetTimezone (   $tz)

@dataProvider setTimezoneProvider @covers Monolog\Logger::setTimezone

Definition at line 505 of file LoggerTest.php.

506 {
508 $logger = new Logger('foo');
509 $handler = new TestHandler;
510 $logger->pushHandler($handler);
511 $logger->info('test');
512 list($record) = $handler->getRecords();
513 $this->assertEquals($tz, $record['datetime']->getTimezone());
514 }
static setTimezone(\DateTimeZone $tz)
Set the timezone to be used for the timestamp of log records.
Definition: Logger.php:695

References $handler, and $tz.

◆ testUseMicrosecondTimestamps()

Monolog\LoggerTest::testUseMicrosecondTimestamps (   $micro,
  $assert 
)

@dataProvider useMicrosecondTimestampsProvider @covers Monolog\Logger::useMicrosecondTimestamps @covers Monolog\Logger::addRecord

Definition at line 529 of file LoggerTest.php.

530 {
531 $logger = new Logger('foo');
532 $logger->useMicrosecondTimestamps($micro);
533 $handler = new TestHandler;
534 $logger->pushHandler($handler);
535 $logger->info('test');
536 list($record) = $handler->getRecords();
537 $this->{$assert}('000000', $record['datetime']->format('u'));
538 }

References $handler.

◆ testWithName()

Monolog\LoggerTest::testWithName ( )

@covers Monolog\Logger::withName

Definition at line 39 of file LoggerTest.php.

40 {
41 $first = new Logger('first', array($handler = new TestHandler()));
42 $second = $first->withName('second');
43
44 $this->assertSame('first', $first->getName());
45 $this->assertSame('second', $second->getName());
46 $this->assertSame($handler, $second->popHandler());
47 }

References $handler.

◆ useMicrosecondTimestampsProvider()

Monolog\LoggerTest::useMicrosecondTimestampsProvider ( )

Definition at line 540 of file LoggerTest.php.

541 {
542 return array(
543 // this has a very small chance of a false negative (1/10^6)
544 'with microseconds' => array(true, 'assertNotSame'),
545 'without microseconds' => array(false, 'assertSame'),
546 );
547 }

The documentation for this class was generated from the following file: