scratch – Blame information for rev

Subversion Repositories:
Rev:
Rev Author Line No. Line
115 office 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  
14 use Monolog\TestCase;
15 use Monolog\Logger;
16  
17 class GroupHandlerTest extends TestCase
18 {
19 /**
20 * @covers Monolog\Handler\GroupHandler::__construct
21 * @expectedException InvalidArgumentException
22 */
23 public function testConstructorOnlyTakesHandler()
24 {
25 new GroupHandler(array(new TestHandler(), "foo"));
26 }
27  
28 /**
29 * @covers Monolog\Handler\GroupHandler::__construct
30 * @covers Monolog\Handler\GroupHandler::handle
31 */
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  
45 /**
46 * @covers Monolog\Handler\GroupHandler::handleBatch
47 */
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  
60 /**
61 * @covers Monolog\Handler\GroupHandler::isHandling
62 */
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  
72 /**
73 * @covers Monolog\Handler\GroupHandler::handle
74 */
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  
90 /**
91 * @covers Monolog\Handler\GroupHandler::handle
92 */
93 public function testHandleBatchUsesProcessors()
94 {
95 $testHandlers = array(new TestHandler(), new TestHandler());
96 $handler = new GroupHandler($testHandlers);
97 $handler->pushProcessor(function ($record) {
98 $record['extra']['foo'] = true;
99  
100 return $record;
101 });
102 $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
103 foreach ($testHandlers as $test) {
104 $this->assertTrue($test->hasDebugRecords());
105 $this->assertTrue($test->hasInfoRecords());
106 $this->assertTrue(count($test->getRecords()) === 2);
107 $records = $test->getRecords();
108 $this->assertTrue($records[0]['extra']['foo']);
109 $this->assertTrue($records[1]['extra']['foo']);
110 }
111 }
112 }