mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-01 19:00:20 +02:00
Make TestHandler::hasRecord assert context, not only message
This commit is contained in:
committed by
Jordi Boggiano
parent
e8db808dd3
commit
b381a973bc
@@ -86,12 +86,20 @@ class TestHandler extends AbstractProcessingHandler
|
||||
|
||||
public function hasRecord($record, $level)
|
||||
{
|
||||
if (is_array($record)) {
|
||||
$record = $record['message'];
|
||||
}
|
||||
|
||||
return $this->hasRecordThatPasses(function ($rec) use ($record) {
|
||||
return $rec['message'] === $record;
|
||||
if (is_array($record)) {
|
||||
if ($rec['message'] !== $record['message']) {
|
||||
return false;
|
||||
}
|
||||
if ($rec['context'] !== $record['context']) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if ($rec['message'] !== $record) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}, $level);
|
||||
}
|
||||
|
||||
|
@@ -54,6 +54,52 @@ class TestHandlerTest extends TestCase
|
||||
$this->assertEquals(array($record), $records);
|
||||
}
|
||||
|
||||
public function testHandlerAssertEmptyContext() {
|
||||
$handler = new TestHandler;
|
||||
$record = $this->getRecord(Logger::WARNING, 'test', []);
|
||||
$this->assertFalse($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [],
|
||||
]));
|
||||
|
||||
$handler->handle($record);
|
||||
|
||||
$this->assertTrue($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [],
|
||||
]));
|
||||
$this->assertFalse($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [
|
||||
'foo' => 'bar'
|
||||
],
|
||||
]));
|
||||
}
|
||||
|
||||
public function testHandlerAssertNonEmptyContext() {
|
||||
$handler = new TestHandler;
|
||||
$record = $this->getRecord(Logger::WARNING, 'test', ['foo' => 'bar']);
|
||||
$this->assertFalse($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [
|
||||
'foo' => 'bar'
|
||||
],
|
||||
]));
|
||||
|
||||
$handler->handle($record);
|
||||
|
||||
$this->assertTrue($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [
|
||||
'foo' => 'bar'
|
||||
],
|
||||
]));
|
||||
$this->assertFalse($handler->hasWarning([
|
||||
'message' => 'test',
|
||||
'context' => [],
|
||||
]));
|
||||
}
|
||||
|
||||
public function methodProvider()
|
||||
{
|
||||
return array(
|
||||
|
Reference in New Issue
Block a user