Skip to content

Commit 58c8f1a

Browse files
committed
[#532] Fix debugger replay for array payloads
1 parent c4b6069 commit 58c8f1a

2 files changed

Lines changed: 29 additions & 2 deletions

File tree

src/Debugger/Debugger.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ protected function createTab(string $type): void
174174

175175
foreach ($messages as $message) {
176176
$fn = key($message);
177-
$this->debugBar[$type]->$fn($message[$fn]);
177+
$this->debugBar[$type]->log($fn, $message[$fn]);
178178
}
179179
}
180180

tests/Unit/Debugger/DebuggerTest.php

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public function testDebugbarRender(): void
108108

109109
$this->debugger->initStore();
110110

111-
$rendererMock = Mockery::mock('alias:' . JavascriptRenderer::class);
111+
$rendererMock = Mockery::mock(JavascriptRenderer::class);
112112
$rendererMock->shouldReceive('setBaseUrl')->andReturnSelf();
113113
$rendererMock->shouldReceive('addAssets')->andReturnSelf();
114114
$rendererMock->shouldReceive('renderHead')->andReturn('<head></head>');
@@ -124,6 +124,33 @@ public function testDebugbarRender(): void
124124
$this->assertStringContainsString('<div>Debug Bar</div>', $output);
125125
}
126126

127+
public function testDebugbarRenderReplaysArrayPayloadsThroughLog(): void
128+
{
129+
$this->debugger->initStore();
130+
$this->debugger->addToStoreCell(Debugger::ROUTES, LogLevel::INFO, ['Route' => '/welcome']);
131+
132+
$collectorMock = Mockery::mock(MessagesCollector::class);
133+
$collectorMock->shouldReceive('log')
134+
->once()
135+
->with(LogLevel::INFO, ['Route' => '/welcome']);
136+
137+
$this->debugBarMock->shouldReceive('hasCollector')
138+
->with(Debugger::ROUTES)
139+
->andReturn(true);
140+
$this->debugBarMock->shouldReceive('offsetGet')
141+
->with(Debugger::ROUTES)
142+
->andReturn($collectorMock);
143+
144+
$method = new \ReflectionMethod($this->debugger, 'createTab');
145+
$method->setAccessible(true);
146+
$method->invoke($this->debugger, Debugger::ROUTES);
147+
148+
$this->assertEquals(
149+
['info' => ['Route' => '/welcome']],
150+
$this->debuggerStore->get(Debugger::ROUTES)[0]
151+
);
152+
}
153+
127154
public function testDebugbarRenderReturnsEmptyWhenDisabled(): void
128155
{
129156
config()->set('app.debug', false);

0 commit comments

Comments
 (0)