#include "third_party/blink/renderer/core/timing/soft_navigation_heuristics.h"
#include <memory>
#include "base/notreached.h"
#include "base/time/time.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/scheduler/task_attribution_id.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_keyboard_event_init.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_mouse_event_init.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/event_type_names.h"
#include "third_party/blink/renderer/core/events/keyboard_event.h"
#include "third_party/blink/renderer/core/events/mouse_event.h"
#include "third_party/blink/renderer/core/html/html_body_element.h"
#include "third_party/blink/renderer/core/html/html_div_element.h"
#include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
#include "third_party/blink/renderer/core/timing/soft_navigation_context.h"
#include "third_party/blink/renderer/platform/bindings/script_state.h"
#include "third_party/blink/renderer/platform/heap/thread_state.h"
#include "third_party/blink/renderer/platform/scheduler/public/task_attribution_info.h"
#include "third_party/blink/renderer/platform/scheduler/public/task_attribution_tracker.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
namespace blink {
TaskScope;
TaskScopeType;
class SoftNavigationHeuristicsTest : public testing::Test { … };
TEST_F(SoftNavigationHeuristicsTest,
EarlyReturnOnInvalidPendingInteractionTimestamp) { … }
TEST_F(SoftNavigationHeuristicsTest, ResetHeuristicOnSetBecameEmpty) { … }
TEST_F(SoftNavigationHeuristicsTest, NestedEventScopesAreMerged) { … }
TEST_F(SoftNavigationHeuristicsTest, EventAfterSoftNavDetection) { … }
TEST_F(SoftNavigationHeuristicsTest,
HeuristicNotResetDuringGCWithActiveContext) { … }
TEST_F(SoftNavigationHeuristicsTest, SoftNavigationEmittedOnlyOnce) { … }
TEST_F(SoftNavigationHeuristicsTest, AsyncSameDocumentNavigation) { … }
TEST_F(SoftNavigationHeuristicsTest, AsyncSameDocumentNavigationNoContext) { … }
TEST_F(SoftNavigationHeuristicsTest, MaybeCreateEventScopeForEvent) { … }
}