#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/core/script/script_runner.h"
#include "base/test/null_task_runner.h"
#include "base/time/time.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/mojom/frame/lifecycle.mojom-blink.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/core/frame/local_dom_window.h"
#include "third_party/blink/renderer/core/script/mock_script_element_base.h"
#include "third_party/blink/renderer/core/script/pending_script.h"
#include "third_party/blink/renderer/core/script/script.h"
#include "third_party/blink/renderer/core/testing/dummy_page_holder.h"
#include "third_party/blink/renderer/platform/bindings/runtime_call_stats.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/heap/thread_state.h"
#include "third_party/blink/renderer/platform/scheduler/main_thread/main_thread_scheduler_impl.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support_with_mock_scheduler.h"
InvokeWithoutArgs;
ElementsAre;
Return;
WhenSorted;
ElementsAreArray;
_;
namespace blink {
class MockPendingScript : public PendingScript { … };
class ScriptRunnerTest : public testing::Test { … };
TEST_F(ScriptRunnerTest, QueueSingleScript_Async) { … }
TEST_F(ScriptRunnerTest, QueueSingleScript_InOrder) { … }
TEST_F(ScriptRunnerTest, QueueMultipleScripts_InOrder) { … }
TEST_F(ScriptRunnerTest, QueueMixedScripts) { … }
TEST_F(ScriptRunnerTest, QueueReentrantScript_Async) { … }
TEST_F(ScriptRunnerTest, QueueReentrantScript_InOrder) { … }
TEST_F(ScriptRunnerTest, QueueReentrantScript_ManyAsyncScripts) { … }
TEST_F(ScriptRunnerTest, ResumeAndSuspend_InOrder) { … }
TEST_F(ScriptRunnerTest, ResumeAndSuspend_Async) { … }
TEST_F(ScriptRunnerTest, LateNotifications) { … }
TEST_F(ScriptRunnerTest, TasksWithDeadScriptRunner) { … }
TEST_F(ScriptRunnerTest, TryStreamWhenEnqueingScript) { … }
TEST_F(ScriptRunnerTest, DelayReasons) { … }
class PostTaskWithLowPriorityUntilTimeoutTest : public testing::Test { … };
TEST_F(PostTaskWithLowPriorityUntilTimeoutTest, RunTaskOnce) { … }
TEST_F(PostTaskWithLowPriorityUntilTimeoutTest, RunOnLowerPriorityTaskRunner) { … }
TEST_F(PostTaskWithLowPriorityUntilTimeoutTest, RunOnNormalPriorityTaskRunner) { … }
}