'.$escapedContent.''; $document = new DOMDocument; $document->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD); return $document->documentElement->getAttribute('data-line-text'); } describe('Log Viewer HTML Tag Preservation', function () { it('lets Blade escape deployment log data attributes only once', function () { $view = file_get_contents(__DIR__.'/../../resources/views/livewire/project/application/deployment/show.blade.php'); expect($view) ->toContain('data-log-content="{{ $searchableContent }}"') ->toContain('data-line-text="{{ $lineContent }}"') ->not->toContain('data-log-content="{{ htmlspecialchars($searchableContent) }}"') ->not->toContain('data-line-text="{{ htmlspecialchars($lineContent) }}"'); }); it('preserves literal html-like log text for client-side search reset and highlighting', function () { $logContent = '