| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?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\Test;
- use Monolog\Logger;
- use Monolog\DateTimeImmutable;
- use Monolog\Formatter\FormatterInterface;
- /**
- * Lets you easily generate log records and a dummy formatter for testing purposes
- *
- * @author Jordi Boggiano <j.boggiano@seld.be>
- *
- * @phpstan-import-type Record from \Monolog\Logger
- * @phpstan-import-type Level from \Monolog\Logger
- */
- class TestCase extends \PHPUnit\Framework\TestCase
- {
- public function tearDown(): void
- {
- parent::tearDown();
- if (isset($this->handler)) {
- unset($this->handler);
- }
- }
- /**
- * @param mixed[] $context
- *
- * @return array Record
- *
- * @phpstan-param Level $level
- * @phpstan-return Record
- */
- protected function getRecord(int $level = Logger::WARNING, string $message = 'test', array $context = []): array
- {
- return [
- 'message' => (string) $message,
- 'context' => $context,
- 'level' => $level,
- 'level_name' => Logger::getLevelName($level),
- 'channel' => 'test',
- 'datetime' => new DateTimeImmutable(true),
- 'extra' => [],
- ];
- }
- /**
- * @phpstan-return Record[]
- */
- protected function getMultipleRecords(): array
- {
- return [
- $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'),
- ];
- }
- protected function getIdentityFormatter(): FormatterInterface
- {
- $formatter = $this->createMock(FormatterInterface::class);
- $formatter->expects($this->any())
- ->method('format')
- ->will($this->returnCallback(function ($record) {
- return $record['message'];
- }));
- return $formatter;
- }
- }
|