1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
*
* (c) Jordi Boggiano <j.boggiano@seld.be>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Acme;
class Tester
{
public function test($handler, $record)
{
$handler->handle($record);
}
}
function tester($handler, $record)
{
$handler->handle($record);
}
namespace Monolog\Processor;
use Monolog\Level;
use Monolog\Handler\TestHandler;
class IntrospectionProcessorTest extends \Monolog\Test\MonologTestCase
{
public function getHandler()
{
$processor = new IntrospectionProcessor();
$handler = new TestHandler();
$handler->pushProcessor($processor);
return $handler;
}
public function testProcessorFromClass()
{
$handler = $this->getHandler();
$tester = new \Acme\Tester;
$tester->test($handler, $this->getRecord());
list($record) = $handler->getRecords();
$this->assertEquals(__FILE__, $record->extra['file']);
$this->assertEquals(18, $record->extra['line']);
$this->assertEquals('Acme\Tester', $record->extra['class']);
$this->assertEquals('test', $record->extra['function']);
}
public function testProcessorFromFunc()
{
$handler = $this->getHandler();
\Acme\tester($handler, $this->getRecord());
list($record) = $handler->getRecords();
$this->assertEquals(__FILE__, $record->extra['file']);
$this->assertEquals(24, $record->extra['line']);
$this->assertEquals(null, $record->extra['class']);
$this->assertEquals('Acme\tester', $record->extra['function']);
}
public function testLevelTooLow()
{
$input = $this->getRecord(Level::Debug);
$expected = clone $input;
$processor = new IntrospectionProcessor(Level::Critical);
$actual = $processor($input);
$this->assertEquals($expected, $actual);
}
public function testLevelEqual()
{
$input = $this->getRecord(Level::Critical);
$expected = clone $input;
$expected['extra'] = [
'file' => null,
'line' => null,
'class' => 'PHPUnit\Framework\TestCase',
'function' => 'runTest',
'callType' => '->',
];
$processor = new IntrospectionProcessor(Level::Critical);
$actual = $processor($input);
$this->assertEquals($expected, $actual);
}
public function testLevelHigher()
{
$input = $this->getRecord(Level::Emergency);
$expected = clone $input;
$expected['extra'] = [
'file' => null,
'line' => null,
'class' => 'PHPUnit\Framework\TestCase',
'function' => 'runTest',
'callType' => '->',
];
$processor = new IntrospectionProcessor(Level::Critical);
$actual = $processor($input);
$this->assertEquals($expected, $actual);
}
}
|