summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Monolog/ErrorHandlerTest.php40
-rw-r--r--tests/Monolog/Formatter/ChromePHPFormatterTest.php96
-rw-r--r--tests/Monolog/Formatter/ElasticaFormatterTest.php18
-rw-r--r--tests/Monolog/Formatter/FlowdockFormatterTest.php14
-rw-r--r--tests/Monolog/Formatter/FluentdFormatterTest.php8
-rw-r--r--tests/Monolog/Formatter/GelfMessageFormatterTest.php74
-rw-r--r--tests/Monolog/Formatter/JsonFormatterTest.php38
-rw-r--r--tests/Monolog/Formatter/LineFormatterTest.php138
-rw-r--r--tests/Monolog/Formatter/LogglyFormatterTest.php7
-rw-r--r--tests/Monolog/Formatter/LogmaticFormatterTest.php36
-rw-r--r--tests/Monolog/Formatter/LogstashFormatterTest.php243
-rw-r--r--tests/Monolog/Formatter/MongoDBFormatterTest.php155
-rw-r--r--tests/Monolog/Formatter/NormalizerFormatterTest.php201
-rw-r--r--tests/Monolog/Formatter/ScalarFormatterTest.php66
-rw-r--r--tests/Monolog/Formatter/WildfireFormatterTest.php68
-rw-r--r--tests/Monolog/Handler/AbstractHandlerTest.php58
-rw-r--r--tests/Monolog/Handler/AbstractProcessingHandlerTest.php68
-rw-r--r--tests/Monolog/Handler/AmqpHandlerTest.php72
-rw-r--r--tests/Monolog/Handler/BrowserConsoleHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/BufferHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/ChromePHPHandlerTest.php62
-rw-r--r--tests/Monolog/Handler/CouchDBHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/DeduplicationHandlerTest.php14
-rw-r--r--tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php18
-rw-r--r--tests/Monolog/Handler/DynamoDbHandlerTest.php12
-rw-r--r--tests/Monolog/Handler/ElasticSearchHandlerTest.php58
-rw-r--r--tests/Monolog/Handler/ErrorLogHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/FilterHandlerTest.php12
-rw-r--r--tests/Monolog/Handler/FingersCrossedHandlerTest.php16
-rw-r--r--tests/Monolog/Handler/FirePHPHandlerTest.php18
-rw-r--r--tests/Monolog/Handler/FleepHookHandlerTest.php14
-rw-r--r--tests/Monolog/Handler/FlowdockHandlerTest.php8
-rw-r--r--tests/Monolog/Handler/GelfHandlerLegacyTest.php4
-rw-r--r--tests/Monolog/Handler/GelfHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/GelfMockMessagePublisher.php2
-rw-r--r--tests/Monolog/Handler/GroupHandlerTest.php20
-rw-r--r--tests/Monolog/Handler/HandlerWrapperTest.php52
-rw-r--r--tests/Monolog/Handler/HipChatHandlerTest.php124
-rw-r--r--tests/Monolog/Handler/LogEntriesHandlerTest.php16
-rw-r--r--tests/Monolog/Handler/LogmaticHandlerTest.php84
-rw-r--r--tests/Monolog/Handler/MailHandlerTest.php15
-rw-r--r--tests/Monolog/Handler/MockRavenClient.php2
-rw-r--r--tests/Monolog/Handler/MongoDBHandlerTest.php67
-rw-r--r--tests/Monolog/Handler/NativeMailerHandlerTest.php11
-rw-r--r--tests/Monolog/Handler/NewRelicHandlerTest.php34
-rw-r--r--tests/Monolog/Handler/NullHandlerTest.php4
-rw-r--r--tests/Monolog/Handler/PHPConsoleHandlerTest.php96
-rw-r--r--tests/Monolog/Handler/ProcessHandlerTest.php195
-rw-r--r--tests/Monolog/Handler/PsrHandlerTest.php12
-rw-r--r--tests/Monolog/Handler/PushoverHandlerTest.php10
-rw-r--r--tests/Monolog/Handler/RavenHandlerTest.php32
-rw-r--r--tests/Monolog/Handler/RedisHandlerTest.php24
-rw-r--r--tests/Monolog/Handler/RotatingFileHandlerTest.php103
-rw-r--r--tests/Monolog/Handler/SamplingHandlerTest.php4
-rw-r--r--tests/Monolog/Handler/SlackHandlerTest.php28
-rw-r--r--tests/Monolog/Handler/SocketHandlerTest.php44
-rw-r--r--tests/Monolog/Handler/StreamHandlerTest.php49
-rw-r--r--tests/Monolog/Handler/SwiftMailerHandlerTest.php23
-rw-r--r--tests/Monolog/Handler/SyslogHandlerTest.php2
-rw-r--r--tests/Monolog/Handler/SyslogUdpHandlerTest.php6
-rw-r--r--tests/Monolog/Handler/TestHandlerTest.php26
-rw-r--r--tests/Monolog/Handler/UdpSocketTest.php8
-rw-r--r--tests/Monolog/Handler/WhatFailureGroupHandlerTest.php20
-rw-r--r--tests/Monolog/Handler/ZendMonitorHandlerTest.php11
-rw-r--r--tests/Monolog/LoggerTest.php111
-rw-r--r--tests/Monolog/Processor/GitProcessorTest.php4
-rw-r--r--tests/Monolog/Processor/IntrospectionProcessorTest.php30
-rw-r--r--tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php4
-rw-r--r--tests/Monolog/Processor/MemoryUsageProcessorTest.php4
-rw-r--r--tests/Monolog/Processor/ProcessIdProcessorTest.php4
-rw-r--r--tests/Monolog/Processor/PsrLogMessageProcessorTest.php28
-rw-r--r--tests/Monolog/Processor/TagProcessorTest.php16
-rw-r--r--tests/Monolog/Processor/UidProcessorTest.php4
-rw-r--r--tests/Monolog/Processor/WebProcessorTest.php36
-rw-r--r--tests/Monolog/PsrLogCompatTest.php2
-rw-r--r--tests/Monolog/RegistryTest.php44
-rw-r--r--tests/Monolog/TestCase.php58
-rw-r--r--tests/bootstrap.php14
78 files changed, 1616 insertions, 1533 deletions
diff --git a/tests/Monolog/ErrorHandlerTest.php b/tests/Monolog/ErrorHandlerTest.php
index a9a3f30..7b3ba82 100644
--- a/tests/Monolog/ErrorHandlerTest.php
+++ b/tests/Monolog/ErrorHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -17,10 +17,10 @@ class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
{
public function testHandleError()
{
- $logger = new Logger('test', array($handler = new TestHandler));
+ $logger = new Logger('test', [$handler = new TestHandler]);
$errHandler = new ErrorHandler($logger);
- $errHandler->registerErrorHandler(array(E_USER_NOTICE => Logger::EMERGENCY), false);
+ $errHandler->registerErrorHandler([E_USER_NOTICE => Logger::EMERGENCY], false);
trigger_error('Foo', E_USER_ERROR);
$this->assertCount(1, $handler->getRecords());
$this->assertTrue($handler->hasErrorRecords());
@@ -28,4 +28,38 @@ class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
$this->assertCount(2, $handler->getRecords());
$this->assertTrue($handler->hasEmergencyRecords());
}
+
+ public function testHandleException()
+ {
+ $logger = new Logger('test', [$handler = new TestHandler]);
+ $errHandler = new ErrorHandler($logger);
+
+ $errHandler->registerExceptionHandler(['Monolog\CustomTestException' => Logger::ALERT, 'Throwable' => Logger::WARNING], false);
+
+ try {
+ throw new CustomCustomException();
+ $this->assertCount(1, $handler->getRecords());
+ $this->assertTrue($handler->hasAlertRecords());
+ } catch (\Throwable $e) {
+ }
+ try {
+ throw new CustomTestException();
+ $this->assertCount(2, $handler->getRecords());
+ $this->assertTrue($handler->hasAlertRecords());
+ } catch (\Throwable $e) {
+ }
+ try {
+ throw new RuntimeException();
+ $this->assertCount(3, $handler->getRecords());
+ $this->assertTrue($handler->hasWarningRecords());
+ } catch (\Throwable $e) {
+ }
+ }
+}
+
+class CustomTestException extends \Exception
+{
+}
+class CustomCustomException extends CustomTestException
+{
}
diff --git a/tests/Monolog/Formatter/ChromePHPFormatterTest.php b/tests/Monolog/Formatter/ChromePHPFormatterTest.php
index 71c4204..08a8e1b 100644
--- a/tests/Monolog/Formatter/ChromePHPFormatterTest.php
+++ b/tests/Monolog/Formatter/ChromePHPFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -21,29 +21,29 @@ class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
public function testDefaultFormat()
{
$formatter = new ChromePHPFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['ip' => '127.0.0.1'],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
$this->assertEquals(
- array(
+ [
'meh',
- array(
+ [
'message' => 'log',
- 'context' => array('from' => 'logger'),
- 'extra' => array('ip' => '127.0.0.1'),
- ),
+ 'context' => ['from' => 'logger'],
+ 'extra' => ['ip' => '127.0.0.1'],
+ ],
'unknown',
'error',
- ),
+ ],
$message
);
}
@@ -54,29 +54,29 @@ class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithFileAndLine()
{
$formatter = new ChromePHPFormatter();
- $record = array(
+ $record = [
'level' => Logger::CRITICAL,
'level_name' => 'CRITICAL',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['ip' => '127.0.0.1', 'file' => 'test', 'line' => 14],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
$this->assertEquals(
- array(
+ [
'meh',
- array(
+ [
'message' => 'log',
- 'context' => array('from' => 'logger'),
- 'extra' => array('ip' => '127.0.0.1'),
- ),
+ 'context' => ['from' => 'logger'],
+ 'extra' => ['ip' => '127.0.0.1'],
+ ],
'test : 14',
'error',
- ),
+ ],
$message
);
}
@@ -87,25 +87,25 @@ class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithoutContext()
{
$formatter = new ChromePHPFormatter();
- $record = array(
+ $record = [
'level' => Logger::DEBUG,
'level_name' => 'DEBUG',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
$this->assertEquals(
- array(
+ [
'meh',
'log',
'unknown',
'log',
- ),
+ ],
$message
);
}
@@ -116,42 +116,42 @@ class ChromePHPFormatterTest extends \PHPUnit_Framework_TestCase
public function testBatchFormatThrowException()
{
$formatter = new ChromePHPFormatter();
- $records = array(
- array(
+ $records = [
+ [
'level' => Logger::INFO,
'level_name' => 'INFO',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- ),
- array(
+ ],
+ [
'level' => Logger::WARNING,
'level_name' => 'WARNING',
'channel' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log2',
- ),
- );
+ ],
+ ];
$this->assertEquals(
- array(
- array(
+ [
+ [
'meh',
'log',
'unknown',
'info',
- ),
- array(
+ ],
+ [
'foo',
'log2',
'unknown',
'warn',
- ),
- ),
+ ],
+ ],
$formatter->formatBatch($records)
);
}
diff --git a/tests/Monolog/Formatter/ElasticaFormatterTest.php b/tests/Monolog/Formatter/ElasticaFormatterTest.php
index 90cc48d..8e88e69 100644
--- a/tests/Monolog/Formatter/ElasticaFormatterTest.php
+++ b/tests/Monolog/Formatter/ElasticaFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -30,24 +30,24 @@ class ElasticaFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormat()
{
// test log message
- $msg = array(
+ $msg = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => ['foo' => 7, 'bar', 'class' => new \stdClass],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
// expected values
$expected = $msg;
$expected['datetime'] = '1970-01-01T00:00:00.000000+00:00';
- $expected['context'] = array(
- 'class' => '[object] (stdClass: {})',
+ $expected['context'] = [
+ 'class' => ['stdClass' => []],
'foo' => 7,
0 => 'bar',
- );
+ ];
// format log message
$formatter = new ElasticaFormatter('my_index', 'doc_type');
diff --git a/tests/Monolog/Formatter/FlowdockFormatterTest.php b/tests/Monolog/Formatter/FlowdockFormatterTest.php
index 1b2fd97..f922d53 100644
--- a/tests/Monolog/Formatter/FlowdockFormatterTest.php
+++ b/tests/Monolog/Formatter/FlowdockFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Formatter;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class FlowdockFormatterTest extends TestCase
{
@@ -24,14 +24,14 @@ class FlowdockFormatterTest extends TestCase
$formatter = new FlowdockFormatter('test_source', 'source@test.com');
$record = $this->getRecord();
- $expected = array(
+ $expected = [
'source' => 'test_source',
'from_address' => 'source@test.com',
'subject' => 'in test_source: WARNING - test',
'content' => 'test',
- 'tags' => array('#logs', '#warning', '#test'),
+ 'tags' => ['#logs', '#warning', '#test'],
'project' => 'test_source',
- );
+ ];
$formatted = $formatter->format($record);
$this->assertEquals($expected, $formatted['flowdock']);
@@ -43,10 +43,10 @@ class FlowdockFormatterTest extends TestCase
public function testFormatBatch()
{
$formatter = new FlowdockFormatter('test_source', 'source@test.com');
- $records = array(
+ $records = [
$this->getRecord(Logger::WARNING),
$this->getRecord(Logger::DEBUG),
- );
+ ];
$formatted = $formatter->formatBatch($records);
$this->assertArrayHasKey('flowdock', $formatted[0]);
diff --git a/tests/Monolog/Formatter/FluentdFormatterTest.php b/tests/Monolog/Formatter/FluentdFormatterTest.php
index 622b2ba..0be8d8f 100644
--- a/tests/Monolog/Formatter/FluentdFormatterTest.php
+++ b/tests/Monolog/Formatter/FluentdFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Formatter;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class FluentdFormatterTest extends TestCase
{
@@ -36,7 +36,7 @@ class FluentdFormatterTest extends TestCase
public function testFormat()
{
$record = $this->getRecord(Logger::WARNING);
- $record['datetime'] = new \DateTime("@0");
+ $record['datetime'] = new \DateTimeImmutable("@0");
$formatter = new FluentdFormatter();
$this->assertEquals(
@@ -51,7 +51,7 @@ class FluentdFormatterTest extends TestCase
public function testFormatWithTag()
{
$record = $this->getRecord(Logger::ERROR);
- $record['datetime'] = new \DateTime("@0");
+ $record['datetime'] = new \DateTimeImmutable("@0");
$formatter = new FluentdFormatter(true);
$this->assertEquals(
diff --git a/tests/Monolog/Formatter/GelfMessageFormatterTest.php b/tests/Monolog/Formatter/GelfMessageFormatterTest.php
index e6bd309..897aa81 100644
--- a/tests/Monolog/Formatter/GelfMessageFormatterTest.php
+++ b/tests/Monolog/Formatter/GelfMessageFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -28,15 +28,15 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testDefaultFormatter()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
@@ -63,15 +63,15 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithFileAndLine()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['file' => 'test', 'line' => 14],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
@@ -87,10 +87,10 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatInvalidFails()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
- );
+ ];
$formatter->format($record);
}
@@ -101,15 +101,15 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithContext()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => 'pair'],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
@@ -138,19 +138,19 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithContextContainingException()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger', 'exception' => array(
+ 'context' => ['from' => 'logger', 'exception' => [
'class' => '\Exception',
'file' => '/some/file/in/dir.php:56',
- 'trace' => array('/some/file/1.php:23', '/some/file/2.php:3'),
- )),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'trace' => ['/some/file/1.php:23', '/some/file/2.php:3'],
+ ]],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
@@ -166,15 +166,15 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithExtra()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => 'pair'],
'message' => 'log',
- );
+ ];
$message = $formatter->format($record);
@@ -200,15 +200,15 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithLargeData()
{
$formatter = new GelfMessageFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('exception' => str_repeat(' ', 32767)),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => str_repeat(' ', 32767)),
- 'message' => 'log'
- );
+ 'context' => ['exception' => str_repeat(' ', 32767)],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => str_repeat(' ', 32767)],
+ 'message' => 'log',
+ ];
$message = $formatter->format($record);
$messageArray = $message->toArray();
@@ -216,7 +216,7 @@ class GelfMessageFormatterTest extends \PHPUnit_Framework_TestCase
$length = 200;
foreach ($messageArray as $key => $value) {
- if (!in_array($key, array('level', 'timestamp'))) {
+ if (!in_array($key, ['level', 'timestamp']) && is_string($value)) {
$length += strlen($value);
}
}
diff --git a/tests/Monolog/Formatter/JsonFormatterTest.php b/tests/Monolog/Formatter/JsonFormatterTest.php
index df7e35d..392647f 100644
--- a/tests/Monolog/Formatter/JsonFormatterTest.php
+++ b/tests/Monolog/Formatter/JsonFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Formatter;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class JsonFormatterTest extends TestCase
{
@@ -42,7 +42,7 @@ class JsonFormatterTest extends TestCase
$formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_JSON, false);
$record = $this->getRecord();
- $this->assertEquals(json_encode($record), $formatter->format($record));
+ $this->assertEquals('{"message":"test","context":[],"level":300,"level_name":"WARNING","channel":"test","datetime":"'.$record['datetime']->format('Y-m-d\TH:i:s.uP').'","extra":[]}', $formatter->format($record));
}
/**
@@ -52,10 +52,10 @@ class JsonFormatterTest extends TestCase
public function testFormatBatch()
{
$formatter = new JsonFormatter();
- $records = array(
+ $records = [
$this->getRecord(Logger::WARNING),
$this->getRecord(Logger::DEBUG),
- );
+ ];
$this->assertEquals(json_encode($records), $formatter->formatBatch($records));
}
@@ -66,10 +66,10 @@ class JsonFormatterTest extends TestCase
public function testFormatBatchNewlines()
{
$formatter = new JsonFormatter(JsonFormatter::BATCH_MODE_NEWLINES);
- $records = $expected = array(
+ $records = $expected = [
$this->getRecord(Logger::WARNING),
$this->getRecord(Logger::DEBUG),
- );
+ ];
array_walk($expected, function (&$value, $key) {
$value = json_encode($value);
});
@@ -80,35 +80,35 @@ class JsonFormatterTest extends TestCase
{
$formatter = new JsonFormatter();
$exception = new \RuntimeException('Foo');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'CRITICAL',
'channel' => 'core',
- 'context' => array('exception' => $exception),
- 'datetime' => new \DateTime(),
- 'extra' => array(),
+ 'context' => ['exception' => $exception],
+ 'datetime' => new \DateTimeImmutable(),
+ 'extra' => [],
'message' => 'foobar',
- ));
+ ]);
if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
$path = substr(json_encode($exception->getFile(), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), 1, -1);
} else {
$path = substr(json_encode($exception->getFile()), 1, -1);
}
- $this->assertEquals('{"level_name":"CRITICAL","channel":"core","context":{"exception":{"class":"RuntimeException","message":"'.$exception->getMessage().'","code":'.$exception->getCode().',"file":"'.$path.':'.$exception->getLine().'"}},"datetime":'.json_encode(new \DateTime()).',"extra":[],"message":"foobar"}'."\n", $message);
+ $this->assertEquals('{"level_name":"CRITICAL","channel":"core","context":{"exception":{"class":"RuntimeException","message":"'.$exception->getMessage().'","code":'.$exception->getCode().',"file":"'.$path.':'.$exception->getLine().'"}},"datetime":'.json_encode(new \DateTimeImmutable()).',"extra":[],"message":"foobar"}'."\n", $message);
}
public function testDefFormatWithPreviousException()
{
$formatter = new JsonFormatter();
$exception = new \RuntimeException('Foo', 0, new \LogicException('Wut?'));
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'CRITICAL',
'channel' => 'core',
- 'context' => array('exception' => $exception),
- 'datetime' => new \DateTime(),
- 'extra' => array(),
+ 'context' => ['exception' => $exception],
+ 'datetime' => new \DateTimeImmutable(),
+ 'extra' => [],
'message' => 'foobar',
- ));
+ ]);
if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
$pathPrevious = substr(json_encode($exception->getPrevious()->getFile(), JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE), 1, -1);
@@ -117,6 +117,6 @@ class JsonFormatterTest extends TestCase
$pathPrevious = substr(json_encode($exception->getPrevious()->getFile()), 1, -1);
$pathException = substr(json_encode($exception->getFile()), 1, -1);
}
- $this->assertEquals('{"level_name":"CRITICAL","channel":"core","context":{"exception":{"class":"RuntimeException","message":"'.$exception->getMessage().'","code":'.$exception->getCode().',"file":"'.$pathException.':'.$exception->getLine().'","previous":{"class":"LogicException","message":"'.$exception->getPrevious()->getMessage().'","code":'.$exception->getPrevious()->getCode().',"file":"'.$pathPrevious.':'.$exception->getPrevious()->getLine().'"}}},"datetime":'.json_encode(new \DateTime()).',"extra":[],"message":"foobar"}'."\n", $message);
+ $this->assertEquals('{"level_name":"CRITICAL","channel":"core","context":{"exception":{"class":"RuntimeException","message":"'.$exception->getMessage().'","code":'.$exception->getCode().',"file":"'.$pathException.':'.$exception->getLine().'","previous":{"class":"LogicException","message":"'.$exception->getPrevious()->getMessage().'","code":'.$exception->getPrevious()->getCode().',"file":"'.$pathPrevious.':'.$exception->getPrevious()->getLine().'"}}},"datetime":'.json_encode(new \DateTimeImmutable()).',"extra":[],"message":"foobar"}'."\n", $message);
}
}
diff --git a/tests/Monolog/Formatter/LineFormatterTest.php b/tests/Monolog/Formatter/LineFormatterTest.php
index 310d93c..cbbbc66 100644
--- a/tests/Monolog/Formatter/LineFormatterTest.php
+++ b/tests/Monolog/Formatter/LineFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -19,118 +19,118 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
public function testDefFormatWithString()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'WARNING',
'channel' => 'log',
- 'context' => array(),
+ 'context' => [],
'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ));
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ ]);
$this->assertEquals('['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message);
}
public function testDefFormatWithArrayContext()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array(),
- 'context' => array(
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ 'context' => [
'foo' => 'bar',
'baz' => 'qux',
'bool' => false,
'null' => null,
- ),
- ));
+ ],
+ ]);
$this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foo {"foo":"bar","baz":"qux","bool":false,"null":null} []'."\n", $message);
}
public function testDefFormatExtras()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('ip' => '127.0.0.1'),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => ['ip' => '127.0.0.1'],
'message' => 'log',
- ));
+ ]);
$this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] {"ip":"127.0.0.1"}'."\n", $message);
}
public function testFormatExtras()
{
$formatter = new LineFormatter("[%datetime%] %channel%.%level_name%: %message% %context% %extra.file% %extra%\n", 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test'),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => ['ip' => '127.0.0.1', 'file' => 'test'],
'message' => 'log',
- ));
+ ]);
$this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log [] test {"ip":"127.0.0.1"}'."\n", $message);
}
public function testContextAndExtraOptionallyNotShownIfEmpty()
{
$formatter = new LineFormatter(null, 'Y-m-d', false, true);
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
'message' => 'log',
- ));
+ ]);
$this->assertEquals('['.date('Y-m-d').'] meh.ERROR: log '."\n", $message);
}
public function testContextAndExtraReplacement()
{
$formatter = new LineFormatter('%context.foo% => %extra.foo%');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('foo' => 'bar'),
- 'datetime' => new \DateTime,
- 'extra' => array('foo' => 'xbar'),
+ 'context' => ['foo' => 'bar'],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => ['foo' => 'xbar'],
'message' => 'log',
- ));
+ ]);
$this->assertEquals('bar => xbar', $message);
}
public function testDefFormatWithObject()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array('foo' => new TestFoo, 'bar' => new TestBar, 'baz' => array(), 'res' => fopen('php://memory', 'rb')),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => ['foo' => new TestFoo, 'bar' => new TestBar, 'baz' => [], 'res' => fopen('php://memory', 'rb')],
'message' => 'foobar',
- ));
+ ]);
- $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foobar [] {"foo":"[object] (Monolog\\\\Formatter\\\\TestFoo: {\\"foo\\":\\"foo\\"})","bar":"[object] (Monolog\\\\Formatter\\\\TestBar: bar)","baz":[],"res":"[resource] (stream)"}'."\n", $message);
+ $this->assertEquals('['.date('Y-m-d').'] meh.ERROR: foobar [] {"foo":{"Monolog\\\\Formatter\\\\TestFoo":{"foo":"fooValue"}},"bar":{"Monolog\\\\Formatter\\\\TestBar":"bar"},"baz":[],"res":"[resource(stream)]"}'."\n", $message);
}
public function testDefFormatWithException()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'CRITICAL',
'channel' => 'core',
- 'context' => array('exception' => new \RuntimeException('Foo')),
- 'datetime' => new \DateTime,
- 'extra' => array(),
+ 'context' => ['exception' => new \RuntimeException('Foo')],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
'message' => 'foobar',
- ));
+ ]);
$path = str_replace('\\/', '/', json_encode(__FILE__));
@@ -141,14 +141,14 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
{
$formatter = new LineFormatter(null, 'Y-m-d');
$previous = new \LogicException('Wut?');
- $message = $formatter->format(array(
+ $message = $formatter->format([
'level_name' => 'CRITICAL',
'channel' => 'core',
- 'context' => array('exception' => new \RuntimeException('Foo', 0, $previous)),
- 'datetime' => new \DateTime,
- 'extra' => array(),
+ 'context' => ['exception' => new \RuntimeException('Foo', 0, $previous)],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
'message' => 'foobar',
- ));
+ ]);
$path = str_replace('\\/', '/', json_encode(__FILE__));
@@ -158,24 +158,24 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
public function testBatchFormat()
{
$formatter = new LineFormatter(null, 'Y-m-d');
- $message = $formatter->formatBatch(array(
- array(
+ $message = $formatter->formatBatch([
+ [
'level_name' => 'CRITICAL',
'channel' => 'test',
'message' => 'bar',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- array(
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ ],
+ [
'level_name' => 'WARNING',
'channel' => 'log',
'message' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- ));
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ ],
+ ]);
$this->assertEquals('['.date('Y-m-d').'] test.CRITICAL: bar [] []'."\n".'['.date('Y-m-d').'] log.WARNING: foo [] []'."\n", $message);
}
@@ -183,11 +183,11 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
{
$formatter = new LineFormatter(null, 'Y-m-d');
$message = $formatter->format(
- array(
+ [
'message' => "foo\nbar",
- 'context' => array(),
- 'extra' => array(),
- )
+ 'context' => [],
+ 'extra' => [],
+ ]
);
$this->assertRegExp('/foo bar/', $message);
@@ -197,11 +197,11 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
{
$formatter = new LineFormatter(null, 'Y-m-d', true);
$message = $formatter->format(
- array(
+ [
'message' => "foo\nbar",
- 'context' => array(),
- 'extra' => array(),
- )
+ 'context' => [],
+ 'extra' => [],
+ ]
);
$this->assertRegExp('/foo\nbar/', $message);
@@ -210,7 +210,7 @@ class LineFormatterTest extends \PHPUnit_Framework_TestCase
class TestFoo
{
- public $foo = 'foo';
+ public $foo = 'fooValue';
}
class TestBar
diff --git a/tests/Monolog/Formatter/LogglyFormatterTest.php b/tests/Monolog/Formatter/LogglyFormatterTest.php
index 6d59b3f..2eff4ac 100644
--- a/tests/Monolog/Formatter/LogglyFormatterTest.php
+++ b/tests/Monolog/Formatter/LogglyFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Formatter;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class LogglyFormatterTest extends TestCase
{
@@ -34,7 +34,8 @@ class LogglyFormatterTest extends TestCase
$formatter = new LogglyFormatter();
$record = $this->getRecord();
$formatted_decoded = json_decode($formatter->format($record), true);
+ $this->assertArrayNotHasKey("datetime", $formatted_decoded);
$this->assertArrayHasKey("timestamp", $formatted_decoded);
- $this->assertEquals(new \DateTime($formatted_decoded["timestamp"]), $record["datetime"]);
+ $this->assertEquals($record["datetime"]->format('Y-m-d\TH:i:s.uO'), $formatted_decoded["timestamp"]);
}
}
diff --git a/tests/Monolog/Formatter/LogmaticFormatterTest.php b/tests/Monolog/Formatter/LogmaticFormatterTest.php
new file mode 100644
index 0000000..d27670f
--- /dev/null
+++ b/tests/Monolog/Formatter/LogmaticFormatterTest.php
@@ -0,0 +1,36 @@
+<?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 Monolog\Formatter;
+
+use Monolog\Test\TestCase;
+
+/**
+ * @author Julien Breux <julien.breux@gmail.com>
+ */
+class LogmaticFormatterTest extends TestCase
+{
+ /**
+ * @covers Monolog\Formatter\LogmaticFormatter::format
+ */
+ public function testFormat()
+ {
+ $formatter = new LogmaticFormatter();
+ $formatter->setHostname('testHostname');
+ $formatter->setAppname('testAppname');
+ $record = $this->getRecord();
+ $formatted_decoded = json_decode($formatter->format($record), true);
+ $this->assertArrayHasKey('hostname', $formatted_decoded);
+ $this->assertArrayHasKey('appname', $formatted_decoded);
+ $this->assertEquals('testHostname', $formatted_decoded['hostname']);
+ $this->assertEquals('testAppname', $formatted_decoded['appname']);
+ }
+}
diff --git a/tests/Monolog/Formatter/LogstashFormatterTest.php b/tests/Monolog/Formatter/LogstashFormatterTest.php
index 9f6b1cc..57d6759 100644
--- a/tests/Monolog/Formatter/LogstashFormatterTest.php
+++ b/tests/Monolog/Formatter/LogstashFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -25,158 +25,18 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
/**
* @covers Monolog\Formatter\LogstashFormatter::format
*/
- public function testDefaultFormatter()
- {
- $formatter = new LogstashFormatter('test', 'hostname');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
- $this->assertEquals('log', $message['@message']);
- $this->assertEquals('meh', $message['@fields']['channel']);
- $this->assertContains('meh', $message['@tags']);
- $this->assertEquals(Logger::ERROR, $message['@fields']['level']);
- $this->assertEquals('test', $message['@type']);
- $this->assertEquals('hostname', $message['@source']);
-
- $formatter = new LogstashFormatter('mysystem');
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('mysystem', $message['@type']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithFileAndLine()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertEquals('test', $message['@fields']['file']);
- $this->assertEquals(14, $message['@fields']['line']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithContext()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('ctxt_from', $message_array);
- $this->assertEquals('logger', $message_array['ctxt_from']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, null, 'CTX');
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('CTXfrom', $message_array);
- $this->assertEquals('logger', $message_array['CTXfrom']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
- public function testFormatWithExtra()
- {
- $formatter = new LogstashFormatter('test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('key', $message_array);
- $this->assertEquals('pair', $message_array['key']);
-
- // Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, 'EXT');
- $message = json_decode($formatter->format($record), true);
-
- $message_array = $message['@fields'];
-
- $this->assertArrayHasKey('EXTkey', $message_array);
- $this->assertEquals('pair', $message_array['EXTkey']);
- }
-
- public function testFormatWithApplicationName()
- {
- $formatter = new LogstashFormatter('app', 'test');
- $record = array(
- 'level' => Logger::ERROR,
- 'level_name' => 'ERROR',
- 'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
- 'message' => 'log',
- );
-
- $message = json_decode($formatter->format($record), true);
-
- $this->assertArrayHasKey('@type', $message);
- $this->assertEquals('app', $message['@type']);
- }
-
- /**
- * @covers Monolog\Formatter\LogstashFormatter::format
- */
public function testDefaultFormatterV1()
{
- $formatter = new LogstashFormatter('test', 'hostname', null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
+ $formatter = new LogstashFormatter('test', 'hostname', null, 'ctxt_');
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
@@ -188,7 +48,7 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('test', $message['type']);
$this->assertEquals('hostname', $message['host']);
- $formatter = new LogstashFormatter('mysystem', null, null, 'ctxt_', LogstashFormatter::V1);
+ $formatter = new LogstashFormatter('mysystem', null, null, 'ctxt_');
$message = json_decode($formatter->format($record), true);
@@ -200,16 +60,16 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
*/
public function testFormatWithFileAndLineV1()
{
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
+ $formatter = new LogstashFormatter('test', null, null, 'ctxt_');
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('file' => 'test', 'line' => 14),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['file' => 'test', 'line' => 14],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
@@ -222,16 +82,16 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
*/
public function testFormatWithContextV1()
{
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
+ $formatter = new LogstashFormatter('test', null, null, 'ctxt_');
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => 'pair'],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
@@ -239,7 +99,7 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('logger', $message['ctxt_from']);
// Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, null, 'CTX', LogstashFormatter::V1);
+ $formatter = new LogstashFormatter('test', null, null, 'CTX');
$message = json_decode($formatter->format($record), true);
$this->assertArrayHasKey('CTXfrom', $message);
@@ -251,16 +111,16 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
*/
public function testFormatWithExtraV1()
{
- $formatter = new LogstashFormatter('test', null, null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
+ $formatter = new LogstashFormatter('test', null, null, 'ctxt_');
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => 'pair'],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
@@ -268,7 +128,7 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('pair', $message['key']);
// Test with extraPrefix
- $formatter = new LogstashFormatter('test', null, 'EXT', 'ctxt_', LogstashFormatter::V1);
+ $formatter = new LogstashFormatter('test', null, 'EXT', 'ctxt_');
$message = json_decode($formatter->format($record), true);
$this->assertArrayHasKey('EXTkey', $message);
@@ -277,16 +137,16 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithApplicationNameV1()
{
- $formatter = new LogstashFormatter('app', 'test', null, 'ctxt_', LogstashFormatter::V1);
- $record = array(
+ $formatter = new LogstashFormatter('app', 'test', null, 'ctxt_');
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('key' => 'pair'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['key' => 'pair'],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
@@ -296,38 +156,27 @@ class LogstashFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithLatin9Data()
{
- if (version_compare(PHP_VERSION, '5.5.0', '<')) {
- // Ignore the warning that will be emitted by PHP <5.5.0
- \PHPUnit_Framework_Error_Warning::$enabled = false;
- }
$formatter = new LogstashFormatter('test', 'hostname');
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => '¯\_(ツ)_/¯',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [
'user_agent' => "\xD6WN; FBCR/OrangeEspa\xF1a; Vers\xE3o/4.0; F\xE4rist",
- ),
+ ],
'message' => 'log',
- );
+ ];
$message = json_decode($formatter->format($record), true);
$this->assertEquals("1970-01-01T00:00:00.000000+00:00", $message['@timestamp']);
- $this->assertEquals('log', $message['@message']);
- $this->assertEquals('¯\_(ツ)_/¯', $message['@fields']['channel']);
- $this->assertContains('¯\_(ツ)_/¯', $message['@tags']);
- $this->assertEquals(Logger::ERROR, $message['@fields']['level']);
- $this->assertEquals('test', $message['@type']);
- $this->assertEquals('hostname', $message['@source']);
- if (version_compare(PHP_VERSION, '5.5.0', '>=')) {
- $this->assertEquals('ÖWN; FBCR/OrangeEspaña; Versão/4.0; Färist', $message['@fields']['user_agent']);
- } else {
- // PHP <5.5 does not return false for an element encoding failure,
- // instead it emits a warning (possibly) and nulls the value.
- $this->assertEquals(null, $message['@fields']['user_agent']);
- }
+ $this->assertEquals('log', $message['message']);
+ $this->assertEquals('¯\_(ツ)_/¯', $message['channel']);
+ $this->assertEquals('ERROR', $message['level']);
+ $this->assertEquals('test', $message['type']);
+ $this->assertEquals('hostname', $message['host']);
+ $this->assertEquals('ÖWN; FBCR/OrangeEspaña; Versão/4.0; Färist', $message['user_agent']);
}
}
diff --git a/tests/Monolog/Formatter/MongoDBFormatterTest.php b/tests/Monolog/Formatter/MongoDBFormatterTest.php
index 52e699e..2933497 100644
--- a/tests/Monolog/Formatter/MongoDBFormatterTest.php
+++ b/tests/Monolog/Formatter/MongoDBFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -20,17 +20,17 @@ class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
{
public function setUp()
{
- if (!class_exists('MongoDate')) {
- $this->markTestSkipped('mongo extension not installed');
+ if (!class_exists('MongoDB\BSON\UTCDateTime')) {
+ $this->markTestSkipped('ext-mongodb not installed');
}
}
public function constructArgumentProvider()
{
- return array(
- array(1, true, 1, true),
- array(0, false, 0, false),
- );
+ return [
+ [1, true, 1, true],
+ [0, false, 0, false],
+ ];
}
/**
@@ -56,28 +56,28 @@ class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
public function testSimpleFormat()
{
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(),
+ 'context' => [],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter();
$formattedRecord = $formatter->format($record);
$this->assertCount(7, $formattedRecord);
$this->assertEquals('some log message', $formattedRecord['message']);
- $this->assertEquals(array(), $formattedRecord['context']);
+ $this->assertEquals([], $formattedRecord['context']);
$this->assertEquals(Logger::WARNING, $formattedRecord['level']);
$this->assertEquals(Logger::getLevelName(Logger::WARNING), $formattedRecord['level_name']);
$this->assertEquals('test', $formattedRecord['channel']);
- $this->assertInstanceOf('\MongoDate', $formattedRecord['datetime']);
- $this->assertEquals('0.00000000 1391212800', $formattedRecord['datetime']->__toString());
- $this->assertEquals(array(), $formattedRecord['extra']);
+ $this->assertInstanceOf('MongoDB\BSON\UTCDateTime', $formattedRecord['datetime']);
+ $this->assertEquals('1453410690123', $formattedRecord['datetime']->__toString());
+ $this->assertEquals([], $formattedRecord['extra']);
}
public function testRecursiveFormat()
@@ -86,34 +86,35 @@ class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
$someObject->foo = 'something';
$someObject->bar = 'stuff';
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(
- 'stuff' => new \DateTime('2014-02-01 02:31:33'),
+ 'context' => [
+ 'stuff' => new \DateTimeImmutable('1969-01-21T21:11:30.123456+00:00'),
'some_object' => $someObject,
'context_string' => 'some string',
'context_int' => 123456,
'except' => new \Exception('exception message', 987),
- ),
+ ],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter();
$formattedRecord = $formatter->format($record);
$this->assertCount(5, $formattedRecord['context']);
- $this->assertInstanceOf('\MongoDate', $formattedRecord['context']['stuff']);
- $this->assertEquals('0.00000000 1391221893', $formattedRecord['context']['stuff']->__toString());
+ $this->assertInstanceOf('MongoDB\BSON\UTCDateTime', $formattedRecord['context']['stuff']);
+ $this->assertEquals('-29731710123', $formattedRecord['context']['stuff']->__toString());
+
$this->assertEquals(
- array(
+ [
'foo' => 'something',
'bar' => 'stuff',
'class' => 'stdClass',
- ),
+ ],
$formattedRecord['context']['some_object']
);
$this->assertEquals('some string', $formattedRecord['context']['context_string']);
@@ -130,75 +131,75 @@ class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatDepthArray()
{
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(
- 'nest2' => array(
+ 'context' => [
+ 'nest2' => [
'property' => 'anything',
- 'nest3' => array(
+ 'nest3' => [
'nest4' => 'value',
'property' => 'nothing',
- ),
- ),
- ),
+ ],
+ ],
+ ],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter(2);
$formattedResult = $formatter->format($record);
$this->assertEquals(
- array(
- 'nest2' => array(
+ [
+ 'nest2' => [
'property' => 'anything',
'nest3' => '[...]',
- ),
- ),
+ ],
+ ],
$formattedResult['context']
);
}
public function testFormatDepthArrayInfiniteNesting()
{
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(
- 'nest2' => array(
+ 'context' => [
+ 'nest2' => [
'property' => 'something',
- 'nest3' => array(
+ 'nest3' => [
'property' => 'anything',
- 'nest4' => array(
+ 'nest4' => [
'property' => 'nothing',
- ),
- ),
- ),
- ),
+ ],
+ ],
+ ],
+ ],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter(0);
$formattedResult = $formatter->format($record);
$this->assertEquals(
- array(
- 'nest2' => array(
+ [
+ 'nest2' => [
'property' => 'something',
- 'nest3' => array(
+ 'nest3' => [
'property' => 'anything',
- 'nest4' => array(
+ 'nest4' => [
'property' => 'nothing',
- ),
- ),
- ),
- ),
+ ],
+ ],
+ ],
+ ],
$formattedResult['context']
);
}
@@ -211,46 +212,46 @@ class MongoDBFormatterTest extends \PHPUnit_Framework_TestCase
$someObject->nest3->property = 'nothing';
$someObject->nest3->nest4 = 'invisible';
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(
+ 'context' => [
'nest2' => $someObject,
- ),
+ ],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter(2, true);
$formattedResult = $formatter->format($record);
$this->assertEquals(
- array(
- 'nest2' => array(
+ [
+ 'nest2' => [
'property' => 'anything',
'nest3' => '[...]',
'class' => 'stdClass',
- ),
- ),
+ ],
+ ],
$formattedResult['context']
);
}
public function testFormatDepthException()
{
- $record = array(
+ $record = [
'message' => 'some log message',
- 'context' => array(
+ 'context' => [
'nest2' => new \Exception('exception message', 987),
- ),
+ ],
'level' => Logger::WARNING,
'level_name' => Logger::getLevelName(Logger::WARNING),
'channel' => 'test',
- 'datetime' => new \DateTime('2014-02-01 00:00:00'),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable('2016-01-21T21:11:30.123456+00:00'),
+ 'extra' => [],
+ ];
$formatter = new MongoDBFormatter(2, false);
$formattedRecord = $formatter->format($record);
diff --git a/tests/Monolog/Formatter/NormalizerFormatterTest.php b/tests/Monolog/Formatter/NormalizerFormatterTest.php
index 83adb7e..2b2d7c7 100644
--- a/tests/Monolog/Formatter/NormalizerFormatterTest.php
+++ b/tests/Monolog/Formatter/NormalizerFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -26,40 +26,40 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormat()
{
$formatter = new NormalizerFormatter('Y-m-d');
- $formatted = $formatter->format(array(
+ $formatted = $formatter->format([
'level_name' => 'ERROR',
'channel' => 'meh',
'message' => 'foo',
- 'datetime' => new \DateTime,
- 'extra' => array('foo' => new TestFooNorm, 'bar' => new TestBarNorm, 'baz' => array(), 'res' => fopen('php://memory', 'rb')),
- 'context' => array(
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => ['foo' => new TestFooNorm, 'bar' => new TestBarNorm, 'baz' => [], 'res' => fopen('php://memory', 'rb')],
+ 'context' => [
'foo' => 'bar',
'baz' => 'qux',
'inf' => INF,
'-inf' => -INF,
'nan' => acos(4),
- ),
- ));
+ ],
+ ]);
- $this->assertEquals(array(
+ $this->assertEquals([
'level_name' => 'ERROR',
'channel' => 'meh',
'message' => 'foo',
'datetime' => date('Y-m-d'),
- 'extra' => array(
- 'foo' => '[object] (Monolog\\Formatter\\TestFooNorm: {"foo":"foo"})',
- 'bar' => '[object] (Monolog\\Formatter\\TestBarNorm: bar)',
- 'baz' => array(),
- 'res' => '[resource] (stream)',
- ),
- 'context' => array(
+ 'extra' => [
+ 'foo' => ['Monolog\\Formatter\\TestFooNorm' => ["foo" => "fooValue"]],
+ 'bar' => ['Monolog\\Formatter\\TestBarNorm' => 'bar'],
+ 'baz' => [],
+ 'res' => '[resource(stream)]',
+ ],
+ 'context' => [
'foo' => 'bar',
'baz' => 'qux',
'inf' => 'INF',
'-inf' => '-INF',
'nan' => 'NaN',
- ),
- ), $formatted);
+ ],
+ ], $formatted);
}
public function testFormatExceptions()
@@ -67,72 +67,72 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
$formatter = new NormalizerFormatter('Y-m-d');
$e = new \LogicException('bar');
$e2 = new \RuntimeException('foo', 0, $e);
- $formatted = $formatter->format(array(
+ $formatted = $formatter->format([
'exception' => $e2,
- ));
+ ]);
$this->assertGreaterThan(5, count($formatted['exception']['trace']));
$this->assertTrue(isset($formatted['exception']['previous']));
unset($formatted['exception']['trace'], $formatted['exception']['previous']);
- $this->assertEquals(array(
- 'exception' => array(
+ $this->assertEquals([
+ 'exception' => [
'class' => get_class($e2),
'message' => $e2->getMessage(),
'code' => $e2->getCode(),
'file' => $e2->getFile().':'.$e2->getLine(),
- ),
- ), $formatted);
+ ],
+ ], $formatted);
}
public function testFormatToStringExceptionHandle()
{
$formatter = new NormalizerFormatter('Y-m-d');
$this->setExpectedException('RuntimeException', 'Could not convert to string');
- $formatter->format(array(
+ $formatter->format([
'myObject' => new TestToStringError(),
- ));
+ ]);
}
public function testBatchFormat()
{
$formatter = new NormalizerFormatter('Y-m-d');
- $formatted = $formatter->formatBatch(array(
- array(
+ $formatted = $formatter->formatBatch([
+ [
'level_name' => 'CRITICAL',
'channel' => 'test',
'message' => 'bar',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- array(
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ ],
+ [
'level_name' => 'WARNING',
'channel' => 'log',
'message' => 'foo',
- 'context' => array(),
- 'datetime' => new \DateTime,
- 'extra' => array(),
- ),
- ));
- $this->assertEquals(array(
- array(
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable,
+ 'extra' => [],
+ ],
+ ]);
+ $this->assertEquals([
+ [
'level_name' => 'CRITICAL',
'channel' => 'test',
'message' => 'bar',
- 'context' => array(),
+ 'context' => [],
'datetime' => date('Y-m-d'),
- 'extra' => array(),
- ),
- array(
+ 'extra' => [],
+ ],
+ [
'level_name' => 'WARNING',
'channel' => 'log',
'message' => 'foo',
- 'context' => array(),
+ 'context' => [],
'datetime' => date('Y-m-d'),
- 'extra' => array(),
- ),
- ), $formatted);
+ 'extra' => [],
+ ],
+ ], $formatted);
}
/**
@@ -159,11 +159,20 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
$formatter = new NormalizerFormatter();
$reflMethod = new \ReflectionMethod($formatter, 'toJson');
$reflMethod->setAccessible(true);
- $res = $reflMethod->invoke($formatter, array($foo, $bar), true);
+ $res = $reflMethod->invoke($formatter, [$foo, $bar], true);
restore_error_handler();
- $this->assertEquals(@json_encode(array($foo, $bar)), $res);
+ $this->assertEquals(@json_encode([$foo, $bar]), $res);
+ }
+
+ public function testCanNormalizeReferences()
+ {
+ $formatter = new NormalizerFormatter();
+ $x = ['foo' => 'bar'];
+ $y = ['x' => &$x];
+ $x['y'] = &$y;
+ $formatter->format($y);
}
public function testIgnoresInvalidTypes()
@@ -183,11 +192,11 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
$formatter = new NormalizerFormatter();
$reflMethod = new \ReflectionMethod($formatter, 'toJson');
$reflMethod->setAccessible(true);
- $res = $reflMethod->invoke($formatter, array($resource), true);
+ $res = $reflMethod->invoke($formatter, [$resource], true);
restore_error_handler();
- $this->assertEquals(@json_encode(array($resource)), $res);
+ $this->assertEquals(@json_encode([$resource]), $res);
}
/**
@@ -195,10 +204,6 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
*/
public function testThrowsOnInvalidEncoding()
{
- if (version_compare(PHP_VERSION, '5.5.0', '<')) {
- // Ignore the warning that will be emitted by PHP <5.5.0
- \PHPUnit_Framework_Error_Warning::$enabled = false;
- }
$formatter = new NormalizerFormatter();
$reflMethod = new \ReflectionMethod($formatter, 'toJson');
$reflMethod->setAccessible(true);
@@ -206,31 +211,18 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
// send an invalid unicode sequence as a object that can't be cleaned
$record = new \stdClass;
$record->message = "\xB1\x31";
- $res = $reflMethod->invoke($formatter, $record);
- if (PHP_VERSION_ID < 50500 && $res === '{"message":null}') {
- throw new \RuntimeException('PHP 5.3/5.4 throw a warning and null the value instead of returning false entirely');
- }
+ $reflMethod->invoke($formatter, $record);
}
public function testConvertsInvalidEncodingAsLatin9()
{
- if (version_compare(PHP_VERSION, '5.5.0', '<')) {
- // Ignore the warning that will be emitted by PHP <5.5.0
- \PHPUnit_Framework_Error_Warning::$enabled = false;
- }
$formatter = new NormalizerFormatter();
$reflMethod = new \ReflectionMethod($formatter, 'toJson');
$reflMethod->setAccessible(true);
- $res = $reflMethod->invoke($formatter, array('message' => "\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE"));
+ $res = $reflMethod->invoke($formatter, ['message' => "\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE"]);
- if (version_compare(PHP_VERSION, '5.5.0', '>=')) {
- $this->assertSame('{"message":"€ŠšŽžŒœŸ"}', $res);
- } else {
- // PHP <5.5 does not return false for an element encoding failure,
- // instead it emits a warning (possibly) and nulls the value.
- $this->assertSame('{"message":null}', $res);
- }
+ $this->assertSame('{"message":"€ŠšŽžŒœŸ"}', $res);
}
/**
@@ -250,19 +242,19 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
{
$obj = new \stdClass;
- return array(
- 'null' => array(null, null),
- 'int' => array(123, 123),
- 'float' => array(123.45, 123.45),
- 'bool false' => array(false, false),
- 'bool true' => array(true, true),
- 'ascii string' => array('abcdef', 'abcdef'),
- 'latin9 string' => array("\xB1\x31\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE\xFF", '±1€ŠšŽžŒœŸÿ'),
- 'unicode string' => array('¤¦¨´¸¼½¾€ŠšŽžŒœŸ', '¤¦¨´¸¼½¾€ŠšŽžŒœŸ'),
- 'empty array' => array(array(), array()),
- 'array' => array(array('abcdef'), array('abcdef')),
- 'object' => array($obj, $obj),
- );
+ return [
+ 'null' => [null, null],
+ 'int' => [123, 123],
+ 'float' => [123.45, 123.45],
+ 'bool false' => [false, false],
+ 'bool true' => [true, true],
+ 'ascii string' => ['abcdef', 'abcdef'],
+ 'latin9 string' => ["\xB1\x31\xA4\xA6\xA8\xB4\xB8\xBC\xBD\xBE\xFF", '±1€ŠšŽžŒœŸÿ'],
+ 'unicode string' => ['¤¦¨´¸¼½¾€ŠšŽžŒœŸ', '¤¦¨´¸¼½¾€ŠšŽžŒœŸ'],
+ 'empty array' => [[], []],
+ 'array' => [['abcdef'], ['abcdef']],
+ 'object' => [$obj, $obj],
+ ];
}
/**
@@ -282,26 +274,22 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
public function providesHandleJsonErrorFailure()
{
- return array(
- 'depth' => array(JSON_ERROR_DEPTH, 'Maximum stack depth exceeded'),
- 'state' => array(JSON_ERROR_STATE_MISMATCH, 'Underflow or the modes mismatch'),
- 'ctrl' => array(JSON_ERROR_CTRL_CHAR, 'Unexpected control character found'),
- 'default' => array(-1, 'Unknown error'),
- );
+ return [
+ 'depth' => [JSON_ERROR_DEPTH, 'Maximum stack depth exceeded'],
+ 'state' => [JSON_ERROR_STATE_MISMATCH, 'Underflow or the modes mismatch'],
+ 'ctrl' => [JSON_ERROR_CTRL_CHAR, 'Unexpected control character found'],
+ 'default' => [-1, 'Unknown error'],
+ ];
}
+ // This happens i.e. in React promises or Guzzle streams where stream wrappers are registered
+ // and no file or line are included in the trace because it's treated as internal function
public function testExceptionTraceWithArgs()
{
if (defined('HHVM_VERSION')) {
$this->markTestSkipped('Not supported in HHVM since it detects errors differently');
}
- // This happens i.e. in React promises or Guzzle streams where stream wrappers are registered
- // and no file or line are included in the trace because it's treated as internal function
- set_error_handler(function ($errno, $errstr, $errfile, $errline) {
- throw new \ErrorException($errstr, 0, $errno, $errfile, $errline);
- });
-
try {
// This will contain $resource and $wrappedResource as arguments in the trace item
$resource = fopen('php://memory', 'rw+');
@@ -309,25 +297,24 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
$wrappedResource = new TestFooNorm;
$wrappedResource->foo = $resource;
// Just do something stupid with a resource/wrapped resource as argument
- array_keys($wrappedResource);
- } catch (\Exception $e) {
- restore_error_handler();
+ $arr = [$wrappedResource, $resource];
+ // modifying the array inside throws a "usort(): Array was modified by the user comparison function"
+ usort($arr, function ($a, $b) {
+ throw new \ErrorException('Foo');
+ });
+ } catch (\Throwable $e) {
}
$formatter = new NormalizerFormatter();
- $record = array('context' => array('exception' => $e));
+ $record = ['context' => ['exception' => $e]];
$result = $formatter->format($record);
$this->assertRegExp(
- '%"resource":"\[resource\] \(stream\)"%',
+ '%\[resource\(stream\)\]%',
$result['context']['exception']['trace'][0]
);
- if (version_compare(PHP_VERSION, '5.5.0', '>=')) {
- $pattern = '%"wrappedResource":"\[object\] \(Monolog\\\\\\\\Formatter\\\\\\\\TestFooNorm: \)"%';
- } else {
- $pattern = '%\\\\"foo\\\\":null%';
- }
+ $pattern = '%\[\{"Monolog\\\\\\\\Formatter\\\\\\\\TestFooNorm":"JSON_ERROR"\}%';
// Tests that the wrapped resource is ignored while encoding, only works for PHP <= 5.4
$this->assertRegExp(
@@ -339,7 +326,7 @@ class NormalizerFormatterTest extends \PHPUnit_Framework_TestCase
class TestFooNorm
{
- public $foo = 'foo';
+ public $foo = 'fooValue';
}
class TestBarNorm
diff --git a/tests/Monolog/Formatter/ScalarFormatterTest.php b/tests/Monolog/Formatter/ScalarFormatterTest.php
index b1c8fd4..ea488e5 100644
--- a/tests/Monolog/Formatter/ScalarFormatterTest.php
+++ b/tests/Monolog/Formatter/ScalarFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,6 +11,8 @@
namespace Monolog\Formatter;
+use Monolog\DateTimeImmutable;
+
class ScalarFormatterTest extends \PHPUnit_Framework_TestCase
{
private $formatter;
@@ -22,7 +24,7 @@ class ScalarFormatterTest extends \PHPUnit_Framework_TestCase
public function buildTrace(\Exception $e)
{
- $data = array();
+ $data = [];
$trace = $e->getTrace();
foreach ($trace as $frame) {
if (isset($frame['file'])) {
@@ -37,74 +39,70 @@ class ScalarFormatterTest extends \PHPUnit_Framework_TestCase
public function encodeJson($data)
{
- if (version_compare(PHP_VERSION, '5.4.0', '>=')) {
- return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
- }
-
- return json_encode($data);
+ return json_encode($data, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
}
public function testFormat()
{
$exception = new \Exception('foo');
- $formatted = $this->formatter->format(array(
+ $formatted = $this->formatter->format([
'foo' => 'string',
'bar' => 1,
'baz' => false,
- 'bam' => array(1, 2, 3),
- 'bat' => array('foo' => 'bar'),
- 'bap' => \DateTime::createFromFormat(\DateTime::ISO8601, '1970-01-01T00:00:00+0000'),
+ 'bam' => [1, 2, 3],
+ 'bat' => ['foo' => 'bar'],
+ 'bap' => $dt = new DateTimeImmutable(true),
'ban' => $exception,
- ));
+ ]);
- $this->assertSame(array(
+ $this->assertSame([
'foo' => 'string',
'bar' => 1,
'baz' => false,
- 'bam' => $this->encodeJson(array(1, 2, 3)),
- 'bat' => $this->encodeJson(array('foo' => 'bar')),
- 'bap' => '1970-01-01 00:00:00',
- 'ban' => $this->encodeJson(array(
+ 'bam' => $this->encodeJson([1, 2, 3]),
+ 'bat' => $this->encodeJson(['foo' => 'bar']),
+ 'bap' => (string) $dt,
+ 'ban' => $this->encodeJson([
'class' => get_class($exception),
'message' => $exception->getMessage(),
'code' => $exception->getCode(),
'file' => $exception->getFile() . ':' . $exception->getLine(),
'trace' => $this->buildTrace($exception),
- )),
- ), $formatted);
+ ]),
+ ], $formatted);
}
public function testFormatWithErrorContext()
{
- $context = array('file' => 'foo', 'line' => 1);
- $formatted = $this->formatter->format(array(
+ $context = ['file' => 'foo', 'line' => 1];
+ $formatted = $this->formatter->format([
'context' => $context,
- ));
+ ]);
- $this->assertSame(array(
+ $this->assertSame([
'context' => $this->encodeJson($context),
- ), $formatted);
+ ], $formatted);
}
public function testFormatWithExceptionContext()
{
$exception = new \Exception('foo');
- $formatted = $this->formatter->format(array(
- 'context' => array(
+ $formatted = $this->formatter->format([
+ 'context' => [
'exception' => $exception,
- ),
- ));
+ ],
+ ]);
- $this->assertSame(array(
- 'context' => $this->encodeJson(array(
- 'exception' => array(
+ $this->assertSame([
+ 'context' => $this->encodeJson([
+ 'exception' => [
'class' => get_class($exception),
'message' => $exception->getMessage(),
'code' => $exception->getCode(),
'file' => $exception->getFile() . ':' . $exception->getLine(),
'trace' => $this->buildTrace($exception),
- ),
- )),
- ), $formatted);
+ ],
+ ]),
+ ], $formatted);
}
}
diff --git a/tests/Monolog/Formatter/WildfireFormatterTest.php b/tests/Monolog/Formatter/WildfireFormatterTest.php
index 52f15a3..40ee82c 100644
--- a/tests/Monolog/Formatter/WildfireFormatterTest.php
+++ b/tests/Monolog/Formatter/WildfireFormatterTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -21,15 +21,15 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
public function testDefaultFormat()
{
$wildfire = new WildfireFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1'),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['ip' => '127.0.0.1'],
'message' => 'log',
- );
+ ];
$message = $wildfire->format($record);
@@ -46,15 +46,15 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithFileAndLine()
{
$wildfire = new WildfireFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('from' => 'logger'),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array('ip' => '127.0.0.1', 'file' => 'test', 'line' => 14),
+ 'context' => ['from' => 'logger'],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => ['ip' => '127.0.0.1', 'file' => 'test', 'line' => 14],
'message' => 'log',
- );
+ ];
$message = $wildfire->format($record);
@@ -71,15 +71,15 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
public function testFormatWithoutContext()
{
$wildfire = new WildfireFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$message = $wildfire->format($record);
@@ -96,17 +96,17 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
public function testBatchFormatThrowException()
{
$wildfire = new WildfireFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array(),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
- $wildfire->formatBatch(array($record));
+ $wildfire->formatBatch([$record]);
}
/**
@@ -115,22 +115,22 @@ class WildfireFormatterTest extends \PHPUnit_Framework_TestCase
public function testTableFormat()
{
$wildfire = new WildfireFormatter();
- $record = array(
+ $record = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'table-channel',
- 'context' => array(
- WildfireFormatter::TABLE => array(
- array('col1', 'col2', 'col3'),
- array('val1', 'val2', 'val3'),
- array('foo1', 'foo2', 'foo3'),
- array('bar1', 'bar2', 'bar3'),
- ),
- ),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => [
+ WildfireFormatter::TABLE => [
+ ['col1', 'col2', 'col3'],
+ ['val1', 'val2', 'val3'],
+ ['foo1', 'foo2', 'foo3'],
+ ['bar1', 'bar2', 'bar3'],
+ ],
+ ],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'table-message',
- );
+ ];
$message = $wildfire->format($record);
diff --git a/tests/Monolog/Handler/AbstractHandlerTest.php b/tests/Monolog/Handler/AbstractHandlerTest.php
index 568eb9d..b7451a7 100644
--- a/tests/Monolog/Handler/AbstractHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,10 +11,8 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
-use Monolog\Formatter\LineFormatter;
-use Monolog\Processor\WebProcessor;
class AbstractHandlerTest extends TestCase
{
@@ -24,21 +22,17 @@ class AbstractHandlerTest extends TestCase
* @covers Monolog\Handler\AbstractHandler::setLevel
* @covers Monolog\Handler\AbstractHandler::getBubble
* @covers Monolog\Handler\AbstractHandler::setBubble
- * @covers Monolog\Handler\AbstractHandler::getFormatter
- * @covers Monolog\Handler\AbstractHandler::setFormatter
*/
public function testConstructAndGetSet()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', [Logger::WARNING, false]);
$this->assertEquals(Logger::WARNING, $handler->getLevel());
$this->assertEquals(false, $handler->getBubble());
$handler->setLevel(Logger::ERROR);
$handler->setBubble(true);
- $handler->setFormatter($formatter = new LineFormatter);
$this->assertEquals(Logger::ERROR, $handler->getLevel());
$this->assertEquals(true, $handler->getBubble());
- $this->assertSame($formatter, $handler->getFormatter());
}
/**
@@ -49,7 +43,7 @@ class AbstractHandlerTest extends TestCase
$handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
$handler->expects($this->exactly(2))
->method('handle');
- $handler->handleBatch(array($this->getRecord(), $this->getRecord()));
+ $handler->handleBatch([$this->getRecord(), $this->getRecord()]);
}
/**
@@ -57,7 +51,7 @@ class AbstractHandlerTest extends TestCase
*/
public function testIsHandling()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array(Logger::WARNING, false));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', [Logger::WARNING, false]);
$this->assertTrue($handler->isHandling($this->getRecord()));
$this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
}
@@ -67,49 +61,9 @@ class AbstractHandlerTest extends TestCase
*/
public function testHandlesPsrStyleLevels()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', array('warning', false));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler', ['warning', false]);
$this->assertFalse($handler->isHandling($this->getRecord(Logger::DEBUG)));
$handler->setLevel('debug');
$this->assertTrue($handler->isHandling($this->getRecord(Logger::DEBUG)));
}
-
- /**
- * @covers Monolog\Handler\AbstractHandler::getFormatter
- * @covers Monolog\Handler\AbstractHandler::getDefaultFormatter
- */
- public function testGetFormatterInitializesDefault()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
- $this->assertInstanceOf('Monolog\Formatter\LineFormatter', $handler->getFormatter());
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::pushProcessor
- * @covers Monolog\Handler\AbstractHandler::popProcessor
- * @expectedException LogicException
- */
- public function testPushPopProcessor()
- {
- $logger = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
- $processor1 = new WebProcessor;
- $processor2 = new WebProcessor;
-
- $logger->pushProcessor($processor1);
- $logger->pushProcessor($processor2);
-
- $this->assertEquals($processor2, $logger->popProcessor());
- $this->assertEquals($processor1, $logger->popProcessor());
- $logger->popProcessor();
- }
-
- /**
- * @covers Monolog\Handler\AbstractHandler::pushProcessor
- * @expectedException InvalidArgumentException
- */
- public function testPushProcessorWithNonCallable()
- {
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractHandler');
-
- $handler->pushProcessor(new \stdClass());
- }
}
diff --git a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
index 24d4f63..58d0920 100644
--- a/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
+++ b/tests/Monolog/Handler/AbstractProcessingHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,18 +11,30 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Processor\WebProcessor;
+use Monolog\Formatter\LineFormatter;
class AbstractProcessingHandlerTest extends TestCase
{
/**
+ * @covers Monolog\Handler\FormattableHandlerTrait::getFormatter
+ * @covers Monolog\Handler\FormattableHandlerTrait::setFormatter
+ */
+ public function testConstructAndGetSet()
+ {
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, false]);
+ $handler->setFormatter($formatter = new LineFormatter);
+ $this->assertSame($formatter, $handler->getFormatter());
+ }
+
+ /**
* @covers Monolog\Handler\AbstractProcessingHandler::handle
*/
public function testHandleLowerLevelMessage()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, true));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, true]);
$this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
}
@@ -31,7 +43,7 @@ class AbstractProcessingHandlerTest extends TestCase
*/
public function testHandleBubbling()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, true));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::DEBUG, true]);
$this->assertFalse($handler->handle($this->getRecord()));
}
@@ -40,7 +52,7 @@ class AbstractProcessingHandlerTest extends TestCase
*/
public function testHandleNotBubbling()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::DEBUG, false));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::DEBUG, false]);
$this->assertTrue($handler->handle($this->getRecord()));
}
@@ -49,7 +61,7 @@ class AbstractProcessingHandlerTest extends TestCase
*/
public function testHandleIsFalseWhenNotHandled()
{
- $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', array(Logger::WARNING, false));
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler', [Logger::WARNING, false]);
$this->assertTrue($handler->handle($this->getRecord()));
$this->assertFalse($handler->handle($this->getRecord(Logger::DEBUG)));
}
@@ -60,13 +72,13 @@ class AbstractProcessingHandlerTest extends TestCase
public function testProcessRecord()
{
$handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler');
- $handler->pushProcessor(new WebProcessor(array(
+ $handler->pushProcessor(new WebProcessor([
'REQUEST_URI' => '',
'REQUEST_METHOD' => '',
'REMOTE_ADDR' => '',
'SERVER_NAME' => '',
'UNIQUE_ID' => '',
- )));
+ ]));
$handledRecord = null;
$handler->expects($this->once())
->method('write')
@@ -77,4 +89,44 @@ class AbstractProcessingHandlerTest extends TestCase
$handler->handle($this->getRecord());
$this->assertEquals(6, count($handledRecord['extra']));
}
+
+ /**
+ * @covers Monolog\Handler\ProcessableHandlerTrait::pushProcessor
+ * @covers Monolog\Handler\ProcessableHandlerTrait::popProcessor
+ * @expectedException LogicException
+ */
+ public function testPushPopProcessor()
+ {
+ $logger = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler');
+ $processor1 = new WebProcessor;
+ $processor2 = new WebProcessor;
+
+ $logger->pushProcessor($processor1);
+ $logger->pushProcessor($processor2);
+
+ $this->assertEquals($processor2, $logger->popProcessor());
+ $this->assertEquals($processor1, $logger->popProcessor());
+ $logger->popProcessor();
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessableHandlerTrait::pushProcessor
+ * @expectedException TypeError
+ */
+ public function testPushProcessorWithNonCallable()
+ {
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler');
+
+ $handler->pushProcessor(new \stdClass());
+ }
+
+ /**
+ * @covers Monolog\Handler\FormattableHandlerTrait::getFormatter
+ * @covers Monolog\Handler\FormattableHandlerTrait::getDefaultFormatter
+ */
+ public function testGetFormatterInitializesDefault()
+ {
+ $handler = $this->getMockForAbstractClass('Monolog\Handler\AbstractProcessingHandler');
+ $this->assertInstanceOf(LineFormatter::class, $handler->getFormatter());
+ }
}
diff --git a/tests/Monolog/Handler/AmqpHandlerTest.php b/tests/Monolog/Handler/AmqpHandlerTest.php
index 8e0e723..414e64b 100644
--- a/tests/Monolog/Handler/AmqpHandlerTest.php
+++ b/tests/Monolog/Handler/AmqpHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use PhpAmqpLib\Message\AMQPMessage;
use PhpAmqpLib\Connection\AMQPConnection;
@@ -31,43 +31,39 @@ class AmqpHandlerTest extends TestCase
$this->markTestSkipped("Please update AMQP to version >= 1.0");
}
- $messages = array();
+ $messages = [];
- $exchange = $this->getMock('AMQPExchange', array('publish', 'setName'), array(), '', false);
- $exchange->expects($this->once())
- ->method('setName')
- ->with('log')
- ;
+ $exchange = $this->getMock('AMQPExchange', ['publish', 'setName'], [], '', false);
$exchange->expects($this->any())
->method('publish')
- ->will($this->returnCallback(function ($message, $routing_key, $flags = 0, $attributes = array()) use (&$messages) {
- $messages[] = array($message, $routing_key, $flags, $attributes);
+ ->will($this->returnCallback(function ($message, $routing_key, $flags = 0, $attributes = []) use (&$messages) {
+ $messages[] = [$message, $routing_key, $flags, $attributes];
}))
;
- $handler = new AmqpHandler($exchange, 'log');
+ $handler = new AmqpHandler($exchange);
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
- $expected = array(
- array(
+ $expected = [
+ [
'message' => 'test',
- 'context' => array(
- 'data' => array(),
+ 'context' => [
+ 'data' => [],
'foo' => 34,
- ),
+ ],
'level' => 300,
'level_name' => 'WARNING',
'channel' => 'test',
- 'extra' => array(),
- ),
- 'warn.test',
+ 'extra' => [],
+ ],
+ 'warning.test',
0,
- array(
+ [
'delivery_mode' => 2,
'content_type' => 'application/json',
- ),
- );
+ ],
+ ];
$handler->handle($record);
@@ -83,43 +79,43 @@ class AmqpHandlerTest extends TestCase
$this->markTestSkipped("php-amqplib not installed");
}
- $messages = array();
+ $messages = [];
- $exchange = $this->getMock('PhpAmqpLib\Channel\AMQPChannel', array('basic_publish', '__destruct'), array(), '', false);
+ $exchange = $this->getMock('PhpAmqpLib\Channel\AMQPChannel', ['basic_publish', '__destruct'], [], '', false);
$exchange->expects($this->any())
->method('basic_publish')
->will($this->returnCallback(function (AMQPMessage $msg, $exchange = "", $routing_key = "", $mandatory = false, $immediate = false, $ticket = null) use (&$messages) {
- $messages[] = array($msg, $exchange, $routing_key, $mandatory, $immediate, $ticket);
+ $messages[] = [$msg, $exchange, $routing_key, $mandatory, $immediate, $ticket];
}))
;
$handler = new AmqpHandler($exchange, 'log');
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
- $expected = array(
- array(
+ $expected = [
+ [
'message' => 'test',
- 'context' => array(
- 'data' => array(),
+ 'context' => [
+ 'data' => [],
'foo' => 34,
- ),
+ ],
'level' => 300,
'level_name' => 'WARNING',
'channel' => 'test',
- 'extra' => array(),
- ),
+ 'extra' => [],
+ ],
'log',
- 'warn.test',
+ 'warning.test',
false,
false,
null,
- array(
+ [
'delivery_mode' => 2,
'content_type' => 'application/json',
- ),
- );
+ ],
+ ];
$handler->handle($record);
diff --git a/tests/Monolog/Handler/BrowserConsoleHandlerTest.php b/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
index ffb1d74..048ee1c 100644
--- a/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
+++ b/tests/Monolog/Handler/BrowserConsoleHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -89,7 +89,7 @@ EOF;
$handler = new BrowserConsoleHandler();
$handler->setFormatter($this->getIdentityFormatter());
- $handler->handle($this->getRecord(Logger::DEBUG, 'test', array('foo' => 'bar')));
+ $handler->handle($this->getRecord(Logger::DEBUG, 'test', ['foo' => 'bar']));
$expected = <<<EOF
(function (c) {if (c && c.groupCollapsed) {
diff --git a/tests/Monolog/Handler/BufferHandlerTest.php b/tests/Monolog/Handler/BufferHandlerTest.php
index da8b3c3..f1338b4 100644
--- a/tests/Monolog/Handler/BufferHandlerTest.php
+++ b/tests/Monolog/Handler/BufferHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class BufferHandlerTest extends TestCase
@@ -47,7 +47,7 @@ class BufferHandlerTest extends TestCase
$handler->handle($this->getRecord(Logger::WARNING));
$handler->handle($this->getRecord(Logger::DEBUG));
$this->shutdownCheckHandler = $test;
- register_shutdown_function(array($this, 'checkPropagation'));
+ register_shutdown_function([$this, 'checkPropagation']);
}
public function checkPropagation()
diff --git a/tests/Monolog/Handler/ChromePHPHandlerTest.php b/tests/Monolog/Handler/ChromePHPHandlerTest.php
index ef3cd1c..c79818c 100644
--- a/tests/Monolog/Handler/ChromePHPHandlerTest.php
+++ b/tests/Monolog/Handler/ChromePHPHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -32,17 +32,17 @@ class ChromePHPHandlerTest extends TestCase
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::WARNING));
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
+ $expected = [
+ 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([
'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
+ 'columns' => ['label', 'log', 'backtrace', 'type'],
+ 'rows' => [
'test',
'test',
- ),
+ ],
'request_uri' => '',
- )))),
- );
+ ]))),
+ ];
$this->assertEquals($expected, $handler->getHeaders());
}
@@ -56,33 +56,33 @@ class ChromePHPHandlerTest extends TestCase
// overflow chrome headers limit
$handler->handle($this->getRecord(Logger::WARNING, str_repeat('a', 100 * 1024)));
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
+ $expected = [
+ 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([
'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
- array(
+ 'columns' => ['label', 'log', 'backtrace', 'type'],
+ 'rows' => [
+ [
'test',
'test',
'unknown',
'log',
- ),
- array(
+ ],
+ [
'test',
str_repeat('a', 150 * 1024),
'unknown',
'warn',
- ),
- array(
+ ],
+ [
'monolog',
'Incomplete logs, chrome header size limit reached',
'unknown',
'warn',
- ),
- ),
+ ],
+ ],
'request_uri' => '',
- )))),
- );
+ ]))),
+ ];
$this->assertEquals($expected, $handler->getHeaders());
}
@@ -99,19 +99,19 @@ class ChromePHPHandlerTest extends TestCase
$handler2->handle($this->getRecord(Logger::DEBUG));
$handler2->handle($this->getRecord(Logger::WARNING));
- $expected = array(
- 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode(array(
+ $expected = [
+ 'X-ChromeLogger-Data' => base64_encode(utf8_encode(json_encode([
'version' => ChromePHPHandler::VERSION,
- 'columns' => array('label', 'log', 'backtrace', 'type'),
- 'rows' => array(
+ 'columns' => ['label', 'log', 'backtrace', 'type'],
+ 'rows' => [
'test',
'test',
'test',
'test',
- ),
+ ],
'request_uri' => '',
- )))),
- );
+ ]))),
+ ];
$this->assertEquals($expected, $handler2->getHeaders());
}
@@ -119,14 +119,14 @@ class ChromePHPHandlerTest extends TestCase
class TestChromePHPHandler extends ChromePHPHandler
{
- protected $headers = array();
+ protected $headers = [];
public static function reset()
{
self::$initialized = false;
self::$overflowed = false;
self::$sendHeaders = true;
- self::$json['rows'] = array();
+ self::$json['rows'] = [];
}
protected function sendHeader($header, $content)
diff --git a/tests/Monolog/Handler/CouchDBHandlerTest.php b/tests/Monolog/Handler/CouchDBHandlerTest.php
index 9fc4b38..f89a130 100644
--- a/tests/Monolog/Handler/CouchDBHandlerTest.php
+++ b/tests/Monolog/Handler/CouchDBHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,14 +11,14 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class CouchDBHandlerTest extends TestCase
{
public function testHandle()
{
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
$handler = new CouchDBHandler();
diff --git a/tests/Monolog/Handler/DeduplicationHandlerTest.php b/tests/Monolog/Handler/DeduplicationHandlerTest.php
index e2aff86..491fd85 100644
--- a/tests/Monolog/Handler/DeduplicationHandlerTest.php
+++ b/tests/Monolog/Handler/DeduplicationHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class DeduplicationHandlerTest extends TestCase
@@ -88,10 +88,10 @@ class DeduplicationHandlerTest extends TestCase
$handler = new DeduplicationHandler($test, sys_get_temp_dir().'/monolog_dedup.log', 0);
$record = $this->getRecord(Logger::ERROR);
- $record['datetime']->modify('+62seconds');
+ $record['datetime'] = $record['datetime']->modify('+62seconds');
$handler->handle($record);
$record = $this->getRecord(Logger::CRITICAL);
- $record['datetime']->modify('+62seconds');
+ $record['datetime'] = $record['datetime']->modify('+62seconds');
$handler->handle($record);
$handler->flush();
@@ -115,13 +115,13 @@ class DeduplicationHandlerTest extends TestCase
// handle two records from yesterday, and one recent
$record = $this->getRecord(Logger::ERROR);
- $record['datetime']->modify('-1day -10seconds');
+ $record['datetime'] = $record['datetime']->modify('-1day -10seconds');
$handler->handle($record);
$record2 = $this->getRecord(Logger::CRITICAL);
- $record2['datetime']->modify('-1day -10seconds');
+ $record2['datetime'] = $record2['datetime']->modify('-1day -10seconds');
$handler->handle($record2);
$record3 = $this->getRecord(Logger::CRITICAL);
- $record3['datetime']->modify('-30seconds');
+ $record3['datetime'] = $record3['datetime']->modify('-30seconds');
$handler->handle($record3);
// log is written as none of them are duplicate
diff --git a/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php b/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
index d67da90..f72f323 100644
--- a/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
+++ b/tests/Monolog/Handler/DoctrineCouchDBHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class DoctrineCouchDBHandlerTest extends TestCase
@@ -26,21 +26,21 @@ class DoctrineCouchDBHandlerTest extends TestCase
public function testHandle()
{
$client = $this->getMockBuilder('Doctrine\\CouchDB\\CouchDBClient')
- ->setMethods(array('postDocument'))
+ ->setMethods(['postDocument'])
->disableOriginalConstructor()
->getMock();
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
- $expected = array(
+ $expected = [
'message' => 'test',
- 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
+ 'context' => ['data' => ['stdClass' => []], 'foo' => 34],
'level' => Logger::WARNING,
'level_name' => 'WARNING',
'channel' => 'test',
- 'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
- 'extra' => array(),
- );
+ 'datetime' => (string) $record['datetime'],
+ 'extra' => [],
+ ];
$client->expects($this->once())
->method('postDocument')
diff --git a/tests/Monolog/Handler/DynamoDbHandlerTest.php b/tests/Monolog/Handler/DynamoDbHandlerTest.php
index f3a6968..652dc96 100644
--- a/tests/Monolog/Handler/DynamoDbHandlerTest.php
+++ b/tests/Monolog/Handler/DynamoDbHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class DynamoDbHandlerTest extends TestCase
{
@@ -24,7 +24,7 @@ class DynamoDbHandlerTest extends TestCase
}
$this->client = $this->getMockBuilder('Aws\DynamoDb\DynamoDbClient')
- ->setMethods(array('formatAttributes', '__call'))
+ ->setMethods(['formatAttributes', '__call'])
->disableOriginalConstructor()->getMock();
}
@@ -48,7 +48,7 @@ class DynamoDbHandlerTest extends TestCase
{
$record = $this->getRecord();
$formatter = $this->getMock('Monolog\Formatter\FormatterInterface');
- $formatted = array('foo' => 1, 'bar' => 2);
+ $formatted = ['foo' => 1, 'bar' => 2];
$handler = new DynamoDbHandler($this->client, 'foo');
$handler->setFormatter($formatter);
@@ -65,10 +65,10 @@ class DynamoDbHandlerTest extends TestCase
$this->client
->expects($this->once())
->method('__call')
- ->with('putItem', array(array(
+ ->with('putItem', [[
'TableName' => 'foo',
'Item' => $formatted,
- )));
+ ]]);
$handler->handle($record);
}
diff --git a/tests/Monolog/Handler/ElasticSearchHandlerTest.php b/tests/Monolog/Handler/ElasticSearchHandlerTest.php
index 1687074..c92a72b 100644
--- a/tests/Monolog/Handler/ElasticSearchHandlerTest.php
+++ b/tests/Monolog/Handler/ElasticSearchHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -13,7 +13,7 @@ namespace Monolog\Handler;
use Monolog\Formatter\ElasticaFormatter;
use Monolog\Formatter\NormalizerFormatter;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Elastica\Client;
use Elastica\Request;
@@ -29,10 +29,10 @@ class ElasticSearchHandlerTest extends TestCase
/**
* @var array Default handler options
*/
- protected $options = array(
+ protected $options = [
'index' => 'my_index',
'type' => 'doc_type',
- );
+ ];
public function setUp()
{
@@ -43,7 +43,7 @@ class ElasticSearchHandlerTest extends TestCase
// base mock Elastica Client object
$this->client = $this->getMockBuilder('Elastica\Client')
- ->setMethods(array('addDocuments'))
+ ->setMethods(['addDocuments'])
->disableOriginalConstructor()
->getMock();
}
@@ -57,19 +57,19 @@ class ElasticSearchHandlerTest extends TestCase
public function testHandle()
{
// log message
- $msg = array(
+ $msg = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => ['foo' => 7, 'bar', 'class' => new \stdClass],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
// format expected result
$formatter = new ElasticaFormatter($this->options['index'], $this->options['type']);
- $expected = array($formatter->format($msg));
+ $expected = [$formatter->format($msg)];
// setup ES client mock
$this->client->expects($this->any())
@@ -79,7 +79,7 @@ class ElasticSearchHandlerTest extends TestCase
// perform tests
$handler = new ElasticSearchHandler($this->client, $this->options);
$handler->handle($msg);
- $handler->handleBatch(array($msg));
+ $handler->handleBatch([$msg]);
}
/**
@@ -113,11 +113,11 @@ class ElasticSearchHandlerTest extends TestCase
*/
public function testOptions()
{
- $expected = array(
+ $expected = [
'index' => $this->options['index'],
'type' => $this->options['type'],
'ignore_error' => false,
- );
+ ];
$handler = new ElasticSearchHandler($this->client, $this->options);
$this->assertEquals($expected, $handler->getOptions());
}
@@ -128,9 +128,9 @@ class ElasticSearchHandlerTest extends TestCase
*/
public function testConnectionErrors($ignore, $expectedError)
{
- $clientOpts = array('host' => '127.0.0.1', 'port' => 1);
+ $clientOpts = ['host' => '127.0.0.1', 'port' => 1];
$client = new Client($clientOpts);
- $handlerOpts = array('ignore_error' => $ignore);
+ $handlerOpts = ['ignore_error' => $ignore];
$handler = new ElasticSearchHandler($client, $handlerOpts);
if ($expectedError) {
@@ -146,10 +146,10 @@ class ElasticSearchHandlerTest extends TestCase
*/
public function providerTestConnectionErrors()
{
- return array(
- array(false, array('RuntimeException', 'Error sending messages to Elasticsearch')),
- array(true, false),
- );
+ return [
+ [false, ['RuntimeException', 'Error sending messages to Elasticsearch']],
+ [true, false],
+ ];
}
/**
@@ -162,28 +162,28 @@ class ElasticSearchHandlerTest extends TestCase
*/
public function testHandleIntegration()
{
- $msg = array(
+ $msg = [
'level' => Logger::ERROR,
'level_name' => 'ERROR',
'channel' => 'meh',
- 'context' => array('foo' => 7, 'bar', 'class' => new \stdClass),
- 'datetime' => new \DateTime("@0"),
- 'extra' => array(),
+ 'context' => ['foo' => 7, 'bar', 'class' => new \stdClass],
+ 'datetime' => new \DateTimeImmutable("@0"),
+ 'extra' => [],
'message' => 'log',
- );
+ ];
$expected = $msg;
$expected['datetime'] = $msg['datetime']->format(\DateTime::ISO8601);
- $expected['context'] = array(
+ $expected['context'] = [
'class' => '[object] (stdClass: {})',
'foo' => 7,
0 => 'bar',
- );
+ ];
$client = new Client();
$handler = new ElasticSearchHandler($client, $this->options);
try {
- $handler->handleBatch(array($msg));
+ $handler->handleBatch([$msg]);
} catch (\RuntimeException $e) {
$this->markTestSkipped("Cannot connect to Elastic Search server on localhost");
}
@@ -234,6 +234,6 @@ class ElasticSearchHandlerTest extends TestCase
return $data['_source'];
}
- return array();
+ return [];
}
}
diff --git a/tests/Monolog/Handler/ErrorLogHandlerTest.php b/tests/Monolog/Handler/ErrorLogHandlerTest.php
index 99785cb..d230fb1 100644
--- a/tests/Monolog/Handler/ErrorLogHandlerTest.php
+++ b/tests/Monolog/Handler/ErrorLogHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
@@ -24,7 +24,7 @@ class ErrorLogHandlerTest extends TestCase
{
protected function setUp()
{
- $GLOBALS['error_log'] = array();
+ $GLOBALS['error_log'] = [];
}
/**
diff --git a/tests/Monolog/Handler/FilterHandlerTest.php b/tests/Monolog/Handler/FilterHandlerTest.php
index 31b7686..0e64e76 100644
--- a/tests/Monolog/Handler/FilterHandlerTest.php
+++ b/tests/Monolog/Handler/FilterHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class FilterHandlerTest extends TestCase
{
@@ -63,7 +63,7 @@ class FilterHandlerTest extends TestCase
$this->assertFalse($test->hasEmergencyRecords());
$test = new TestHandler();
- $handler = new FilterHandler($test, array(Logger::INFO, Logger::ERROR));
+ $handler = new FilterHandler($test, [Logger::INFO, Logger::ERROR]);
$handler->handle($this->getRecord(Logger::DEBUG));
$this->assertFalse($test->hasDebugRecords());
@@ -86,14 +86,14 @@ class FilterHandlerTest extends TestCase
$test = new TestHandler();
$handler = new FilterHandler($test);
- $levels = array(Logger::INFO, Logger::ERROR);
+ $levels = [Logger::INFO, Logger::ERROR];
$handler->setAcceptedLevels($levels);
$this->assertSame($levels, $handler->getAcceptedLevels());
- $handler->setAcceptedLevels(array('info', 'error'));
+ $handler->setAcceptedLevels(['info', 'error']);
$this->assertSame($levels, $handler->getAcceptedLevels());
- $levels = array(Logger::CRITICAL, Logger::ALERT, Logger::EMERGENCY);
+ $levels = [Logger::CRITICAL, Logger::ALERT, Logger::EMERGENCY];
$handler->setAcceptedLevels(Logger::CRITICAL, Logger::EMERGENCY);
$this->assertSame($levels, $handler->getAcceptedLevels());
diff --git a/tests/Monolog/Handler/FingersCrossedHandlerTest.php b/tests/Monolog/Handler/FingersCrossedHandlerTest.php
index b92bf43..5b25a36 100644
--- a/tests/Monolog/Handler/FingersCrossedHandlerTest.php
+++ b/tests/Monolog/Handler/FingersCrossedHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Handler\FingersCrossed\ErrorLevelActivationStrategy;
use Monolog\Handler\FingersCrossed\ChannelLevelActivationStrategy;
@@ -114,8 +114,8 @@ class FingersCrossedHandlerTest extends TestCase
{
$test = new TestHandler();
$handler = new FingersCrossedHandler(function ($record, $handler) use ($test) {
- return $test;
- });
+ return $test;
+ });
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::INFO));
$this->assertFalse($test->hasDebugRecords());
@@ -133,8 +133,8 @@ class FingersCrossedHandlerTest extends TestCase
public function testHandleWithBadCallbackThrowsException()
{
$handler = new FingersCrossedHandler(function ($record, $handler) {
- return 'foo';
- });
+ return 'foo';
+ });
$handler->handle($this->getRecord(Logger::WARNING));
}
@@ -203,7 +203,7 @@ class FingersCrossedHandlerTest extends TestCase
public function testChannelLevelActivationStrategy()
{
$test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy(Logger::ERROR, array('othertest' => Logger::DEBUG)));
+ $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy(Logger::ERROR, ['othertest' => Logger::DEBUG]));
$handler->handle($this->getRecord(Logger::WARNING));
$this->assertFalse($test->hasWarningRecords());
$record = $this->getRecord(Logger::DEBUG);
@@ -220,7 +220,7 @@ class FingersCrossedHandlerTest extends TestCase
public function testChannelLevelActivationStrategyWithPsrLevels()
{
$test = new TestHandler();
- $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy('error', array('othertest' => 'debug')));
+ $handler = new FingersCrossedHandler($test, new ChannelLevelActivationStrategy('error', ['othertest' => 'debug']));
$handler->handle($this->getRecord(Logger::WARNING));
$this->assertFalse($test->hasWarningRecords());
$record = $this->getRecord(Logger::DEBUG);
diff --git a/tests/Monolog/Handler/FirePHPHandlerTest.php b/tests/Monolog/Handler/FirePHPHandlerTest.php
index 0eb10a6..b62e7fd 100644
--- a/tests/Monolog/Handler/FirePHPHandlerTest.php
+++ b/tests/Monolog/Handler/FirePHPHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -32,13 +32,13 @@ class FirePHPHandlerTest extends TestCase
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::WARNING));
- $expected = array(
+ $expected = [
'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3',
'X-Wf-1-1-1-1' => 'test',
'X-Wf-1-1-1-2' => 'test',
- );
+ ];
$this->assertEquals($expected, $handler->getHeaders());
}
@@ -55,18 +55,18 @@ class FirePHPHandlerTest extends TestCase
$handler2->handle($this->getRecord(Logger::DEBUG));
$handler2->handle($this->getRecord(Logger::WARNING));
- $expected = array(
+ $expected = [
'X-Wf-Protocol-1' => 'http://meta.wildfirehq.org/Protocol/JsonStream/0.2',
'X-Wf-1-Structure-1' => 'http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1',
'X-Wf-1-Plugin-1' => 'http://meta.firephp.org/Wildfire/Plugin/FirePHP/Library-FirePHPCore/0.3',
'X-Wf-1-1-1-1' => 'test',
'X-Wf-1-1-1-2' => 'test',
- );
+ ];
- $expected2 = array(
+ $expected2 = [
'X-Wf-1-1-1-3' => 'test',
'X-Wf-1-1-1-4' => 'test',
- );
+ ];
$this->assertEquals($expected, $handler->getHeaders());
$this->assertEquals($expected2, $handler2->getHeaders());
@@ -75,7 +75,7 @@ class FirePHPHandlerTest extends TestCase
class TestFirePHPHandler extends FirePHPHandler
{
- protected $headers = array();
+ protected $headers = [];
public static function reset()
{
diff --git a/tests/Monolog/Handler/FleepHookHandlerTest.php b/tests/Monolog/Handler/FleepHookHandlerTest.php
index 91cdd31..11b5a65 100644
--- a/tests/Monolog/Handler/FleepHookHandlerTest.php
+++ b/tests/Monolog/Handler/FleepHookHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -13,7 +13,7 @@ namespace Monolog\Handler;
use Monolog\Formatter\LineFormatter;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
/**
* @coversDefaultClass \Monolog\Handler\FleepHookHandler
@@ -56,15 +56,15 @@ class FleepHookHandlerTest extends TestCase
*/
public function testHandlerUsesLineFormatterWhichIgnoresEmptyArrays()
{
- $record = array(
+ $record = [
'message' => 'msg',
- 'context' => array(),
+ 'context' => [],
'level' => Logger::DEBUG,
'level_name' => Logger::getLevelName(Logger::DEBUG),
'channel' => 'channel',
- 'datetime' => new \DateTime(),
- 'extra' => array(),
- );
+ 'datetime' => new \DateTimeImmutable(),
+ 'extra' => [],
+ ];
$expectedFormatter = new LineFormatter(null, null, true, true);
$expected = $expectedFormatter->format($record);
diff --git a/tests/Monolog/Handler/FlowdockHandlerTest.php b/tests/Monolog/Handler/FlowdockHandlerTest.php
index 4b120d5..8df847a 100644
--- a/tests/Monolog/Handler/FlowdockHandlerTest.php
+++ b/tests/Monolog/Handler/FlowdockHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Monolog\Formatter\FlowdockFormatter;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -61,11 +61,11 @@ class FlowdockHandlerTest extends TestCase
private function createHandler($token = 'myToken')
{
- $constructorArgs = array($token, Logger::DEBUG);
+ $constructorArgs = [$token, Logger::DEBUG];
$this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock(
'\Monolog\Handler\FlowdockHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
$constructorArgs
);
diff --git a/tests/Monolog/Handler/GelfHandlerLegacyTest.php b/tests/Monolog/Handler/GelfHandlerLegacyTest.php
index 9d007b1..00150a1 100644
--- a/tests/Monolog/Handler/GelfHandlerLegacyTest.php
+++ b/tests/Monolog/Handler/GelfHandlerLegacyTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Gelf\Message;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Formatter\GelfMessageFormatter;
diff --git a/tests/Monolog/Handler/GelfHandlerTest.php b/tests/Monolog/Handler/GelfHandlerTest.php
index 8cdd64f..bc06fa3 100644
--- a/tests/Monolog/Handler/GelfHandlerTest.php
+++ b/tests/Monolog/Handler/GelfHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Gelf\Message;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Formatter\GelfMessageFormatter;
@@ -43,7 +43,7 @@ class GelfHandlerTest extends TestCase
protected function getMessagePublisher()
{
- return $this->getMock('Gelf\Publisher', array('publish'), array(), '', false);
+ return $this->getMock('Gelf\Publisher', ['publish'], [], '', false);
}
public function testDebug()
diff --git a/tests/Monolog/Handler/GelfMockMessagePublisher.php b/tests/Monolog/Handler/GelfMockMessagePublisher.php
index 873d92f..b1e94ed 100644
--- a/tests/Monolog/Handler/GelfMockMessagePublisher.php
+++ b/tests/Monolog/Handler/GelfMockMessagePublisher.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
diff --git a/tests/Monolog/Handler/GroupHandlerTest.php b/tests/Monolog/Handler/GroupHandlerTest.php
index a1b8617..d0ffdf0 100644
--- a/tests/Monolog/Handler/GroupHandlerTest.php
+++ b/tests/Monolog/Handler/GroupHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class GroupHandlerTest extends TestCase
@@ -22,7 +22,7 @@ class GroupHandlerTest extends TestCase
*/
public function testConstructorOnlyTakesHandler()
{
- new GroupHandler(array(new TestHandler(), "foo"));
+ new GroupHandler([new TestHandler(), "foo"]);
}
/**
@@ -31,7 +31,7 @@ class GroupHandlerTest extends TestCase
*/
public function testHandle()
{
- $testHandlers = array(new TestHandler(), new TestHandler());
+ $testHandlers = [new TestHandler(), new TestHandler()];
$handler = new GroupHandler($testHandlers);
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::INFO));
@@ -47,9 +47,9 @@ class GroupHandlerTest extends TestCase
*/
public function testHandleBatch()
{
- $testHandlers = array(new TestHandler(), new TestHandler());
+ $testHandlers = [new TestHandler(), new TestHandler()];
$handler = new GroupHandler($testHandlers);
- $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
+ $handler->handleBatch([$this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)]);
foreach ($testHandlers as $test) {
$this->assertTrue($test->hasDebugRecords());
$this->assertTrue($test->hasInfoRecords());
@@ -62,7 +62,7 @@ class GroupHandlerTest extends TestCase
*/
public function testIsHandling()
{
- $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING));
+ $testHandlers = [new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING)];
$handler = new GroupHandler($testHandlers);
$this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR)));
$this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING)));
@@ -75,7 +75,7 @@ class GroupHandlerTest extends TestCase
public function testHandleUsesProcessors()
{
$test = new TestHandler();
- $handler = new GroupHandler(array($test));
+ $handler = new GroupHandler([$test]);
$handler->pushProcessor(function ($record) {
$record['extra']['foo'] = true;
@@ -92,14 +92,14 @@ class GroupHandlerTest extends TestCase
*/
public function testHandleBatchUsesProcessors()
{
- $testHandlers = array(new TestHandler(), new TestHandler());
+ $testHandlers = [new TestHandler(), new TestHandler()];
$handler = new GroupHandler($testHandlers);
$handler->pushProcessor(function ($record) {
$record['extra']['foo'] = true;
return $record;
});
- $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
+ $handler->handleBatch([$this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)]);
foreach ($testHandlers as $test) {
$this->assertTrue($test->hasDebugRecords());
$this->assertTrue($test->hasInfoRecords());
diff --git a/tests/Monolog/Handler/HandlerWrapperTest.php b/tests/Monolog/Handler/HandlerWrapperTest.php
index d8d0452..4a34741 100644
--- a/tests/Monolog/Handler/HandlerWrapperTest.php
+++ b/tests/Monolog/Handler/HandlerWrapperTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
/**
* @author Alexey Karapetov <alexey@karapetov.com>
@@ -37,10 +37,10 @@ class HandlerWrapperTest extends TestCase
*/
public function trueFalseDataProvider()
{
- return array(
- array(true),
- array(false),
- );
+ return [
+ [true],
+ [false],
+ ];
}
/**
@@ -87,44 +87,4 @@ class HandlerWrapperTest extends TestCase
$this->assertEquals($result, $this->wrapper->handleBatch($records));
}
-
- public function testPushProcessor()
- {
- $processor = function () {};
- $this->handler->expects($this->once())
- ->method('pushProcessor')
- ->with($processor);
-
- $this->assertEquals($this->wrapper, $this->wrapper->pushProcessor($processor));
- }
-
- public function testPopProcessor()
- {
- $processor = function () {};
- $this->handler->expects($this->once())
- ->method('popProcessor')
- ->willReturn($processor);
-
- $this->assertEquals($processor, $this->wrapper->popProcessor());
- }
-
- public function testSetFormatter()
- {
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $this->handler->expects($this->once())
- ->method('setFormatter')
- ->with($formatter);
-
- $this->assertEquals($this->wrapper, $this->wrapper->setFormatter($formatter));
- }
-
- public function testGetFormatter()
- {
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $this->handler->expects($this->once())
- ->method('getFormatter')
- ->willReturn($formatter);
-
- $this->assertEquals($formatter, $this->wrapper->getFormatter());
- }
}
diff --git a/tests/Monolog/Handler/HipChatHandlerTest.php b/tests/Monolog/Handler/HipChatHandlerTest.php
index 52dc9da..0d2e8c0 100644
--- a/tests/Monolog/Handler/HipChatHandlerTest.php
+++ b/tests/Monolog/Handler/HipChatHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -24,30 +24,6 @@ class HipChatHandlerTest extends TestCase
/** @var HipChatHandler */
private $handler;
- public function testWriteHeader()
- {
- $this->createHandler();
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/v1\/rooms\/message\?format=json&auth_token=.* HTTP\/1.1\\r\\nHost: api.hipchat.com\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
-
- return $content;
- }
-
- public function testWriteCustomHostHeader()
- {
- $this->createHandler('myToken', 'room1', 'Monolog', true, 'hipchat.foo.bar');
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/POST \/v1\/rooms\/message\?format=json&auth_token=.* HTTP\/1.1\\r\\nHost: hipchat.foo.bar\\r\\nContent-Type: application\/x-www-form-urlencoded\\r\\nContent-Length: \d{2,4}\\r\\n\\r\\n/', $content);
-
- return $content;
- }
-
public function testWriteV2()
{
$this->createHandler('myToken', 'room1', 'Monolog', false, 'hipchat.foo.bar', 'v2');
@@ -92,18 +68,6 @@ class HipChatHandlerTest extends TestCase
$this->assertRegexp('/notify=0&message=test1&message_format=text&color=red&room_id=room1&from=Monolog$/', $content);
}
- public function testWriteContentV1WithoutName()
- {
- $this->createHandler('myToken', 'room1', null, false, 'hipchat.foo.bar', 'v1');
- $this->handler->handle($this->getRecord(Logger::CRITICAL, 'test1'));
- fseek($this->res, 0);
- $content = fread($this->res, 1024);
-
- $this->assertRegexp('/notify=0&message=test1&message_format=text&color=red&room_id=room1&from=$/', $content);
-
- return $content;
- }
-
/**
* @depends testWriteCustomHostHeader
*/
@@ -175,16 +139,16 @@ class HipChatHandlerTest extends TestCase
public function provideLevelColors()
{
- return array(
- array(Logger::DEBUG, 'gray'),
- array(Logger::INFO, 'green'),
- array(Logger::WARNING, 'yellow'),
- array(Logger::ERROR, 'red'),
- array(Logger::CRITICAL, 'red'),
- array(Logger::ALERT, 'red'),
- array(Logger::EMERGENCY,'red'),
- array(Logger::NOTICE, 'green'),
- );
+ return [
+ [Logger::DEBUG, 'gray'],
+ [Logger::INFO, 'green'],
+ [Logger::WARNING, 'yellow'],
+ [Logger::ERROR, 'red'],
+ [Logger::CRITICAL, 'red'],
+ [Logger::ALERT, 'red'],
+ [Logger::EMERGENCY,'red'],
+ [Logger::NOTICE, 'green'],
+ ];
}
/**
@@ -204,45 +168,45 @@ class HipChatHandlerTest extends TestCase
public function provideBatchRecords()
{
- return array(
- array(
- array(
- array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- array('level' => Logger::CRITICAL, 'message' => 'Everything is broken!', 'level_name' => 'critical', 'datetime' => new \DateTime()),
- ),
+ return [
+ [
+ [
+ ['level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTimeImmutable()],
+ ['level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTimeImmutable()],
+ ['level' => Logger::CRITICAL, 'message' => 'Everything is broken!', 'level_name' => 'critical', 'datetime' => new \DateTimeImmutable()],
+ ],
'red',
- ),
- array(
- array(
- array('level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- ),
+ ],
+ [
+ [
+ ['level' => Logger::WARNING, 'message' => 'Oh bugger!', 'level_name' => 'warning', 'datetime' => new \DateTimeImmutable()],
+ ['level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTimeImmutable()],
+ ],
'yellow',
- ),
- array(
- array(
- array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()),
- array('level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTime()),
- ),
+ ],
+ [
+ [
+ ['level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTimeImmutable()],
+ ['level' => Logger::NOTICE, 'message' => 'Something noticeable happened.', 'level_name' => 'notice', 'datetime' => new \DateTimeImmutable()],
+ ],
'green',
- ),
- array(
- array(
- array('level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTime()),
- ),
+ ],
+ [
+ [
+ ['level' => Logger::DEBUG, 'message' => 'Just debugging.', 'level_name' => 'debug', 'datetime' => new \DateTimeImmutable()],
+ ],
'gray',
- ),
- );
+ ],
+ ];
}
private function createHandler($token = 'myToken', $room = 'room1', $name = 'Monolog', $notify = false, $host = 'api.hipchat.com', $version = 'v1')
{
- $constructorArgs = array($token, $room, $name, $notify, Logger::DEBUG, true, true, 'text', $host, $version);
+ $constructorArgs = [$token, $room, $name, $notify, Logger::DEBUG, true, true, 'text', $host, $version];
$this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock(
'\Monolog\Handler\HipChatHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
$constructorArgs
);
@@ -263,14 +227,6 @@ class HipChatHandlerTest extends TestCase
$this->handler->setFormatter($this->getIdentityFormatter());
}
- /**
- * @expectedException InvalidArgumentException
- */
- public function testCreateWithTooLongName()
- {
- $hipChatHandler = new HipChatHandler('token', 'room', 'SixteenCharsHere');
- }
-
public function testCreateWithTooLongNameV2()
{
// creating a handler with too long of a name but using the v2 api doesn't matter.
diff --git a/tests/Monolog/Handler/LogEntriesHandlerTest.php b/tests/Monolog/Handler/LogEntriesHandlerTest.php
index b2deb40..b6d2924 100644
--- a/tests/Monolog/Handler/LogEntriesHandlerTest.php
+++ b/tests/Monolog/Handler/LogEntriesHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -37,33 +37,33 @@ class LogEntriesHandlerTest extends TestCase
fseek($this->res, 0);
$content = fread($this->res, 1024);
- $this->assertRegexp('/testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] test.CRITICAL: Critical write test/', $content);
+ $this->assertRegexp('/testToken \[\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}\+00:00\] test.CRITICAL: Critical write test/', $content);
}
public function testWriteBatchContent()
{
- $records = array(
+ $records = [
$this->getRecord(),
$this->getRecord(),
$this->getRecord(),
- );
+ ];
$this->createHandler();
$this->handler->handleBatch($records);
fseek($this->res, 0);
$content = fread($this->res, 1024);
- $this->assertRegexp('/(testToken \[\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\] .* \[\] \[\]\n){3}/', $content);
+ $this->assertRegexp('/(testToken \[\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{6}\+00:00\] .* \[\] \[\]\n){3}/', $content);
}
private function createHandler()
{
$useSSL = extension_loaded('openssl');
- $args = array('testToken', $useSSL, Logger::DEBUG, true);
+ $args = ['testToken', $useSSL, Logger::DEBUG, true];
$this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock(
'\Monolog\Handler\LogEntriesHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
$args
);
diff --git a/tests/Monolog/Handler/LogmaticHandlerTest.php b/tests/Monolog/Handler/LogmaticHandlerTest.php
new file mode 100644
index 0000000..3948a41
--- /dev/null
+++ b/tests/Monolog/Handler/LogmaticHandlerTest.php
@@ -0,0 +1,84 @@
+<?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 Monolog\Handler;
+
+use Monolog\Test\TestCase;
+use Monolog\Logger;
+
+/**
+ * @author Julien Breux <julien.breux@gmail.com>
+ */
+class LogmaticHandlerTest extends TestCase
+{
+ /**
+ * @var resource
+ */
+ private $res;
+
+ /**
+ * @var LogmaticHandler
+ */
+ private $handler;
+
+ public function testWriteContent()
+ {
+ $this->createHandler();
+ $this->handler->handle($this->getRecord(Logger::CRITICAL, 'Critical write test'));
+
+ fseek($this->res, 0);
+ $content = fread($this->res, 1024);
+
+ $this->assertRegexp('/testToken {"message":"Critical write test","context":\[\],"level":500,"level_name":"CRITICAL","channel":"test","datetime":"(.*)","extra":\[\],"hostname":"testHostname","appname":"testAppname"}/', $content);
+ }
+
+ public function testWriteBatchContent()
+ {
+ $records = [
+ $this->getRecord(),
+ $this->getRecord(),
+ $this->getRecord(),
+ ];
+ $this->createHandler();
+ $this->handler->handleBatch($records);
+
+ fseek($this->res, 0);
+ $content = fread($this->res, 1024);
+
+ $this->assertRegexp('/testToken {"message":"test","context":\[\],"level":300,"level_name":"WARNING","channel":"test","datetime":"(.*)","extra":\[\],"hostname":"testHostname","appname":"testAppname"}/', $content);
+ }
+
+ private function createHandler()
+ {
+ $useSSL = extension_loaded('openssl');
+ $args = ['testToken', 'testHostname', 'testAppname', $useSSL, Logger::DEBUG, true];
+ $this->res = fopen('php://memory', 'a');
+ $this->handler = $this->getMock(
+ '\Monolog\Handler\LogmaticHandler',
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
+ $args
+ );
+
+ $reflectionProperty = new \ReflectionProperty('\Monolog\Handler\SocketHandler', 'connectionString');
+ $reflectionProperty->setAccessible(true);
+ $reflectionProperty->setValue($this->handler, 'localhost:1234');
+
+ $this->handler->expects($this->any())
+ ->method('fsockopen')
+ ->will($this->returnValue($this->res));
+ $this->handler->expects($this->any())
+ ->method('streamSetTimeout')
+ ->will($this->returnValue(true));
+ $this->handler->expects($this->any())
+ ->method('closeSocket')
+ ->will($this->returnValue(true));
+ }
+}
diff --git a/tests/Monolog/Handler/MailHandlerTest.php b/tests/Monolog/Handler/MailHandlerTest.php
index 6754f3d..ee686ad 100644
--- a/tests/Monolog/Handler/MailHandlerTest.php
+++ b/tests/Monolog/Handler/MailHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class MailHandlerTest extends TestCase
{
@@ -25,7 +25,7 @@ class MailHandlerTest extends TestCase
$formatter->expects($this->once())
->method('formatBatch'); // Each record is formatted
- $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
+ $handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler', [], '', true, true, true, ['send', 'write']);
$handler->expects($this->once())
->method('send');
$handler->expects($this->never())
@@ -41,11 +41,11 @@ class MailHandlerTest extends TestCase
*/
public function testHandleBatchNotSendsMailIfMessagesAreBelowLevel()
{
- $records = array(
+ $records = [
$this->getRecord(Logger::DEBUG, 'debug message 1'),
$this->getRecord(Logger::DEBUG, 'debug message 2'),
$this->getRecord(Logger::INFO, 'information'),
- );
+ ];
$handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
$handler->expects($this->never())
@@ -61,10 +61,11 @@ class MailHandlerTest extends TestCase
public function testHandle()
{
$handler = $this->getMockForAbstractClass('Monolog\\Handler\\MailHandler');
+ $handler->setFormatter(new \Monolog\Formatter\LineFormatter);
$record = $this->getRecord();
- $records = array($record);
- $records[0]['formatted'] = '['.$record['datetime']->format('Y-m-d H:i:s').'] test.WARNING: test [] []'."\n";
+ $records = [$record];
+ $records[0]['formatted'] = '['.$record['datetime'].'] test.WARNING: test [] []'."\n";
$handler->expects($this->once())
->method('send')
diff --git a/tests/Monolog/Handler/MockRavenClient.php b/tests/Monolog/Handler/MockRavenClient.php
index a083322..d344d34 100644
--- a/tests/Monolog/Handler/MockRavenClient.php
+++ b/tests/Monolog/Handler/MockRavenClient.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
diff --git a/tests/Monolog/Handler/MongoDBHandlerTest.php b/tests/Monolog/Handler/MongoDBHandlerTest.php
index 0fdef63..7333ef6 100644
--- a/tests/Monolog/Handler/MongoDBHandlerTest.php
+++ b/tests/Monolog/Handler/MongoDBHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,8 +11,9 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
-use Monolog\Logger;
+use MongoDB\Driver\Manager;
+use Monolog\Test\TestCase;
+use Monolog\Formatter\NormalizerFormatter;
class MongoDBHandlerTest extends TestCase
{
@@ -21,45 +22,57 @@ class MongoDBHandlerTest extends TestCase
*/
public function testConstructorShouldThrowExceptionForInvalidMongo()
{
- new MongoDBHandler(new \stdClass(), 'DB', 'Collection');
+ new MongoDBHandler(new \stdClass, 'db', 'collection');
}
- public function testHandle()
+ public function testHandleWithLibraryClient()
{
- $mongo = $this->getMock('Mongo', array('selectCollection'), array(), '', false);
- $collection = $this->getMock('stdClass', array('save'));
+ if (!(class_exists('MongoDB\Client'))) {
+ $this->markTestSkipped('mongodb/mongodb not installed');
+ }
+
+ $mongodb = $this->getMockBuilder('MongoDB\Client')
+ ->disableOriginalConstructor()
+ ->getMock();
- $mongo->expects($this->once())
+ $collection = $this->getMockBuilder('MongoDB\Collection')
+ ->disableOriginalConstructor()
+ ->getMock();
+
+ $mongodb->expects($this->once())
->method('selectCollection')
- ->with('DB', 'Collection')
+ ->with('db', 'collection')
->will($this->returnValue($collection));
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
-
- $expected = array(
- 'message' => 'test',
- 'context' => array('data' => '[object] (stdClass: {})', 'foo' => 34),
- 'level' => Logger::WARNING,
- 'level_name' => 'WARNING',
- 'channel' => 'test',
- 'datetime' => $record['datetime']->format('Y-m-d H:i:s'),
- 'extra' => array(),
- );
+ $record = $this->getRecord();
+ $expected = $record;
+ $expected['datetime'] = $record['datetime']->format(NormalizerFormatter::SIMPLE_DATE);
$collection->expects($this->once())
- ->method('save')
+ ->method('insertOne')
->with($expected);
- $handler = new MongoDBHandler($mongo, 'DB', 'Collection');
+ $handler = new MongoDBHandler($mongodb, 'db', 'collection');
$handler->handle($record);
}
-}
-if (!class_exists('Mongo')) {
- class Mongo
+ public function testHandleWithDriverManager()
{
- public function selectCollection()
- {
+ if (!(class_exists('MongoDB\Driver\Manager'))) {
+ $this->markTestSkipped('ext-mongodb not installed');
+ }
+
+ /* This can become a unit test once ManagerInterface can be mocked.
+ * See: https://jira.mongodb.org/browse/PHPC-378
+ */
+ $mongodb = new Manager('mongodb://localhost:27017');
+ $handler = new MongoDBHandler($mongodb, 'test', 'monolog');
+ $record = $this->getRecord();
+
+ try {
+ $handler->handle($record);
+ } catch (\RuntimeException $e) {
+ $this->markTestSkipped('Could not connect to MongoDB server on mongodb://localhost:27017');
}
}
}
diff --git a/tests/Monolog/Handler/NativeMailerHandlerTest.php b/tests/Monolog/Handler/NativeMailerHandlerTest.php
index ddf545d..d4aef95 100644
--- a/tests/Monolog/Handler/NativeMailerHandlerTest.php
+++ b/tests/Monolog/Handler/NativeMailerHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use InvalidArgumentException;
@@ -24,7 +24,7 @@ class NativeMailerHandlerTest extends TestCase
{
protected function setUp()
{
- $GLOBALS['mail'] = array();
+ $GLOBALS['mail'] = [];
}
/**
@@ -50,7 +50,7 @@ class NativeMailerHandlerTest extends TestCase
public function testSetterArrayHeaderInjection()
{
$mailer = new NativeMailerHandler('spammer@example.org', 'dear victim', 'receiver@example.org');
- $mailer->addHeader(array("Content-Type: text/html\r\nFrom: faked@attacker.org"));
+ $mailer->addHeader(["Content-Type: text/html\r\nFrom: faked@attacker.org"]);
}
/**
@@ -78,7 +78,8 @@ class NativeMailerHandlerTest extends TestCase
$from = 'receiver@example.org';
$mailer = new NativeMailerHandler($to, $subject, $from);
- $mailer->handleBatch(array());
+ $mailer->setFormatter(new \Monolog\Formatter\LineFormatter);
+ $mailer->handleBatch([]);
// batch is empty, nothing sent
$this->assertEmpty($GLOBALS['mail']);
diff --git a/tests/Monolog/Handler/NewRelicHandlerTest.php b/tests/Monolog/Handler/NewRelicHandlerTest.php
index 4d3a615..a71bbf8 100644
--- a/tests/Monolog/Handler/NewRelicHandlerTest.php
+++ b/tests/Monolog/Handler/NewRelicHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Monolog\Formatter\LineFormatter;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class NewRelicHandlerTest extends TestCase
@@ -24,7 +24,7 @@ class NewRelicHandlerTest extends TestCase
public function setUp()
{
self::$appname = null;
- self::$customParameters = array();
+ self::$customParameters = [];
self::$transactionName = null;
}
@@ -46,8 +46,8 @@ class NewRelicHandlerTest extends TestCase
public function testThehandlerCanAddContextParamsToTheNewRelicTrace()
{
$handler = new StubNewRelicHandler();
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('a' => 'b')));
- $this->assertEquals(array('context_a' => 'b'), self::$customParameters);
+ $handler->handle($this->getRecord(Logger::ERROR, 'log message', ['a' => 'b']));
+ $this->assertEquals(['context_a' => 'b'], self::$customParameters);
}
public function testThehandlerCanAddExplodedContextParamsToTheNewRelicTrace()
@@ -56,10 +56,10 @@ class NewRelicHandlerTest extends TestCase
$handler->handle($this->getRecord(
Logger::ERROR,
'log message',
- array('a' => array('key1' => 'value1', 'key2' => 'value2'))
+ ['a' => ['key1' => 'value1', 'key2' => 'value2']]
));
$this->assertEquals(
- array('context_a_key1' => 'value1', 'context_a_key2' => 'value2'),
+ ['context_a_key1' => 'value1', 'context_a_key2' => 'value2'],
self::$customParameters
);
}
@@ -67,40 +67,40 @@ class NewRelicHandlerTest extends TestCase
public function testThehandlerCanAddExtraParamsToTheNewRelicTrace()
{
$record = $this->getRecord(Logger::ERROR, 'log message');
- $record['extra'] = array('c' => 'd');
+ $record['extra'] = ['c' => 'd'];
$handler = new StubNewRelicHandler();
$handler->handle($record);
- $this->assertEquals(array('extra_c' => 'd'), self::$customParameters);
+ $this->assertEquals(['extra_c' => 'd'], self::$customParameters);
}
public function testThehandlerCanAddExplodedExtraParamsToTheNewRelicTrace()
{
$record = $this->getRecord(Logger::ERROR, 'log message');
- $record['extra'] = array('c' => array('key1' => 'value1', 'key2' => 'value2'));
+ $record['extra'] = ['c' => ['key1' => 'value1', 'key2' => 'value2']];
$handler = new StubNewRelicHandler(Logger::ERROR, true, self::$appname, true);
$handler->handle($record);
$this->assertEquals(
- array('extra_c_key1' => 'value1', 'extra_c_key2' => 'value2'),
+ ['extra_c_key1' => 'value1', 'extra_c_key2' => 'value2'],
self::$customParameters
);
}
public function testThehandlerCanAddExtraContextAndParamsToTheNewRelicTrace()
{
- $record = $this->getRecord(Logger::ERROR, 'log message', array('a' => 'b'));
- $record['extra'] = array('c' => 'd');
+ $record = $this->getRecord(Logger::ERROR, 'log message', ['a' => 'b']);
+ $record['extra'] = ['c' => 'd'];
$handler = new StubNewRelicHandler();
$handler->handle($record);
- $expected = array(
+ $expected = [
'context_a' => 'b',
'extra_c' => 'd',
- );
+ ];
$this->assertEquals($expected, self::$customParameters);
}
@@ -131,7 +131,7 @@ class NewRelicHandlerTest extends TestCase
public function testTheAppNameCanBeOverriddenFromEachLog()
{
$handler = new StubNewRelicHandler(Logger::DEBUG, false, 'myAppName');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('appname' => 'logAppName')));
+ $handler->handle($this->getRecord(Logger::ERROR, 'log message', ['appname' => 'logAppName']));
$this->assertEquals('logAppName', self::$appname);
}
@@ -155,7 +155,7 @@ class NewRelicHandlerTest extends TestCase
public function testTheTransactionNameCanBeOverriddenFromEachLog()
{
$handler = new StubNewRelicHandler(Logger::DEBUG, false, null, false, 'myTransaction');
- $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('transaction_name' => 'logTransactName')));
+ $handler->handle($this->getRecord(Logger::ERROR, 'log message', ['transaction_name' => 'logTransactName']));
$this->assertEquals('logTransactName', self::$transactionName);
}
diff --git a/tests/Monolog/Handler/NullHandlerTest.php b/tests/Monolog/Handler/NullHandlerTest.php
index 292df78..b7e482b 100644
--- a/tests/Monolog/Handler/NullHandlerTest.php
+++ b/tests/Monolog/Handler/NullHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
diff --git a/tests/Monolog/Handler/PHPConsoleHandlerTest.php b/tests/Monolog/Handler/PHPConsoleHandlerTest.php
index 152573e..0836b99 100644
--- a/tests/Monolog/Handler/PHPConsoleHandlerTest.php
+++ b/tests/Monolog/Handler/PHPConsoleHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -14,11 +14,11 @@ namespace Monolog\Handler;
use Exception;
use Monolog\ErrorHandler;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use PhpConsole\Connector;
use PhpConsole\Dispatcher\Debug as DebugDispatcher;
use PhpConsole\Dispatcher\Errors as ErrorDispatcher;
-use PhpConsole\Handler;
+use PhpConsole\Handler as VendorPhpConsoleHandler;
use PHPUnit_Framework_MockObject_MockObject;
/**
@@ -52,8 +52,8 @@ class PHPConsoleHandlerTest extends TestCase
{
return $this->getMockBuilder('PhpConsole\Dispatcher\Debug')
->disableOriginalConstructor()
- ->setMethods(array('dispatchDebug'))
- ->setConstructorArgs(array($connector, $connector->getDumper()))
+ ->setMethods(['dispatchDebug'])
+ ->setConstructorArgs([$connector, $connector->getDumper()])
->getMock();
}
@@ -61,8 +61,8 @@ class PHPConsoleHandlerTest extends TestCase
{
return $this->getMockBuilder('PhpConsole\Dispatcher\Errors')
->disableOriginalConstructor()
- ->setMethods(array('dispatchError', 'dispatchException'))
- ->setConstructorArgs(array($connector, $connector->getDumper()))
+ ->setMethods(['dispatchError', 'dispatchException'])
+ ->setConstructorArgs([$connector, $connector->getDumper()])
->getMock();
}
@@ -70,7 +70,7 @@ class PHPConsoleHandlerTest extends TestCase
{
$connector = $this->getMockBuilder('PhpConsole\Connector')
->disableOriginalConstructor()
- ->setMethods(array(
+ ->setMethods([
'sendMessage',
'onShutDown',
'isActiveClient',
@@ -81,7 +81,7 @@ class PHPConsoleHandlerTest extends TestCase
'setAllowedIpMasks',
'setHeadersLimit',
'startEvalRequestsListener',
- ))
+ ])
->getMock();
$connector->expects($this->any())
@@ -93,17 +93,17 @@ class PHPConsoleHandlerTest extends TestCase
protected function getHandlerDefaultOption($name)
{
- $handler = new PHPConsoleHandler(array(), $this->connector);
+ $handler = new PHPConsoleHandler([], $this->connector);
$options = $handler->getOptions();
return $options[$name];
}
- protected function initLogger($handlerOptions = array(), $level = Logger::DEBUG)
+ protected function initLogger($handlerOptions = [], $level = Logger::DEBUG)
{
- return new Logger('test', array(
+ return new Logger('test', [
new PHPConsoleHandler($handlerOptions, $this->connector, $level),
- ));
+ ]);
}
public function testInitWithDefaultConnector()
@@ -114,33 +114,33 @@ class PHPConsoleHandlerTest extends TestCase
public function testInitWithCustomConnector()
{
- $handler = new PHPConsoleHandler(array(), $this->connector);
+ $handler = new PHPConsoleHandler([], $this->connector);
$this->assertEquals(spl_object_hash($this->connector), spl_object_hash($handler->getConnector()));
}
public function testDebug()
{
$this->debugDispatcher->expects($this->once())->method('dispatchDebug')->with($this->equalTo('test'));
- $this->initLogger()->addDebug('test');
+ $this->initLogger()->debug('test');
}
public function testDebugContextInMessage()
{
$message = 'test';
$tag = 'tag';
- $context = array($tag, 'custom' => mt_rand());
+ $context = [$tag, 'custom' => mt_rand()];
$expectedMessage = $message . ' ' . json_encode(array_slice($context, 1));
$this->debugDispatcher->expects($this->once())->method('dispatchDebug')->with(
$this->equalTo($expectedMessage),
$this->equalTo($tag)
);
- $this->initLogger()->addDebug($message, $context);
+ $this->initLogger()->debug($message, $context);
}
public function testDebugTags($tagsContextKeys = null)
{
$expectedTags = mt_rand();
- $logger = $this->initLogger($tagsContextKeys ? array('debugTagsKeysInContext' => $tagsContextKeys) : array());
+ $logger = $this->initLogger($tagsContextKeys ? ['debugTagsKeysInContext' => $tagsContextKeys] : []);
if (!$tagsContextKeys) {
$tagsContextKeys = $this->getHandlerDefaultOption('debugTagsKeysInContext');
}
@@ -151,7 +151,7 @@ class PHPConsoleHandlerTest extends TestCase
$this->equalTo($expectedTags)
);
$this->connector->setDebugDispatcher($debugDispatcher);
- $logger->addDebug('test', array($key => $expectedTags));
+ $logger->debug('test', [$key => $expectedTags]);
}
}
@@ -168,8 +168,8 @@ class PHPConsoleHandlerTest extends TestCase
$this->equalTo($line),
$classesPartialsTraceIgnore ?: $this->equalTo($this->getHandlerDefaultOption('classesPartialsTraceIgnore'))
);
- $errorHandler = ErrorHandler::register($this->initLogger($classesPartialsTraceIgnore ? array('classesPartialsTraceIgnore' => $classesPartialsTraceIgnore) : array()), false);
- $errorHandler->registerErrorHandler(array(), false, E_USER_WARNING);
+ $errorHandler = ErrorHandler::register($this->initLogger($classesPartialsTraceIgnore ? ['classesPartialsTraceIgnore' => $classesPartialsTraceIgnore] : []), false);
+ $errorHandler->registerErrorHandler([], false, E_USER_WARNING);
$errorHandler->handleError($code, $message, $file, $line);
}
@@ -183,7 +183,7 @@ class PHPConsoleHandlerTest extends TestCase
$handler->log(
\Psr\Log\LogLevel::ERROR,
sprintf('Uncaught Exception %s: "%s" at %s line %s', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()),
- array('exception' => $e)
+ ['exception' => $e]
);
}
@@ -192,45 +192,45 @@ class PHPConsoleHandlerTest extends TestCase
*/
public function testWrongOptionsThrowsException()
{
- new PHPConsoleHandler(array('xxx' => 1));
+ new PHPConsoleHandler(['xxx' => 1]);
}
public function testOptionEnabled()
{
$this->debugDispatcher->expects($this->never())->method('dispatchDebug');
- $this->initLogger(array('enabled' => false))->addDebug('test');
+ $this->initLogger(['enabled' => false])->debug('test');
}
public function testOptionClassesPartialsTraceIgnore()
{
- $this->testError(array('Class', 'Namespace\\'));
+ $this->testError(['Class', 'Namespace\\']);
}
public function testOptionDebugTagsKeysInContext()
{
- $this->testDebugTags(array('key1', 'key2'));
+ $this->testDebugTags(['key1', 'key2']);
}
public function testOptionUseOwnErrorsAndExceptionsHandler()
{
- $this->initLogger(array('useOwnErrorsHandler' => true, 'useOwnExceptionsHandler' => true));
- $this->assertEquals(array(Handler::getInstance(), 'handleError'), set_error_handler(function () {
+ $this->initLogger(['useOwnErrorsHandler' => true, 'useOwnExceptionsHandler' => true]);
+ $this->assertEquals([VendorPhpConsoleHandler::getInstance(), 'handleError'], set_error_handler(function () {
}));
- $this->assertEquals(array(Handler::getInstance(), 'handleException'), set_exception_handler(function () {
+ $this->assertEquals([VendorPhpConsoleHandler::getInstance(), 'handleException'], set_exception_handler(function () {
}));
}
public static function provideConnectorMethodsOptionsSets()
{
- return array(
- array('sourcesBasePath', 'setSourcesBasePath', __DIR__),
- array('serverEncoding', 'setServerEncoding', 'cp1251'),
- array('password', 'setPassword', '******'),
- array('enableSslOnlyMode', 'enableSslOnlyMode', true, false),
- array('ipMasks', 'setAllowedIpMasks', array('127.0.0.*')),
- array('headersLimit', 'setHeadersLimit', 2500),
- array('enableEvalListener', 'startEvalRequestsListener', true, false),
- );
+ return [
+ ['sourcesBasePath', 'setSourcesBasePath', __DIR__],
+ ['serverEncoding', 'setServerEncoding', 'cp1251'],
+ ['password', 'setPassword', '******'],
+ ['enableSslOnlyMode', 'enableSslOnlyMode', true, false],
+ ['ipMasks', 'setAllowedIpMasks', ['127.0.0.*']],
+ ['headersLimit', 'setHeadersLimit', 2500],
+ ['enableEvalListener', 'startEvalRequestsListener', true, false],
+ ];
}
/**
@@ -242,24 +242,24 @@ class PHPConsoleHandlerTest extends TestCase
if ($isArgument) {
$expectCall->with($value);
}
- new PHPConsoleHandler(array($option => $value), $this->connector);
+ new PHPConsoleHandler([$option => $value], $this->connector);
}
public function testOptionDetectDumpTraceAndSource()
{
- new PHPConsoleHandler(array('detectDumpTraceAndSource' => true), $this->connector);
+ new PHPConsoleHandler(['detectDumpTraceAndSource' => true], $this->connector);
$this->assertTrue($this->connector->getDebugDispatcher()->detectTraceAndSource);
}
public static function provideDumperOptionsValues()
{
- return array(
- array('dumperLevelLimit', 'levelLimit', 1001),
- array('dumperItemsCountLimit', 'itemsCountLimit', 1002),
- array('dumperItemSizeLimit', 'itemSizeLimit', 1003),
- array('dumperDumpSizeLimit', 'dumpSizeLimit', 1004),
- array('dumperDetectCallbacks', 'detectCallbacks', true),
- );
+ return [
+ ['dumperLevelLimit', 'levelLimit', 1001],
+ ['dumperItemsCountLimit', 'itemsCountLimit', 1002],
+ ['dumperItemSizeLimit', 'itemSizeLimit', 1003],
+ ['dumperDumpSizeLimit', 'dumpSizeLimit', 1004],
+ ['dumperDetectCallbacks', 'detectCallbacks', true],
+ ];
}
/**
@@ -267,7 +267,7 @@ class PHPConsoleHandlerTest extends TestCase
*/
public function testDumperOptions($option, $dumperProperty, $value)
{
- new PHPConsoleHandler(array($option => $value), $this->connector);
+ new PHPConsoleHandler([$option => $value], $this->connector);
$this->assertEquals($value, $this->connector->getDumper()->$dumperProperty);
}
}
diff --git a/tests/Monolog/Handler/ProcessHandlerTest.php b/tests/Monolog/Handler/ProcessHandlerTest.php
new file mode 100644
index 0000000..011c7c5
--- /dev/null
+++ b/tests/Monolog/Handler/ProcessHandlerTest.php
@@ -0,0 +1,195 @@
+<?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 Monolog\Handler;
+
+use Monolog\Test\TestCase;
+use Monolog\Logger;
+
+class ProcessHandlerTest extends TestCase
+{
+ /**
+ * Dummy command to be used by tests that should not fail due to the command.
+ *
+ * @var string
+ */
+ const DUMMY_COMMAND = 'echo';
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::__construct
+ * @covers Monolog\Handler\ProcessHandler::guardAgainstInvalidCommand
+ * @covers Monolog\Handler\ProcessHandler::guardAgainstInvalidCwd
+ * @covers Monolog\Handler\ProcessHandler::write
+ * @covers Monolog\Handler\ProcessHandler::ensureProcessIsStarted
+ * @covers Monolog\Handler\ProcessHandler::startProcess
+ * @covers Monolog\Handler\ProcessHandler::handleStartupErrors
+ */
+ public function testWriteOpensProcessAndWritesToStdInOfProcess()
+ {
+ $fixtures = [
+ 'chuck norris',
+ 'foobar1337',
+ ];
+
+ $mockBuilder = $this->getMockBuilder('Monolog\Handler\ProcessHandler');
+ $mockBuilder->setMethods(['writeProcessInput']);
+ // using echo as command, as it is most probably available
+ $mockBuilder->setConstructorArgs([self::DUMMY_COMMAND]);
+
+ $handler = $mockBuilder->getMock();
+
+ $handler->expects($this->exactly(2))
+ ->method('writeProcessInput')
+ ->withConsecutive($this->stringContains($fixtures[0]), $this->stringContains($fixtures[1]));
+
+ /** @var ProcessHandler $handler */
+ $handler->handle($this->getRecord(Logger::WARNING, $fixtures[0]));
+ $handler->handle($this->getRecord(Logger::ERROR, $fixtures[1]));
+ }
+
+ /**
+ * Data provider for invalid commands.
+ *
+ * @return array
+ */
+ public function invalidCommandProvider()
+ {
+ return [
+ [1337],
+ [''],
+ [null],
+ [fopen('php://input', 'r')],
+ ];
+ }
+
+ /**
+ * @dataProvider invalidCommandProvider
+ * @param mixed $invalidCommand
+ * @covers Monolog\Handler\ProcessHandler::guardAgainstInvalidCommand
+ */
+ public function testConstructWithInvalidCommandThrowsInvalidArgumentException($invalidCommand)
+ {
+ $this->setExpectedException('\InvalidArgumentException');
+ new ProcessHandler($invalidCommand, Logger::DEBUG);
+ }
+
+ /**
+ * Data provider for invalid CWDs.
+ *
+ * @return array
+ */
+ public function invalidCwdProvider()
+ {
+ return [
+ [1337],
+ [''],
+ [fopen('php://input', 'r')],
+ ];
+ }
+
+ /**
+ * @dataProvider invalidCwdProvider
+ * @param mixed $invalidCwd
+ * @covers Monolog\Handler\ProcessHandler::guardAgainstInvalidCwd
+ */
+ public function testConstructWithInvalidCwdThrowsInvalidArgumentException($invalidCwd)
+ {
+ $this->setExpectedException('\InvalidArgumentException');
+ new ProcessHandler(self::DUMMY_COMMAND, Logger::DEBUG, true, $invalidCwd);
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::__construct
+ * @covers Monolog\Handler\ProcessHandler::guardAgainstInvalidCwd
+ */
+ public function testConstructWithValidCwdWorks()
+ {
+ $handler = new ProcessHandler(self::DUMMY_COMMAND, Logger::DEBUG, true, sys_get_temp_dir());
+ $this->assertInstanceOf(
+ 'Monolog\Handler\ProcessHandler',
+ $handler,
+ 'Constructed handler is not a ProcessHandler.'
+ );
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::handleStartupErrors
+ */
+ public function testStartupWithFailingToSelectErrorStreamThrowsUnexpectedValueException()
+ {
+ $mockBuilder = $this->getMockBuilder('Monolog\Handler\ProcessHandler');
+ $mockBuilder->setMethods(['selectErrorStream']);
+ $mockBuilder->setConstructorArgs([self::DUMMY_COMMAND]);
+
+ $handler = $mockBuilder->getMock();
+
+ $handler->expects($this->once())
+ ->method('selectErrorStream')
+ ->will($this->returnValue(false));
+
+ $this->setExpectedException('\UnexpectedValueException');
+ /** @var ProcessHandler $handler */
+ $handler->handle($this->getRecord(Logger::WARNING, 'stream failing, whoops'));
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::handleStartupErrors
+ * @covers Monolog\Handler\ProcessHandler::selectErrorStream
+ */
+ public function testStartupWithErrorsThrowsUnexpectedValueException()
+ {
+ $handler = new ProcessHandler('>&2 echo "some fake error message"');
+ $this->setExpectedException('\UnexpectedValueException');
+ $handler->handle($this->getRecord(Logger::WARNING, 'some warning in the house'));
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::write
+ */
+ public function testWritingWithErrorsOnStdOutOfProcessThrowsInvalidArgumentException()
+ {
+ $mockBuilder = $this->getMockBuilder('Monolog\Handler\ProcessHandler');
+ $mockBuilder->setMethods(['readProcessErrors']);
+ // using echo as command, as it is most probably available
+ $mockBuilder->setConstructorArgs([self::DUMMY_COMMAND]);
+
+ $handler = $mockBuilder->getMock();
+
+ $handler->expects($this->exactly(2))
+ ->method('readProcessErrors')
+ ->willReturnOnConsecutiveCalls('', $this->returnValue('some fake error message here'));
+
+ $this->setExpectedException('\UnexpectedValueException');
+ /** @var ProcessHandler $handler */
+ $handler->handle($this->getRecord(Logger::WARNING, 'some test stuff'));
+ }
+
+ /**
+ * @covers Monolog\Handler\ProcessHandler::close
+ */
+ public function testCloseClosesProcess()
+ {
+ $class = new \ReflectionClass('Monolog\Handler\ProcessHandler');
+ $property = $class->getProperty('process');
+ $property->setAccessible(true);
+
+ $handler = new ProcessHandler(self::DUMMY_COMMAND);
+ $handler->handle($this->getRecord(Logger::WARNING, '21 is only the half truth'));
+
+ $process = $property->getValue($handler);
+ $this->assertTrue(is_resource($process), 'Process is not running although it should.');
+
+ $handler->close();
+
+ $process = $property->getValue($handler);
+ $this->assertFalse(is_resource($process), 'Process is still running although it should not.');
+ }
+}
diff --git a/tests/Monolog/Handler/PsrHandlerTest.php b/tests/Monolog/Handler/PsrHandlerTest.php
index 64eaab1..6398809 100644
--- a/tests/Monolog/Handler/PsrHandlerTest.php
+++ b/tests/Monolog/Handler/PsrHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -21,11 +21,11 @@ class PsrHandlerTest extends TestCase
{
public function logLevelProvider()
{
- $levels = array();
+ $levels = [];
$monologLogger = new Logger('');
foreach ($monologLogger->getLevels() as $levelName => $level) {
- $levels[] = array($levelName, $level);
+ $levels[] = [$levelName, $level];
}
return $levels;
@@ -37,7 +37,7 @@ class PsrHandlerTest extends TestCase
public function testHandlesAllLevels($levelName, $level)
{
$message = 'Hello, world! ' . $level;
- $context = array('foo' => 'bar', 'level' => $level);
+ $context = ['foo' => 'bar', 'level' => $level];
$psrLogger = $this->getMock('Psr\Log\NullLogger');
$psrLogger->expects($this->once())
@@ -45,6 +45,6 @@ class PsrHandlerTest extends TestCase
->with(strtolower($levelName), $message, $context);
$handler = new PsrHandler($psrLogger);
- $handler->handle(array('level' => $level, 'level_name' => $levelName, 'message' => $message, 'context' => $context));
+ $handler->handle(['level' => $level, 'level_name' => $levelName, 'message' => $message, 'context' => $context]);
}
}
diff --git a/tests/Monolog/Handler/PushoverHandlerTest.php b/tests/Monolog/Handler/PushoverHandlerTest.php
index 56df474..e5336ab 100644
--- a/tests/Monolog/Handler/PushoverHandlerTest.php
+++ b/tests/Monolog/Handler/PushoverHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -103,7 +103,7 @@ class PushoverHandlerTest extends TestCase
public function testWriteToMultipleUsers()
{
- $this->createHandler('myToken', array('userA', 'userB'));
+ $this->createHandler('myToken', ['userA', 'userB']);
$this->handler->handle($this->getRecord(Logger::EMERGENCY, 'test1'));
fseek($this->res, 0);
$content = fread($this->res, 1024);
@@ -114,11 +114,11 @@ class PushoverHandlerTest extends TestCase
private function createHandler($token = 'myToken', $user = 'myUser', $title = 'Monolog')
{
- $constructorArgs = array($token, $user, $title);
+ $constructorArgs = [$token, $user, $title];
$this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock(
'\Monolog\Handler\PushoverHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
$constructorArgs
);
diff --git a/tests/Monolog/Handler/RavenHandlerTest.php b/tests/Monolog/Handler/RavenHandlerTest.php
index a7c4845..d4325e5 100644
--- a/tests/Monolog/Handler/RavenHandlerTest.php
+++ b/tests/Monolog/Handler/RavenHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
@@ -78,8 +78,8 @@ class RavenHandlerTest extends TestCase
$ravenClient = $this->getRavenClient();
$handler = $this->getHandler($ravenClient);
- $tags = array(1, 2, 'foo');
- $record = $this->getRecord(Logger::INFO, 'test', array('tags' => $tags));
+ $tags = [1, 2, 'foo'];
+ $record = $this->getRecord(Logger::INFO, 'test', ['tags' => $tags]);
$handler->handle($record);
$this->assertEquals($tags, $ravenClient->lastData['tags']);
@@ -92,7 +92,7 @@ class RavenHandlerTest extends TestCase
$checksum = '098f6bcd4621d373cade4e832627b4f6';
$release = '05a671c66aefea124cc08b76ea6d30bb';
- $record = $this->getRecord(Logger::INFO, 'test', array('checksum' => $checksum, 'release' => $release));
+ $record = $this->getRecord(Logger::INFO, 'test', ['checksum' => $checksum, 'release' => $release]);
$handler->handle($record);
$this->assertEquals($checksum, $ravenClient->lastData['checksum']);
@@ -104,8 +104,8 @@ class RavenHandlerTest extends TestCase
$ravenClient = $this->getRavenClient();
$handler = $this->getHandler($ravenClient);
- $fingerprint = array('{{ default }}', 'other value');
- $record = $this->getRecord(Logger::INFO, 'test', array('fingerprint' => $fingerprint));
+ $fingerprint = ['{{ default }}', 'other value'];
+ $record = $this->getRecord(Logger::INFO, 'test', ['fingerprint' => $fingerprint]);
$handler->handle($record);
$this->assertEquals($fingerprint, $ravenClient->lastData['fingerprint']);
@@ -119,14 +119,14 @@ class RavenHandlerTest extends TestCase
$recordWithNoContext = $this->getRecord(Logger::INFO, 'test with default user context');
// set user context 'externally'
- $user = array(
+ $user = [
'id' => '123',
'email' => 'test@test.com',
- );
+ ];
- $recordWithContext = $this->getRecord(Logger::INFO, 'test', array('user' => $user));
+ $recordWithContext = $this->getRecord(Logger::INFO, 'test', ['user' => $user]);
- $ravenClient->user_context(array('id' => 'test_user_id'));
+ $ravenClient->user_context(['id' => 'test_user_id']);
// handle context
$handler->handle($recordWithContext);
$this->assertEquals($user, $ravenClient->lastData['user']);
@@ -154,7 +154,7 @@ class RavenHandlerTest extends TestCase
try {
$this->methodThatThrowsAnException();
} catch (\Exception $e) {
- $record = $this->getRecord(Logger::ERROR, $e->getMessage(), array('exception' => $e));
+ $record = $this->getRecord(Logger::ERROR, $e->getMessage(), ['exception' => $e]);
$handler->handle($record);
}
@@ -183,13 +183,13 @@ class RavenHandlerTest extends TestCase
public function testHandleBatchDoNothingIfRecordsAreBelowLevel()
{
- $records = array(
+ $records = [
$this->getRecord(Logger::DEBUG, 'debug message 1'),
$this->getRecord(Logger::DEBUG, 'debug message 2'),
$this->getRecord(Logger::INFO, 'information'),
- );
+ ];
- $handler = $this->getMock('Monolog\Handler\RavenHandler', null, array($this->getRavenClient()));
+ $handler = $this->getMock('Monolog\Handler\RavenHandler', ['handle'], [$this->getRavenClient()]);
$handler->expects($this->never())->method('handle');
$handler->setLevel(Logger::ERROR);
$handler->handleBatch($records);
@@ -215,7 +215,7 @@ class RavenHandlerTest extends TestCase
$this->assertEquals($release, $ravenClient->lastData['release']);
$localRelease = 'v41.41.41';
- $record = $this->getRecord(Logger::INFO, 'test', array('release' => $localRelease));
+ $record = $this->getRecord(Logger::INFO, 'test', ['release' => $localRelease]);
$handler->handle($record);
$this->assertEquals($localRelease, $ravenClient->lastData['release']);
}
diff --git a/tests/Monolog/Handler/RedisHandlerTest.php b/tests/Monolog/Handler/RedisHandlerTest.php
index 689d527..719a128 100644
--- a/tests/Monolog/Handler/RedisHandlerTest.php
+++ b/tests/Monolog/Handler/RedisHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
use Monolog\Formatter\LineFormatter;
@@ -39,14 +39,14 @@ class RedisHandlerTest extends TestCase
public function testPredisHandle()
{
- $redis = $this->getMock('Predis\Client', array('rpush'));
+ $redis = $this->getMock('Predis\Client', ['rpush']);
// Predis\Client uses rpush
$redis->expects($this->once())
->method('rpush')
->with('key', 'test');
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
$handler = new RedisHandler($redis, 'key');
$handler->setFormatter(new LineFormatter("%message%"));
@@ -55,14 +55,14 @@ class RedisHandlerTest extends TestCase
public function testRedisHandle()
{
- $redis = $this->getMock('Redis', array('rpush'));
+ $redis = $this->getMock('Redis', ['rpush']);
// Redis uses rPush
$redis->expects($this->once())
- ->method('rPush')
+ ->method('rpush')
->with('key', 'test');
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
$handler = new RedisHandler($redis, 'key');
$handler->setFormatter(new LineFormatter("%message%"));
@@ -71,7 +71,7 @@ class RedisHandlerTest extends TestCase
public function testRedisHandleCapped()
{
- $redis = $this->getMock('Redis', array('multi', 'rpush', 'ltrim', 'exec'));
+ $redis = $this->getMock('Redis', ['multi', 'rpush', 'ltrim', 'exec']);
// Redis uses multi
$redis->expects($this->once())
@@ -90,7 +90,7 @@ class RedisHandlerTest extends TestCase
->method('exec')
->will($this->returnSelf());
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
$handler = new RedisHandler($redis, 'key', Logger::DEBUG, true, 10);
$handler->setFormatter(new LineFormatter("%message%"));
@@ -99,9 +99,9 @@ class RedisHandlerTest extends TestCase
public function testPredisHandleCapped()
{
- $redis = $this->getMock('Predis\Client', array('transaction'));
+ $redis = $this->getMock('Predis\Client', ['transaction']);
- $redisTransaction = $this->getMock('Predis\Client', array('rpush', 'ltrim'));
+ $redisTransaction = $this->getMock('Predis\Client', ['rpush', 'ltrim']);
$redisTransaction->expects($this->once())
->method('rpush')
@@ -118,7 +118,7 @@ class RedisHandlerTest extends TestCase
$cb($redisTransaction);
}));
- $record = $this->getRecord(Logger::WARNING, 'test', array('data' => new \stdClass, 'foo' => 34));
+ $record = $this->getRecord(Logger::WARNING, 'test', ['data' => new \stdClass, 'foo' => 34]);
$handler = new RedisHandler($redis, 'key', Logger::DEBUG, true, 10);
$handler->setFormatter(new LineFormatter("%message%"));
diff --git a/tests/Monolog/Handler/RotatingFileHandlerTest.php b/tests/Monolog/Handler/RotatingFileHandlerTest.php
index 96e6dff..58188e2 100644
--- a/tests/Monolog/Handler/RotatingFileHandlerTest.php
+++ b/tests/Monolog/Handler/RotatingFileHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,8 +11,8 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
-use PHPUnit_Framework_Error_Deprecated;
+use InvalidArgumentException;
+use Monolog\Test\TestCase;
/**
* @covers Monolog\Handler\RotatingFileHandler
@@ -37,11 +37,11 @@ class RotatingFileHandlerTest extends TestCase
$this->lastError = null;
$self = $this;
// workaround with &$self used for PHP 5.3
- set_error_handler(function($code, $message) use (&$self) {
- $self->lastError = array(
+ set_error_handler(function ($code, $message) use (&$self) {
+ $self->lastError = [
'code' => $code,
'message' => $message,
- );
+ ];
});
}
@@ -107,32 +107,32 @@ class RotatingFileHandlerTest extends TestCase
public function rotationTests()
{
$now = time();
- $dayCallback = function($ago) use ($now) {
+ $dayCallback = function ($ago) use ($now) {
return $now + 86400 * $ago;
};
- $monthCallback = function($ago) {
- return gmmktime(0, 0, 0, date('n') + $ago, date('d'), date('Y'));
+ $monthCallback = function ($ago) {
+ return gmmktime(0, 0, 0, (int) (date('n') + $ago), (int) date('d'), (int) date('Y'));
};
- $yearCallback = function($ago) {
- return gmmktime(0, 0, 0, date('n'), date('d'), date('Y') + $ago);
+ $yearCallback = function ($ago) {
+ return gmmktime(0, 0, 0, (int) date('n'), (int) date('d'), (int) (date('Y') + $ago));
};
- return array(
+ return [
'Rotation is triggered when the file of the current day is not present'
- => array(true, RotatingFileHandler::FILE_PER_DAY, $dayCallback),
+ => [true, RotatingFileHandler::FILE_PER_DAY, $dayCallback],
'Rotation is not triggered when the file of the current day is already present'
- => array(false, RotatingFileHandler::FILE_PER_DAY, $dayCallback),
+ => [false, RotatingFileHandler::FILE_PER_DAY, $dayCallback],
'Rotation is triggered when the file of the current month is not present'
- => array(true, RotatingFileHandler::FILE_PER_MONTH, $monthCallback),
+ => [true, RotatingFileHandler::FILE_PER_MONTH, $monthCallback],
'Rotation is not triggered when the file of the current month is already present'
- => array(false, RotatingFileHandler::FILE_PER_MONTH, $monthCallback),
+ => [false, RotatingFileHandler::FILE_PER_MONTH, $monthCallback],
'Rotation is triggered when the file of the current year is not present'
- => array(true, RotatingFileHandler::FILE_PER_YEAR, $yearCallback),
+ => [true, RotatingFileHandler::FILE_PER_YEAR, $yearCallback],
'Rotation is not triggered when the file of the current year is already present'
- => array(false, RotatingFileHandler::FILE_PER_YEAR, $yearCallback),
- );
+ => [false, RotatingFileHandler::FILE_PER_YEAR, $yearCallback],
+ ];
}
/**
@@ -141,26 +141,37 @@ class RotatingFileHandlerTest extends TestCase
public function testAllowOnlyFixedDefinedDateFormats($dateFormat, $valid)
{
$handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2);
- $handler->setFilenameFormat('{filename}-{date}', $dateFormat);
if (!$valid) {
- $this->assertErrorWasTriggered(
- E_USER_DEPRECATED,
- 'Invalid date format - format should be one of '.
- 'RotatingFileHandler::FILE_PER_DAY, RotatingFileHandler::FILE_PER_MONTH '.
- 'or RotatingFileHandler::FILE_PER_YEAR.'
- );
+ $this->setExpectedExceptionRegExp(InvalidArgumentException::class, '~^Invalid date format~');
}
+ $handler->setFilenameFormat('{filename}-{date}', $dateFormat);
}
public function dateFormatProvider()
{
- return array(
- array(RotatingFileHandler::FILE_PER_DAY, true),
- array(RotatingFileHandler::FILE_PER_MONTH, true),
- array(RotatingFileHandler::FILE_PER_YEAR, true),
- array('m-d-Y', false),
- array('Y-m-d-h-i', false)
- );
+ return [
+ [RotatingFileHandler::FILE_PER_DAY, true],
+ [RotatingFileHandler::FILE_PER_MONTH, true],
+ [RotatingFileHandler::FILE_PER_YEAR, true],
+ ['Y/m/d', true],
+ ['Y.m.d', true],
+ ['Y_m_d', true],
+ ['Ymd', true],
+ ['Ym/d', true],
+ ['Y/m', true],
+ ['Ym', true],
+ ['Y.m', true],
+ ['Y_m', true],
+ ['Y/md', true],
+ ['', false],
+ ['m-d-Y', false],
+ ['Y-m-d-h-i', false],
+ ['Y-', false],
+ ['Y-m-', false],
+ ['Y--', false],
+ ['m-d', false],
+ ['Y-d', false]
+ ];
}
/**
@@ -169,26 +180,24 @@ class RotatingFileHandlerTest extends TestCase
public function testDisallowFilenameFormatsWithoutDate($filenameFormat, $valid)
{
$handler = new RotatingFileHandler(__DIR__.'/Fixtures/foo.rot', 2);
- $handler->setFilenameFormat($filenameFormat, RotatingFileHandler::FILE_PER_DAY);
if (!$valid) {
- $this->assertErrorWasTriggered(
- E_USER_DEPRECATED,
- 'Invalid filename format - format should contain at least `{date}`, because otherwise rotating is impossible.'
- );
+ $this->setExpectedExceptionRegExp(InvalidArgumentException::class, '~^Invalid filename format~');
}
+
+ $handler->setFilenameFormat($filenameFormat, RotatingFileHandler::FILE_PER_DAY);
}
public function filenameFormatProvider()
{
- return array(
- array('{filename}', false),
- array('{filename}-{date}', true),
- array('{date}', true),
- array('foobar-{date}', true),
- array('foo-{date}-bar', true),
- array('{date}-foobar', true),
- array('foobar', false),
- );
+ return [
+ ['{filename}', false],
+ ['{filename}-{date}', true],
+ ['{date}', true],
+ ['foobar-{date}', true],
+ ['foo-{date}-bar', true],
+ ['{date}-foobar', true],
+ ['foobar', false],
+ ];
}
public function testReuseCurrentFile()
diff --git a/tests/Monolog/Handler/SamplingHandlerTest.php b/tests/Monolog/Handler/SamplingHandlerTest.php
index b354cee..90f5c9b 100644
--- a/tests/Monolog/Handler/SamplingHandlerTest.php
+++ b/tests/Monolog/Handler/SamplingHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
/**
* @covers Monolog\Handler\SamplingHandler::handle
diff --git a/tests/Monolog/Handler/SlackHandlerTest.php b/tests/Monolog/Handler/SlackHandlerTest.php
index d657fae..d42c19b 100644
--- a/tests/Monolog/Handler/SlackHandlerTest.php
+++ b/tests/Monolog/Handler/SlackHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -92,25 +92,25 @@ class SlackHandlerTest extends TestCase
public function provideLevelColors()
{
- return array(
- array(Logger::DEBUG, '%23e3e4e6'), // escaped #e3e4e6
- array(Logger::INFO, 'good'),
- array(Logger::NOTICE, 'good'),
- array(Logger::WARNING, 'warning'),
- array(Logger::ERROR, 'danger'),
- array(Logger::CRITICAL, 'danger'),
- array(Logger::ALERT, 'danger'),
- array(Logger::EMERGENCY,'danger'),
- );
+ return [
+ [Logger::DEBUG, '%23e3e4e6'], // escaped #e3e4e6
+ [Logger::INFO, 'good'],
+ [Logger::NOTICE, 'good'],
+ [Logger::WARNING, 'warning'],
+ [Logger::ERROR, 'danger'],
+ [Logger::CRITICAL, 'danger'],
+ [Logger::ALERT, 'danger'],
+ [Logger::EMERGENCY,'danger'],
+ ];
}
private function createHandler($token = 'myToken', $channel = 'channel1', $username = 'Monolog', $useAttachment = true, $iconEmoji = null, $useShortAttachment = false, $includeExtra = false)
{
- $constructorArgs = array($token, $channel, $username, $useAttachment, $iconEmoji, Logger::DEBUG, true, $useShortAttachment, $includeExtra);
+ $constructorArgs = [$token, $channel, $username, $useAttachment, $iconEmoji, Logger::DEBUG, true, $useShortAttachment, $includeExtra];
$this->res = fopen('php://memory', 'a');
$this->handler = $this->getMock(
'\Monolog\Handler\SlackHandler',
- array('fsockopen', 'streamSetTimeout', 'closeSocket'),
+ ['fsockopen', 'streamSetTimeout', 'closeSocket'],
$constructorArgs
);
diff --git a/tests/Monolog/Handler/SocketHandlerTest.php b/tests/Monolog/Handler/SocketHandlerTest.php
index 1f9c1f2..4574859 100644
--- a/tests/Monolog/Handler/SocketHandlerTest.php
+++ b/tests/Monolog/Handler/SocketHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -88,7 +88,7 @@ class SocketHandlerTest extends TestCase
*/
public function testExceptionIsThrownOnFsockopenError()
{
- $this->setMockHandler(array('fsockopen'));
+ $this->setMockHandler(['fsockopen']);
$this->handler->expects($this->once())
->method('fsockopen')
->will($this->returnValue(false));
@@ -100,7 +100,7 @@ class SocketHandlerTest extends TestCase
*/
public function testExceptionIsThrownOnPfsockopenError()
{
- $this->setMockHandler(array('pfsockopen'));
+ $this->setMockHandler(['pfsockopen']);
$this->handler->expects($this->once())
->method('pfsockopen')
->will($this->returnValue(false));
@@ -113,7 +113,7 @@ class SocketHandlerTest extends TestCase
*/
public function testExceptionIsThrownIfCannotSetTimeout()
{
- $this->setMockHandler(array('streamSetTimeout'));
+ $this->setMockHandler(['streamSetTimeout']);
$this->handler->expects($this->once())
->method('streamSetTimeout')
->will($this->returnValue(false));
@@ -125,13 +125,13 @@ class SocketHandlerTest extends TestCase
*/
public function testWriteFailsOnIfFwriteReturnsFalse()
{
- $this->setMockHandler(array('fwrite'));
+ $this->setMockHandler(['fwrite']);
$callback = function ($arg) {
- $map = array(
+ $map = [
'Hello world' => 6,
'world' => false,
- );
+ ];
return $map[$arg];
};
@@ -148,13 +148,13 @@ class SocketHandlerTest extends TestCase
*/
public function testWriteFailsIfStreamTimesOut()
{
- $this->setMockHandler(array('fwrite', 'streamGetMetadata'));
+ $this->setMockHandler(['fwrite', 'streamGetMetadata']);
$callback = function ($arg) {
- $map = array(
+ $map = [
'Hello world' => 6,
'world' => 5,
- );
+ ];
return $map[$arg];
};
@@ -164,7 +164,7 @@ class SocketHandlerTest extends TestCase
->will($this->returnCallback($callback));
$this->handler->expects($this->exactly(1))
->method('streamGetMetadata')
- ->will($this->returnValue(array('timed_out' => true)));
+ ->will($this->returnValue(['timed_out' => true]));
$this->writeRecord('Hello world');
}
@@ -174,7 +174,7 @@ class SocketHandlerTest extends TestCase
*/
public function testWriteFailsOnIncompleteWrite()
{
- $this->setMockHandler(array('fwrite', 'streamGetMetadata'));
+ $this->setMockHandler(['fwrite', 'streamGetMetadata']);
$res = $this->res;
$callback = function ($string) use ($res) {
@@ -188,7 +188,7 @@ class SocketHandlerTest extends TestCase
->will($this->returnCallback($callback));
$this->handler->expects($this->exactly(1))
->method('streamGetMetadata')
- ->will($this->returnValue(array('timed_out' => false)));
+ ->will($this->returnValue(['timed_out' => false]));
$this->writeRecord('Hello world');
}
@@ -205,13 +205,13 @@ class SocketHandlerTest extends TestCase
public function testWriteWithMock()
{
- $this->setMockHandler(array('fwrite'));
+ $this->setMockHandler(['fwrite']);
$callback = function ($arg) {
- $map = array(
+ $map = [
'Hello world' => 6,
'world' => 5,
- );
+ ];
return $map[$arg];
};
@@ -247,7 +247,7 @@ class SocketHandlerTest extends TestCase
*/
public function testAvoidInfiniteLoopWhenNoDataIsWrittenForAWritingTimeoutSeconds()
{
- $this->setMockHandler(array('fwrite', 'streamGetMetadata'));
+ $this->setMockHandler(['fwrite', 'streamGetMetadata']);
$this->handler->expects($this->any())
->method('fwrite')
@@ -255,7 +255,7 @@ class SocketHandlerTest extends TestCase
$this->handler->expects($this->any())
->method('streamGetMetadata')
- ->will($this->returnValue(array('timed_out' => false)));
+ ->will($this->returnValue(['timed_out' => false]));
$this->handler->setWritingTimeout(1);
@@ -273,17 +273,17 @@ class SocketHandlerTest extends TestCase
$this->handler->handle($this->getRecord(Logger::WARNING, $string));
}
- private function setMockHandler(array $methods = array())
+ private function setMockHandler(array $methods = [])
{
$this->res = fopen('php://memory', 'a');
- $defaultMethods = array('fsockopen', 'pfsockopen', 'streamSetTimeout');
+ $defaultMethods = ['fsockopen', 'pfsockopen', 'streamSetTimeout'];
$newMethods = array_diff($methods, $defaultMethods);
$finalMethods = array_merge($defaultMethods, $newMethods);
$this->handler = $this->getMock(
- '\Monolog\Handler\SocketHandler', $finalMethods, array('localhost:1234')
+ '\Monolog\Handler\SocketHandler', $finalMethods, ['localhost:1234']
);
if (!in_array('fsockopen', $methods)) {
diff --git a/tests/Monolog/Handler/StreamHandlerTest.php b/tests/Monolog/Handler/StreamHandlerTest.php
index 487030f..377e296 100644
--- a/tests/Monolog/Handler/StreamHandlerTest.php
+++ b/tests/Monolog/Handler/StreamHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class StreamHandlerTest extends TestCase
@@ -51,13 +51,38 @@ class StreamHandlerTest extends TestCase
{
$handler = new StreamHandler('php://memory');
$handler->handle($this->getRecord(Logger::WARNING, 'test'));
- $streamProp = new \ReflectionProperty('Monolog\Handler\StreamHandler', 'stream');
- $streamProp->setAccessible(true);
- $handle = $streamProp->getValue($handler);
+ $stream = $handler->getStream();
- $this->assertTrue(is_resource($handle));
+ $this->assertTrue(is_resource($stream));
$handler->close();
- $this->assertFalse(is_resource($handle));
+ $this->assertFalse(is_resource($stream));
+ }
+
+ /**
+ * @covers Monolog\Handler\StreamHandler::close
+ * @covers Monolog\Handler\Handler::__sleep
+ */
+ public function testSerialization()
+ {
+ $handler = new StreamHandler('php://memory');
+ $handler->handle($this->getRecord(Logger::WARNING, 'testfoo'));
+ $stream = $handler->getStream();
+
+ $this->assertTrue(is_resource($stream));
+ fseek($stream, 0);
+ $this->assertContains('testfoo', stream_get_contents($stream));
+ $serialized = serialize($handler);
+ $this->assertFalse(is_resource($stream));
+
+ $handler = unserialize($serialized);
+ $handler->handle($this->getRecord(Logger::WARNING, 'testbar'));
+ $stream = $handler->getStream();
+
+ $this->assertTrue(is_resource($stream));
+ fseek($stream, 0);
+ $contents = stream_get_contents($stream);
+ $this->assertNotContains('testfoo', $contents);
+ $this->assertContains('testbar', $contents);
}
/**
@@ -93,11 +118,11 @@ class StreamHandlerTest extends TestCase
public function invalidArgumentProvider()
{
- return array(
- array(1),
- array(array()),
- array(array('bogus://url')),
- );
+ return [
+ [1],
+ [[]],
+ [['bogus://url']],
+ ];
}
/**
diff --git a/tests/Monolog/Handler/SwiftMailerHandlerTest.php b/tests/Monolog/Handler/SwiftMailerHandlerTest.php
index 8588691..ec7fc21 100644
--- a/tests/Monolog/Handler/SwiftMailerHandlerTest.php
+++ b/tests/Monolog/Handler/SwiftMailerHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -12,7 +12,7 @@
namespace Monolog\Handler;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class SwiftMailerHandlerTest extends TestCase
{
@@ -37,10 +37,10 @@ class SwiftMailerHandlerTest extends TestCase
};
$handler = new SwiftMailerHandler($this->mailer, $callback);
- $records = array(
+ $records = [
$this->getRecord(Logger::DEBUG),
$this->getRecord(Logger::INFO),
- );
+ ];
$handler->handleBatch($records);
}
@@ -66,9 +66,9 @@ class SwiftMailerHandlerTest extends TestCase
$handler = new SwiftMailerHandler($this->mailer, $callback);
// Logging 1 record makes this an Emergency
- $records = array(
+ $records = [
$this->getRecord(Logger::EMERGENCY),
- );
+ ];
$handler->handleBatch($records);
}
@@ -83,14 +83,15 @@ class SwiftMailerHandlerTest extends TestCase
->method('send')
->with($this->callback(function ($value) use (&$receivedMessage) {
$receivedMessage = $value;
+
return true;
}));
$handler = new SwiftMailerHandler($this->mailer, $messageTemplate);
- $records = array(
+ $records = [
$this->getRecord(Logger::EMERGENCY),
- );
+ ];
$handler->handleBatch($records);
$this->assertEquals('Alert: EMERGENCY test', $receivedMessage->getSubject());
@@ -103,10 +104,10 @@ class SwiftMailerHandlerTest extends TestCase
$method = new \ReflectionMethod('Monolog\Handler\SwiftMailerHandler', 'buildMessage');
$method->setAccessible(true);
- $method->invokeArgs($handler, array($messageTemplate, array()));
+ $method->invokeArgs($handler, [$messageTemplate, []]);
- $builtMessage1 = $method->invoke($handler, $messageTemplate, array());
- $builtMessage2 = $method->invoke($handler, $messageTemplate, array());
+ $builtMessage1 = $method->invoke($handler, $messageTemplate, []);
+ $builtMessage2 = $method->invoke($handler, $messageTemplate, []);
$this->assertFalse($builtMessage1->getId() === $builtMessage2->getId(), 'Two different messages have the same id');
}
diff --git a/tests/Monolog/Handler/SyslogHandlerTest.php b/tests/Monolog/Handler/SyslogHandlerTest.php
index 8f9e46b..dd31f53 100644
--- a/tests/Monolog/Handler/SyslogHandlerTest.php
+++ b/tests/Monolog/Handler/SyslogHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
diff --git a/tests/Monolog/Handler/SyslogUdpHandlerTest.php b/tests/Monolog/Handler/SyslogUdpHandlerTest.php
index 497812b..25d7c58 100644
--- a/tests/Monolog/Handler/SyslogUdpHandlerTest.php
+++ b/tests/Monolog/Handler/SyslogUdpHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -29,7 +29,7 @@ class SyslogUdpHandlerTest extends \PHPUnit_Framework_TestCase
$handler = new SyslogUdpHandler("127.0.0.1", 514, "authpriv");
$handler->setFormatter(new \Monolog\Formatter\ChromePHPFormatter());
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('write'), array('lol', 'lol'));
+ $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', ['write'], ['lol', 'lol']);
$socket->expects($this->at(0))
->method('write')
->with("lol", "<".(LOG_AUTHPRIV + LOG_WARNING).">1 ");
@@ -44,6 +44,6 @@ class SyslogUdpHandlerTest extends \PHPUnit_Framework_TestCase
protected function getRecordWithMessage($msg)
{
- return array('message' => $msg, 'level' => \Monolog\Logger::WARNING, 'context' => null, 'extra' => array(), 'channel' => 'lol');
+ return ['message' => $msg, 'level' => \Monolog\Logger::WARNING, 'context' => null, 'extra' => [], 'channel' => 'lol'];
}
}
diff --git a/tests/Monolog/Handler/TestHandlerTest.php b/tests/Monolog/Handler/TestHandlerTest.php
index 75cc4a8..4fa20bb 100644
--- a/tests/Monolog/Handler/TestHandlerTest.php
+++ b/tests/Monolog/Handler/TestHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
/**
@@ -47,20 +47,20 @@ class TestHandlerTest extends TestCase
$records = $handler->getRecords();
unset($records[0]['formatted']);
- $this->assertEquals(array($record), $records);
+ $this->assertEquals([$record], $records);
}
public function methodProvider()
{
- return array(
- array('Emergency', Logger::EMERGENCY),
- array('Alert' , Logger::ALERT),
- array('Critical' , Logger::CRITICAL),
- array('Error' , Logger::ERROR),
- array('Warning' , Logger::WARNING),
- array('Info' , Logger::INFO),
- array('Notice' , Logger::NOTICE),
- array('Debug' , Logger::DEBUG),
- );
+ return [
+ ['Emergency', Logger::EMERGENCY],
+ ['Alert' , Logger::ALERT],
+ ['Critical' , Logger::CRITICAL],
+ ['Error' , Logger::ERROR],
+ ['Warning' , Logger::WARNING],
+ ['Info' , Logger::INFO],
+ ['Notice' , Logger::NOTICE],
+ ['Debug' , Logger::DEBUG],
+ ];
}
}
diff --git a/tests/Monolog/Handler/UdpSocketTest.php b/tests/Monolog/Handler/UdpSocketTest.php
index fa524d0..de0f7fb 100644
--- a/tests/Monolog/Handler/UdpSocketTest.php
+++ b/tests/Monolog/Handler/UdpSocketTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Handler\SyslogUdp\UdpSocket;
/**
@@ -21,7 +21,7 @@ class UdpSocketTest extends TestCase
{
public function testWeDoNotTruncateShortMessages()
{
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol'));
+ $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', ['send'], ['lol', 'lol']);
$socket->expects($this->at(0))
->method('send')
@@ -32,7 +32,7 @@ class UdpSocketTest extends TestCase
public function testLongMessagesAreTruncated()
{
- $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol'));
+ $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', ['send'], ['lol', 'lol']);
$truncatedString = str_repeat("derp", 16254).'d';
diff --git a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
index 8d37a1f..60f5175 100644
--- a/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
+++ b/tests/Monolog/Handler/WhatFailureGroupHandlerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Logger;
class WhatFailureGroupHandlerTest extends TestCase
@@ -22,7 +22,7 @@ class WhatFailureGroupHandlerTest extends TestCase
*/
public function testConstructorOnlyTakesHandler()
{
- new WhatFailureGroupHandler(array(new TestHandler(), "foo"));
+ new WhatFailureGroupHandler([new TestHandler(), "foo"]);
}
/**
@@ -31,7 +31,7 @@ class WhatFailureGroupHandlerTest extends TestCase
*/
public function testHandle()
{
- $testHandlers = array(new TestHandler(), new TestHandler());
+ $testHandlers = [new TestHandler(), new TestHandler()];
$handler = new WhatFailureGroupHandler($testHandlers);
$handler->handle($this->getRecord(Logger::DEBUG));
$handler->handle($this->getRecord(Logger::INFO));
@@ -47,9 +47,9 @@ class WhatFailureGroupHandlerTest extends TestCase
*/
public function testHandleBatch()
{
- $testHandlers = array(new TestHandler(), new TestHandler());
+ $testHandlers = [new TestHandler(), new TestHandler()];
$handler = new WhatFailureGroupHandler($testHandlers);
- $handler->handleBatch(array($this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)));
+ $handler->handleBatch([$this->getRecord(Logger::DEBUG), $this->getRecord(Logger::INFO)]);
foreach ($testHandlers as $test) {
$this->assertTrue($test->hasDebugRecords());
$this->assertTrue($test->hasInfoRecords());
@@ -62,7 +62,7 @@ class WhatFailureGroupHandlerTest extends TestCase
*/
public function testIsHandling()
{
- $testHandlers = array(new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING));
+ $testHandlers = [new TestHandler(Logger::ERROR), new TestHandler(Logger::WARNING)];
$handler = new WhatFailureGroupHandler($testHandlers);
$this->assertTrue($handler->isHandling($this->getRecord(Logger::ERROR)));
$this->assertTrue($handler->isHandling($this->getRecord(Logger::WARNING)));
@@ -75,7 +75,7 @@ class WhatFailureGroupHandlerTest extends TestCase
public function testHandleUsesProcessors()
{
$test = new TestHandler();
- $handler = new WhatFailureGroupHandler(array($test));
+ $handler = new WhatFailureGroupHandler([$test]);
$handler->pushProcessor(function ($record) {
$record['extra']['foo'] = true;
@@ -94,7 +94,7 @@ class WhatFailureGroupHandlerTest extends TestCase
{
$test = new TestHandler();
$exception = new ExceptionTestHandler();
- $handler = new WhatFailureGroupHandler(array($exception, $test, $exception));
+ $handler = new WhatFailureGroupHandler([$exception, $test, $exception]);
$handler->pushProcessor(function ($record) {
$record['extra']['foo'] = true;
@@ -112,7 +112,7 @@ class ExceptionTestHandler extends TestHandler
/**
* {@inheritdoc}
*/
- public function handle(array $record)
+ public function handle(array $record): bool
{
parent::handle($record);
diff --git a/tests/Monolog/Handler/ZendMonitorHandlerTest.php b/tests/Monolog/Handler/ZendMonitorHandlerTest.php
index 69b001e..4879ebe 100644
--- a/tests/Monolog/Handler/ZendMonitorHandlerTest.php
+++ b/tests/Monolog/Handler/ZendMonitorHandlerTest.php
@@ -1,4 +1,5 @@
-<?php
+<?php declare(strict_types=1);
+
/*
* This file is part of the Monolog package.
*
@@ -10,7 +11,7 @@
namespace Monolog\Handler;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class ZendMonitorHandlerTest extends TestCase
{
@@ -29,12 +30,12 @@ class ZendMonitorHandlerTest extends TestCase
public function testWrite()
{
$record = $this->getRecord();
- $formatterResult = array(
+ $formatterResult = [
'message' => $record['message'],
- );
+ ];
$zendMonitor = $this->getMockBuilder('Monolog\Handler\ZendMonitorHandler')
- ->setMethods(array('writeZendMonitorCustomEvent', 'getDefaultFormatter'))
+ ->setMethods(['writeZendMonitorCustomEvent', 'getDefaultFormatter'])
->getMock();
$formatterMock = $this->getMockBuilder('Monolog\Formatter\NormalizerFormatter')
diff --git a/tests/Monolog/LoggerTest.php b/tests/Monolog/LoggerTest.php
index c0bd1da..75c2dbd 100644
--- a/tests/Monolog/LoggerTest.php
+++ b/tests/Monolog/LoggerTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -38,7 +38,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
*/
public function testWithName()
{
- $first = new Logger('first', array($handler = new TestHandler()));
+ $first = new Logger('first', [$handler = new TestHandler()]);
$second = $first->withName('second');
$this->assertSame('first', $first->getName());
@@ -78,7 +78,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
$logger = new Logger('foo');
$handler = new TestHandler;
$logger->pushHandler($handler);
- $logger->addWarning('test');
+ $logger->warning('test');
list($record) = $handler->getRecords();
$this->assertEquals('foo', $record['channel']);
}
@@ -90,12 +90,12 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
{
$logger = new Logger(__METHOD__);
- $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'));
+ $handler = $this->getMock('Monolog\Handler\NullHandler', ['handle']);
$handler->expects($this->once())
->method('handle');
$logger->pushHandler($handler);
- $this->assertTrue($logger->addWarning('test'));
+ $this->assertTrue($logger->warning('test'));
}
/**
@@ -105,19 +105,19 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
{
$logger = new Logger(__METHOD__);
- $handler = $this->getMock('Monolog\Handler\NullHandler', array('handle'), array(Logger::ERROR));
+ $handler = $this->getMock('Monolog\Handler\NullHandler', ['handle'], [Logger::ERROR]);
$handler->expects($this->never())
->method('handle');
$logger->pushHandler($handler);
- $this->assertFalse($logger->addWarning('test'));
+ $this->assertFalse($logger->warning('test'));
}
public function testHandlersInCtor()
{
$handler1 = new TestHandler;
$handler2 = new TestHandler;
- $logger = new Logger(__METHOD__, array($handler1, $handler2));
+ $logger = new Logger(__METHOD__, [$handler1, $handler2]);
$this->assertEquals($handler1, $logger->popHandler());
$this->assertEquals($handler2, $logger->popHandler());
@@ -127,7 +127,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
{
$processor1 = new WebProcessor;
$processor2 = new WebProcessor;
- $logger = new Logger(__METHOD__, array(), array($processor1, $processor2));
+ $logger = new Logger(__METHOD__, [], [$processor1, $processor2]);
$this->assertEquals($processor1, $logger->popProcessor());
$this->assertEquals($processor2, $logger->popProcessor());
@@ -162,18 +162,18 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
$handler2 = new TestHandler;
$logger->pushHandler($handler1);
- $logger->setHandlers(array($handler2));
+ $logger->setHandlers([$handler2]);
// handler1 has been removed
- $this->assertEquals(array($handler2), $logger->getHandlers());
+ $this->assertEquals([$handler2], $logger->getHandlers());
- $logger->setHandlers(array(
+ $logger->setHandlers([
"AMapKey" => $handler1,
"Woop" => $handler2,
- ));
+ ]);
// Keys have been scrubbed
- $this->assertEquals(array($handler1, $handler2), $logger->getHandlers());
+ $this->assertEquals([$handler1, $handler2], $logger->getHandlers());
}
/**
@@ -196,17 +196,6 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
}
/**
- * @covers Monolog\Logger::pushProcessor
- * @expectedException InvalidArgumentException
- */
- public function testPushProcessorWithNonCallable()
- {
- $logger = new Logger(__METHOD__);
-
- $logger->pushProcessor(new \stdClass());
- }
-
- /**
* @covers Monolog\Logger::addRecord
*/
public function testProcessorsAreExecuted()
@@ -219,7 +208,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
return $record;
});
- $logger->addError('test');
+ $logger->error('test');
list($record) = $handler->getRecords();
$this->assertTrue($record['extra']['win']);
}
@@ -243,7 +232,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
$processor = $this->getMockBuilder('Monolog\Processor\WebProcessor')
->disableOriginalConstructor()
- ->setMethods(array('__invoke'))
+ ->setMethods(['__invoke'])
->getMock()
;
$processor->expects($this->once())
@@ -252,7 +241,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
;
$logger->pushProcessor($processor);
- $logger->addError('test');
+ $logger->error('test');
}
/**
@@ -271,7 +260,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
$logger->pushProcessor(function ($record) use ($that) {
$that->fail('The processor should not be called');
});
- $logger->addAlert('test');
+ $logger->alert('test');
}
/**
@@ -350,7 +339,7 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
->method('handle')
;
- $logger = new Logger(__METHOD__, array('last' => $handler3, 'second' => $handler2, 'first' => $handler1));
+ $logger = new Logger(__METHOD__, ['last' => $handler3, 'second' => $handler2, 'first' => $handler1]);
$logger->debug('test');
}
@@ -446,22 +435,14 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
/**
* @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::warning
+ * @covers Monolog\Logger::error
+ * @covers Monolog\Logger::critical
* @covers Monolog\Logger::alert
- * @covers Monolog\Logger::emerg
+ * @covers Monolog\Logger::emergency
*/
public function testLogMethods($method, $expectedLevel)
{
@@ -475,27 +456,17 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
public function logMethodProvider()
{
- return array(
- // monolog methods
- array('addDebug', Logger::DEBUG),
- array('addInfo', Logger::INFO),
- array('addNotice', Logger::NOTICE),
- array('addWarning', Logger::WARNING),
- array('addError', Logger::ERROR),
- array('addCritical', Logger::CRITICAL),
- array('addAlert', Logger::ALERT),
- array('addEmergency', Logger::EMERGENCY),
-
- // ZF/Sf2 compat methods
- array('debug', Logger::DEBUG),
- array('info', Logger::INFO),
- array('notice', Logger::NOTICE),
- array('warn', Logger::WARNING),
- array('err', Logger::ERROR),
- array('crit', Logger::CRITICAL),
- array('alert', Logger::ALERT),
- array('emerg', Logger::EMERGENCY),
- );
+ return [
+ // PSR-3 methods
+ ['debug', Logger::DEBUG],
+ ['info', Logger::INFO],
+ ['notice', Logger::NOTICE],
+ ['warning', Logger::WARNING],
+ ['error', Logger::ERROR],
+ ['critical', Logger::CRITICAL],
+ ['alert', Logger::ALERT],
+ ['emergency', Logger::EMERGENCY],
+ ];
}
/**
@@ -504,8 +475,8 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
*/
public function testSetTimezone($tz)
{
- Logger::setTimezone($tz);
$logger = new Logger('foo');
+ $logger->setTimezone($tz);
$handler = new TestHandler;
$logger->pushHandler($handler);
$logger->info('test');
@@ -516,7 +487,9 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
public function setTimezoneProvider()
{
return array_map(
- function ($tz) { return array(new \DateTimeZone($tz)); },
+ function ($tz) {
+ return [new \DateTimeZone($tz)];
+ },
\DateTimeZone::listIdentifiers()
);
}
@@ -539,10 +512,10 @@ class LoggerTest extends \PHPUnit_Framework_TestCase
public function useMicrosecondTimestampsProvider()
{
- return array(
+ return [
// this has a very small chance of a false negative (1/10^6)
- 'with microseconds' => array(true, 'assertNotSame'),
- 'without microseconds' => array(false, 'assertSame'),
- );
+ 'with microseconds' => [true, 'assertNotSame'],
+ 'without microseconds' => [false, 'assertSame'],
+ ];
}
}
diff --git a/tests/Monolog/Processor/GitProcessorTest.php b/tests/Monolog/Processor/GitProcessorTest.php
index 5adb505..0059e6d 100644
--- a/tests/Monolog/Processor/GitProcessorTest.php
+++ b/tests/Monolog/Processor/GitProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class GitProcessorTest extends TestCase
{
diff --git a/tests/Monolog/Processor/IntrospectionProcessorTest.php b/tests/Monolog/Processor/IntrospectionProcessorTest.php
index 0dd411d..5f5d9ae 100644
--- a/tests/Monolog/Processor/IntrospectionProcessorTest.php
+++ b/tests/Monolog/Processor/IntrospectionProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -27,7 +27,7 @@ function tester($handler, $record)
namespace Monolog\Processor;
use Monolog\Logger;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
use Monolog\Handler\TestHandler;
class IntrospectionProcessorTest extends TestCase
@@ -66,10 +66,10 @@ class IntrospectionProcessorTest extends TestCase
public function testLevelTooLow()
{
- $input = array(
+ $input = [
'level' => Logger::DEBUG,
- 'extra' => array(),
- );
+ 'extra' => [],
+ ];
$expected = $input;
@@ -81,18 +81,18 @@ class IntrospectionProcessorTest extends TestCase
public function testLevelEqual()
{
- $input = array(
+ $input = [
'level' => Logger::CRITICAL,
- 'extra' => array(),
- );
+ 'extra' => [],
+ ];
$expected = $input;
- $expected['extra'] = array(
+ $expected['extra'] = [
'file' => null,
'line' => null,
'class' => 'ReflectionMethod',
'function' => 'invokeArgs',
- );
+ ];
$processor = new IntrospectionProcessor(Logger::CRITICAL);
$actual = $processor($input);
@@ -102,18 +102,18 @@ class IntrospectionProcessorTest extends TestCase
public function testLevelHigher()
{
- $input = array(
+ $input = [
'level' => Logger::EMERGENCY,
- 'extra' => array(),
- );
+ 'extra' => [],
+ ];
$expected = $input;
- $expected['extra'] = array(
+ $expected['extra'] = [
'file' => null,
'line' => null,
'class' => 'ReflectionMethod',
'function' => 'invokeArgs',
- );
+ ];
$processor = new IntrospectionProcessor(Logger::CRITICAL);
$actual = $processor($input);
diff --git a/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php b/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
index eb66614..cd80527 100644
--- a/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
+++ b/tests/Monolog/Processor/MemoryPeakUsageProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class MemoryPeakUsageProcessorTest extends TestCase
{
diff --git a/tests/Monolog/Processor/MemoryUsageProcessorTest.php b/tests/Monolog/Processor/MemoryUsageProcessorTest.php
index 4692dbf..a4809cb 100644
--- a/tests/Monolog/Processor/MemoryUsageProcessorTest.php
+++ b/tests/Monolog/Processor/MemoryUsageProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class MemoryUsageProcessorTest extends TestCase
{
diff --git a/tests/Monolog/Processor/ProcessIdProcessorTest.php b/tests/Monolog/Processor/ProcessIdProcessorTest.php
index 458d2a3..ec39e8e 100644
--- a/tests/Monolog/Processor/ProcessIdProcessorTest.php
+++ b/tests/Monolog/Processor/ProcessIdProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class ProcessIdProcessorTest extends TestCase
{
diff --git a/tests/Monolog/Processor/PsrLogMessageProcessorTest.php b/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
index 029a0c0..77db842 100644
--- a/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
+++ b/tests/Monolog/Processor/PsrLogMessageProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -20,24 +20,24 @@ class PsrLogMessageProcessorTest extends \PHPUnit_Framework_TestCase
{
$proc = new PsrLogMessageProcessor;
- $message = $proc(array(
+ $message = $proc([
'message' => '{foo}',
- 'context' => array('foo' => $val),
- ));
+ 'context' => ['foo' => $val],
+ ]);
$this->assertEquals($expected, $message['message']);
}
public function getPairs()
{
- return array(
- array('foo', 'foo'),
- array('3', '3'),
- array(3, '3'),
- array(null, ''),
- array(true, '1'),
- array(false, ''),
- array(new \stdClass, '[object stdClass]'),
- array(array(), '[array]'),
- );
+ return [
+ ['foo', 'foo'],
+ ['3', '3'],
+ [3, '3'],
+ [null, ''],
+ [true, '1'],
+ [false, ''],
+ [new \stdClass, '[object stdClass]'],
+ [[], '[array]'],
+ ];
}
}
diff --git a/tests/Monolog/Processor/TagProcessorTest.php b/tests/Monolog/Processor/TagProcessorTest.php
index 0d860c6..da84378 100644
--- a/tests/Monolog/Processor/TagProcessorTest.php
+++ b/tests/Monolog/Processor/TagProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class TagProcessorTest extends TestCase
{
@@ -20,7 +20,7 @@ class TagProcessorTest extends TestCase
*/
public function testProcessor()
{
- $tags = array(1, 2, 3);
+ $tags = [1, 2, 3];
$processor = new TagProcessor($tags);
$record = $processor($this->getRecord());
@@ -32,18 +32,18 @@ class TagProcessorTest extends TestCase
*/
public function testProcessorTagModification()
{
- $tags = array(1, 2, 3);
+ $tags = [1, 2, 3];
$processor = new TagProcessor($tags);
$record = $processor($this->getRecord());
$this->assertEquals($tags, $record['extra']['tags']);
- $processor->setTags(array('a', 'b'));
+ $processor->setTags(['a', 'b']);
$record = $processor($this->getRecord());
- $this->assertEquals(array('a', 'b'), $record['extra']['tags']);
+ $this->assertEquals(['a', 'b'], $record['extra']['tags']);
- $processor->addTags(array('a', 'c', 'foo' => 'bar'));
+ $processor->addTags(['a', 'c', 'foo' => 'bar']);
$record = $processor($this->getRecord());
- $this->assertEquals(array('a', 'b', 'a', 'c', 'foo' => 'bar'), $record['extra']['tags']);
+ $this->assertEquals(['a', 'b', 'a', 'c', 'foo' => 'bar'], $record['extra']['tags']);
}
}
diff --git a/tests/Monolog/Processor/UidProcessorTest.php b/tests/Monolog/Processor/UidProcessorTest.php
index 5d13058..927d564 100644
--- a/tests/Monolog/Processor/UidProcessorTest.php
+++ b/tests/Monolog/Processor/UidProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,7 +11,7 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class UidProcessorTest extends TestCase
{
diff --git a/tests/Monolog/Processor/WebProcessorTest.php b/tests/Monolog/Processor/WebProcessorTest.php
index 4105baf..6da6ab8 100644
--- a/tests/Monolog/Processor/WebProcessorTest.php
+++ b/tests/Monolog/Processor/WebProcessorTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -11,20 +11,20 @@
namespace Monolog\Processor;
-use Monolog\TestCase;
+use Monolog\Test\TestCase;
class WebProcessorTest extends TestCase
{
public function testProcessor()
{
- $server = array(
+ $server = [
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
'HTTP_REFERER' => 'D',
'SERVER_NAME' => 'F',
'UNIQUE_ID' => 'G',
- );
+ ];
$processor = new WebProcessor($server);
$record = $processor($this->getRecord());
@@ -38,10 +38,10 @@ class WebProcessorTest extends TestCase
public function testProcessorDoNothingIfNoRequestUri()
{
- $server = array(
+ $server = [
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
- );
+ ];
$processor = new WebProcessor($server);
$record = $processor($this->getRecord());
$this->assertEmpty($record['extra']);
@@ -49,12 +49,12 @@ class WebProcessorTest extends TestCase
public function testProcessorReturnNullIfNoHttpReferer()
{
- $server = array(
+ $server = [
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
'SERVER_NAME' => 'F',
- );
+ ];
$processor = new WebProcessor($server);
$record = $processor($this->getRecord());
$this->assertNull($record['extra']['referrer']);
@@ -62,12 +62,12 @@ class WebProcessorTest extends TestCase
public function testProcessorDoesNotAddUniqueIdIfNotPresent()
{
- $server = array(
+ $server = [
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
'SERVER_NAME' => 'F',
- );
+ ];
$processor = new WebProcessor($server);
$record = $processor($this->getRecord());
$this->assertFalse(isset($record['extra']['unique_id']));
@@ -75,32 +75,32 @@ class WebProcessorTest extends TestCase
public function testProcessorAddsOnlyRequestedExtraFields()
{
- $server = array(
+ $server = [
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
'SERVER_NAME' => 'F',
- );
+ ];
- $processor = new WebProcessor($server, array('url', 'http_method'));
+ $processor = new WebProcessor($server, ['url', 'http_method']);
$record = $processor($this->getRecord());
- $this->assertSame(array('url' => 'A', 'http_method' => 'C'), $record['extra']);
+ $this->assertSame(['url' => 'A', 'http_method' => 'C'], $record['extra']);
}
public function testProcessorConfiguringOfExtraFields()
{
- $server = array(
+ $server = [
'REQUEST_URI' => 'A',
'REMOTE_ADDR' => 'B',
'REQUEST_METHOD' => 'C',
'SERVER_NAME' => 'F',
- );
+ ];
- $processor = new WebProcessor($server, array('url' => 'REMOTE_ADDR'));
+ $processor = new WebProcessor($server, ['url' => 'REMOTE_ADDR']);
$record = $processor($this->getRecord());
- $this->assertSame(array('url' => 'B'), $record['extra']);
+ $this->assertSame(['url' => 'B'], $record['extra']);
}
/**
diff --git a/tests/Monolog/PsrLogCompatTest.php b/tests/Monolog/PsrLogCompatTest.php
index ab89944..a4bbcd0 100644
--- a/tests/Monolog/PsrLogCompatTest.php
+++ b/tests/Monolog/PsrLogCompatTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
diff --git a/tests/Monolog/RegistryTest.php b/tests/Monolog/RegistryTest.php
index 15fdfbd..ef4e452 100644
--- a/tests/Monolog/RegistryTest.php
+++ b/tests/Monolog/RegistryTest.php
@@ -1,4 +1,4 @@
-<?php
+<?php declare(strict_types=1);
/*
* This file is part of the Monolog package.
@@ -38,26 +38,26 @@ class RegistryTest extends \PHPUnit_Framework_TestCase
$logger2 = new Logger('test2');
$logger3 = new Logger('test3');
- return array(
+ return [
// only instances
- array(
- array($logger1),
- array($logger1, $logger2),
- array(true, false),
- ),
+ [
+ [$logger1],
+ [$logger1, $logger2],
+ [true, false],
+ ],
// only names
- array(
- array($logger1),
- array('test1', 'test2'),
- array(true, false),
- ),
+ [
+ [$logger1],
+ ['test1', 'test2'],
+ [true, false],
+ ],
// mixed case
- array(
- array($logger1, $logger2),
- array('test1', $logger2, 'test3', $logger3),
- array(true, true, false, false),
- ),
- );
+ [
+ [$logger1, $logger2],
+ ['test1', $logger2, 'test3', $logger3],
+ [true, true, false, false],
+ ],
+ ];
}
/**
@@ -90,10 +90,10 @@ class RegistryTest extends \PHPUnit_Framework_TestCase
{
$logger1 = new Logger('test1');
- return array(
- array($logger1, $logger1),
- array($logger1, 'test1'),
- );
+ return [
+ [$logger1, $logger1],
+ [$logger1, 'test1'],
+ ];
}
/**
diff --git a/tests/Monolog/TestCase.php b/tests/Monolog/TestCase.php
deleted file mode 100644
index 4eb7b4c..0000000
--- a/tests/Monolog/TestCase.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * 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 Monolog;
-
-class TestCase extends \PHPUnit_Framework_TestCase
-{
- /**
- * @return array Record
- */
- protected function getRecord($level = Logger::WARNING, $message = 'test', $context = array())
- {
- return array(
- 'message' => $message,
- 'context' => $context,
- 'level' => $level,
- 'level_name' => Logger::getLevelName($level),
- 'channel' => 'test',
- 'datetime' => \DateTime::createFromFormat('U.u', sprintf('%.6F', microtime(true))),
- 'extra' => array(),
- );
- }
-
- /**
- * @return array
- */
- protected function getMultipleRecords()
- {
- return array(
- $this->getRecord(Logger::DEBUG, 'debug message 1'),
- $this->getRecord(Logger::DEBUG, 'debug message 2'),
- $this->getRecord(Logger::INFO, 'information'),
- $this->getRecord(Logger::WARNING, 'warning'),
- $this->getRecord(Logger::ERROR, 'error'),
- );
- }
-
- /**
- * @return Monolog\Formatter\FormatterInterface
- */
- protected function getIdentityFormatter()
- {
- $formatter = $this->getMock('Monolog\\Formatter\\FormatterInterface');
- $formatter->expects($this->any())
- ->method('format')
- ->will($this->returnCallback(function ($record) { return $record['message']; }));
-
- return $formatter;
- }
-}
diff --git a/tests/bootstrap.php b/tests/bootstrap.php
new file mode 100644
index 0000000..d475dd3
--- /dev/null
+++ b/tests/bootstrap.php
@@ -0,0 +1,14 @@
+<?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.
+ */
+
+date_default_timezone_set('UTC');
+
+require __DIR__.'/../vendor/autoload.php';