From 1aa009b0cf098e0faf9dc6210db35ea4f1ba826c Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sun, 2 Mar 2025 11:11:32 -0500 Subject: [PATCH] Revert "headless-browser: Do not log the inner text of crash tests" This reverts commit 533c8e910a0739b367f3497c79d6e9cc093317c7. This broke the ability to dump layout trees using headless-browser. --- UI/Headless/Test.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/UI/Headless/Test.cpp b/UI/Headless/Test.cpp index 81357f976df..94ad1858657 100644 --- a/UI/Headless/Test.cpp +++ b/UI/Headless/Test.cpp @@ -146,8 +146,10 @@ void run_dump_test(HeadlessWebView& view, Test& test, URL::URL const& url, int t }); auto handle_completed_test = [&test, url]() -> ErrorOr { - if (test.mode == TestMode::Crash) + if (test.expectation_path.is_empty()) { + outln("{}", test.text); return TestResult::Pass; + } auto open_expectation_file = [&](auto mode) { auto expectation_file_or_error = Core::File::open(test.expectation_path, mode); @@ -232,16 +234,24 @@ void run_dump_test(HeadlessWebView& view, Test& test, URL::URL const& url, int t }); }); }; - } else if (test.mode == TestMode::Text) { - view.on_load_finish = [&test, on_test_complete, url](auto const& loaded_url) { + } else if (test.mode == TestMode::Text || test.mode == TestMode::Crash) { + view.on_load_finish = [&view, &test, on_test_complete, url](auto const& loaded_url) { // We don't want subframe loads to trigger the test finish. if (!url.equals(loaded_url, URL::ExcludeFragment::Yes)) return; test.did_finish_loading = true; - if (test.did_finish_test) + if (test.expectation_path.is_empty()) { + auto promise = view.request_internal_page_info(WebView::PageInfoType::Text); + + promise->when_resolved([&test, on_test_complete = move(on_test_complete)](auto const& text) { + test.text = text; + on_test_complete(); + }); + } else if (test.did_finish_test) { on_test_complete(); + } }; view.on_text_test_finish = [&test, on_test_complete](auto const& text) { @@ -251,13 +261,6 @@ void run_dump_test(HeadlessWebView& view, Test& test, URL::URL const& url, int t if (test.did_finish_loading) on_test_complete(); }; - } else if (test.mode == TestMode::Crash) { - view.on_load_finish = [on_test_complete = move(on_test_complete), url](auto const& loaded_url) { - // We don't want subframe loads to trigger the test finish. - if (!url.equals(loaded_url, URL::ExcludeFragment::Yes)) - return; - on_test_complete(); - }; } view.on_set_test_timeout = [timer, timeout_in_milliseconds](double milliseconds) {