chromium/third_party/blink/renderer/core/loader/anchor_element_interaction_test.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#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();

}  // namespace
}  // namespace blink