ladybird/Tests/LibWeb/test-web/Application.h
Andreas Kling 0aaae1ac76 Tests/LibWeb: Cover UI-owned session history
Teach test-web to expose the UI-process history dump. Add focused
navigation tests for same-document traversal, fallback traversal, and
cross-document browser back and forward behavior. The expectations
assert document state and the UI-owned history snapshot.
2026-06-14 17:38:44 +02:00

56 lines
1.6 KiB
C++

/*
* Copyright (c) 2024-2025, Tim Flynn <trflynn89@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/ByteString.h>
#include <AK/Error.h>
#include <AK/String.h>
#include <AK/Vector.h>
#include <LibWebView/Application.h>
namespace TestWeb {
class Application : public WebView::Application {
WEB_VIEW_APPLICATION(Application)
public:
explicit Application(Optional<ByteString> ladybird_binary_path);
~Application();
virtual void create_platform_arguments(Core::ArgsParser&) override;
virtual void create_platform_options(WebView::BrowserOptions&, WebView::RequestServerOptions&, WebView::WebContentOptions&) override;
virtual bool should_capture_web_content_output() const override { return true; }
ErrorOr<void> launch_test_fixtures();
static constexpr u8 VERBOSITY_LEVEL_LOG_TEST_OUTPUT = 1;
static constexpr u8 VERBOSITY_LEVEL_LOG_TEST_DURATION = 2;
static constexpr u8 VERBOSITY_LEVEL_LOG_SLOWEST_TESTS = 3;
static constexpr u8 VERBOSITY_LEVEL_LOG_SKIPPED_TESTS = 4;
ByteString test_root_path;
ByteString results_directory { "test-dumps/results"sv };
size_t test_concurrency { 1 };
Vector<ByteString> test_globs;
ByteString python_executable_path;
String invocation_command_line;
bool dump_gc_graph { false };
bool fail_fast { false };
size_t repeat_count { 1 };
bool test_dry_run { false };
bool rebaseline { false };
bool shuffle { false };
bool run_ui_process_session_history_tests { false };
int per_test_timeout_in_seconds { 30 };
u8 verbosity { 0 };
bool quiet { false };
};
}