diff --git a/Libraries/LibJS/SyntaxHighlighter.cpp b/Libraries/LibJS/SyntaxHighlighter.cpp index 3d8eadc0ca..05f325c118 100644 --- a/Libraries/LibJS/SyntaxHighlighter.cpp +++ b/Libraries/LibJS/SyntaxHighlighter.cpp @@ -139,7 +139,7 @@ void SyntaxHighlighter::rehighlight(Palette const& palette) .spans = spans, .folding_regions = folding_regions, .source = source_data, - .position = {}, + .position = { 0, 0 }, .folding_region_starts = {}, }; diff --git a/Tests/LibWeb/CMakeLists.txt b/Tests/LibWeb/CMakeLists.txt index a9054e3344..5d3ba08138 100644 --- a/Tests/LibWeb/CMakeLists.txt +++ b/Tests/LibWeb/CMakeLists.txt @@ -11,6 +11,7 @@ set(TEST_SOURCES TestMicrosyntax.cpp TestMimeSniff.cpp TestNumbers.cpp + TestSourceHighlighter.cpp TestStrings.cpp ) @@ -20,5 +21,6 @@ endforeach() target_link_libraries(TestContentFilter PRIVATE LibURL) target_link_libraries(TestFetchURL PRIVATE LibURL) +target_link_libraries(TestSourceHighlighter PRIVATE LibURL LibWebView) add_subdirectory("test-web") diff --git a/Tests/LibWeb/TestSourceHighlighter.cpp b/Tests/LibWeb/TestSourceHighlighter.cpp new file mode 100644 index 0000000000..9836ccb2b7 --- /dev/null +++ b/Tests/LibWeb/TestSourceHighlighter.cpp @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2026-present, the Ladybird developers. + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#include +#include +#include + +TEST_CASE(highlight_script_with_braces) +{ + // Regression test for https://github.com/LadybirdBrowser/ladybird/issues/8529 + auto source = ""_string; + URL::URL base_url {}; + auto result = WebView::highlight_source({}, base_url, source, Syntax::Language::HTML, WebView::HighlightOutputMode::SourceOnly); + EXPECT(!result.is_empty()); +}