'test'], ); $format = Format::JSON; $serializedMessage = $format->serialize($message); $full_date = (new DateTime())->format('Y-m-d H:i:s'); $expectedJson = '{"date":"' . $full_date . '","level":"INFO","context":{"message":"test"},"trace":{"file":"TestCase","line":1182}}'; $this->assertEquals($expectedJson, $serializedMessage); } public function testIntelliJ(): void { $message = new Message( level: Level::Info, trace: debug_backtrace()[0], context: ['message' => 'test'], ); $format = Format::IntelliJ; $serializedMessage = $format->serialize($message); $full_date = (new DateTime())->format('Y-m-d H:i:s'); $expected = "{$full_date} [1182] INFO - TestCase - {\"message\":\"test\"}"; $this->assertEquals($expected, $serializedMessage); } public function testLaravel(): void { $message = new Message( level: Level::Info, trace: debug_backtrace()[0], context: ['message' => 'test'], ); $format = Format::Laravel; $serializedMessage = $format->serialize($message); $full_date = (new DateTime())->format('Y-m-d H:i:s'); $expected = "[{$full_date}] TestCase.INFO: {\"message\":\"test\"}"; $this->assertEquals($expected, $serializedMessage); } public function testSymfony(): void { $mock_datetime = Mockery::mock('DateTime'); $mock_datetime->shouldReceive('format')->andReturn('2020-01-01T00:00:00.000000P'); $message = new Message( level: Level::Info, trace: debug_backtrace()[0], context: ['message' => 'test'], ); $format = Format::Symfony; $serializedMessage = $format->serialize($message, $mock_datetime); $full_date = $mock_datetime->format('Y-m-d\TH:i:s.uP'); $expected = "[$full_date] TestCase.INFO: {\"message\":\"test\"}"; $this->assertEquals($expected, $serializedMessage); } }