ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
GroupHandlerTest.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
12namespace Monolog\Handler;
13
16
18{
24 {
25 new GroupHandler(array(new TestHandler(), "foo"));
26 }
27
32 public function testHandle()
33 {
34 $testHandlers = array(new TestHandler(), new TestHandler());
35 $handler = new GroupHandler($testHandlers);
36 $handler->handle($this->getRecord(Logger::DEBUG));
37 $handler->handle($this->getRecord(Logger::INFO));
38 foreach ($testHandlers as $test) {
39 $this->assertTrue($test->hasDebugRecords());
40 $this->assertTrue($test->hasInfoRecords());
41 $this->assertTrue(count($test->getRecords()) === 2);
42 }
43 }
44
48 public function testHandleBatch()
49 {
50 $testHandlers = array(new TestHandler(), new TestHandler());
51 $handler = new GroupHandler($testHandlers);
52 $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
53 foreach ($testHandlers as $test) {
54 $this->assertTrue($test->hasDebugRecords());
55 $this->assertTrue($test->hasInfoRecords());
56 $this->assertTrue(count($test->getRecords()) === 2);
57 }
58 }
59
63 public function testIsHandling()
64 {
65 $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING));
66 $handler = new GroupHandler($testHandlers);
67 $this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR)));
68 $this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING)));
69 $this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
70 }
71
75 public function testHandleUsesProcessors()
76 {
77 $test = new TestHandler();
78 $handler = new GroupHandler(array($test));
79 $handler->pushProcessor(function ($record) {
80 $record['extra']['foo'] = true;
81
82 return $record;
83 });
84 $handler->handle($this->getRecord(Logger::WARNING));
85 $this->assertTrue($test->hasWarningRecords());
86 $records = $test->getRecords();
87 $this->assertTrue($records[0]['extra']['foo']);
88 }
89}
$test
Definition: Utf8Test.php:85
testHandle()
@covers Monolog\Handler\GroupHandler::__construct @covers Monolog\Handler\GroupHandler::handle
testHandleUsesProcessors()
@covers Monolog\Handler\GroupHandler::handle
testIsHandling()
@covers Monolog\Handler\GroupHandler::isHandling
testConstructorOnlyTakesHandler()
@covers Monolog\Handler\GroupHandler::__construct @expectedException InvalidArgumentException
testHandleBatch()
@covers Monolog\Handler\GroupHandler::handleBatch
Forwards records to multiple handlers.
Used for testing purposes.
Definition: TestHandler.php:69
Monolog log channel.
Definition: Logger.php:28
const ERROR
Runtime errors.
Definition: Logger.php:57
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
getRecord($level=Logger::WARNING, $message='test', $context=array())
Definition: TestCase.php:19
$records
Definition: simple_test.php:17