#include <cstddef>
#include <string_view>
#include <tuple>
#include "base/run_loop.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/simple_test_tick_clock.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/input/web_input_event.h"
#include "third_party/blink/public/common/input/web_mouse_event.h"
#include "third_party/blink/public/mojom/preloading/anchor_element_interaction_host.mojom-blink.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/html/html_anchor_element.h"
#include "third_party/blink/renderer/core/input/event_handler.h"
#include "third_party/blink/renderer/core/loader/anchor_element_interaction_tracker.h"
#include "third_party/blink/renderer/core/testing/sim/sim_request.h"
#include "third_party/blink/renderer/core/testing/sim/sim_test.h"
#include "third_party/blink/renderer/platform/scheduler/test/fake_task_runner.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support_with_mock_scheduler.h"
namespace blink {
namespace {
enum class PointerEventType { … };
class MockAnchorElementInteractionHost
: public mojom::blink::AnchorElementInteractionHost { … };
class AnchorElementInteractionTest : public SimTest { … };
TEST_F(AnchorElementInteractionTest, SingleAnchor) { … }
TEST_F(AnchorElementInteractionTest, InvalidHref) { … }
TEST_F(AnchorElementInteractionTest, RightClick) { … }
TEST_F(AnchorElementInteractionTest, NestedAnchorElementCheck) { … }
TEST_F(AnchorElementInteractionTest, SiblingAnchorElements) { … }
TEST_F(AnchorElementInteractionTest, NoAnchorElement) { … }
TEST_F(AnchorElementInteractionTest, TouchEvent) { … }
TEST_F(AnchorElementInteractionTest, DestroyedContext) { … }
TEST_F(AnchorElementInteractionTest, ValidMouseHover) { … }
TEST_F(AnchorElementInteractionTest, ShortMouseHover) { … }
TEST_F(AnchorElementInteractionTest, MousePointerEnterAndLeave) { … }
TEST_F(AnchorElementInteractionTest, MouseMotionEstimatorUnitTest) { … }
TEST_F(AnchorElementInteractionTest,
MouseMotionEstimatorWithVariableAcceleration) { … }
class AnchorElementInteractionMouseMotionEstimatorFeatureFlagTest
: public AnchorElementInteractionTest,
public ::testing::WithParamInterface<std::string_view> { … };
TEST_P(AnchorElementInteractionMouseMotionEstimatorFeatureFlagTest,
FeatureFlagIsEffective) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}