#include "third_party/blink/renderer/core/loader/modulescript/module_script_loader.h"
#include "base/test/scoped_feature_list.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/tokens/tokens.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/task_type.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
#include "third_party/blink/renderer/bindings/core/v8/worker_or_worklet_script_controller.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/loader/modulescript/document_module_script_fetcher.h"
#include "third_party/blink/renderer/core/loader/modulescript/module_script_fetch_request.h"
#include "third_party/blink/renderer/core/loader/modulescript/module_script_loader_client.h"
#include "third_party/blink/renderer/core/loader/modulescript/module_script_loader_registry.h"
#include "third_party/blink/renderer/core/loader/modulescript/worklet_module_script_fetcher.h"
#include "third_party/blink/renderer/core/origin_trials/origin_trial_context.h"
#include "third_party/blink/renderer/core/script/modulator.h"
#include "third_party/blink/renderer/core/script/module_script.h"
#include "third_party/blink/renderer/core/script/script.h"
#include "third_party/blink/renderer/core/testing/dummy_modulator.h"
#include "third_party/blink/renderer/core/testing/page_test_base.h"
#include "third_party/blink/renderer/core/workers/global_scope_creation_params.h"
#include "third_party/blink/renderer/core/workers/worker_thread_test_helper.h"
#include "third_party/blink/renderer/core/workers/worklet_global_scope.h"
#include "third_party/blink/renderer/core/workers/worklet_global_scope_test_helper.h"
#include "third_party/blink/renderer/core/workers/worklet_module_responses_map.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/loader/testing/fetch_testing_platform_support.h"
#include "third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h"
#include "third_party/blink/renderer/platform/loader/testing/test_loader_factory.h"
#include "third_party/blink/renderer/platform/loader/testing/test_resource_fetcher_properties.h"
#include "third_party/blink/renderer/platform/testing/mock_context_lifecycle_notifier.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
#include "third_party/blink/renderer/platform/testing/url_loader_mock_factory.h"
#include "third_party/blink/renderer/platform/testing/url_test_helpers.h"
namespace blink {
namespace {
class TestModuleScriptLoaderClient final
: public GarbageCollected<TestModuleScriptLoaderClient>,
public ModuleScriptLoaderClient { … };
class ModuleScriptLoaderTestModulator final : public DummyModulator { … };
void ModuleScriptLoaderTestModulator::Trace(Visitor* visitor) const { … }
}
class ModuleScriptLoaderTest : public PageTestBase { … };
void ModuleScriptLoaderTest::SetUp() { … }
void ModuleScriptLoaderTest::TearDown() { … }
ModuleScriptLoaderTest::ModuleScriptLoaderTest()
: … { … }
void ModuleScriptLoaderTest::InitializeForDocument() { … }
void ModuleScriptLoaderTest::InitializeForWorklet() { … }
void ModuleScriptLoaderTest::TestFetchDataURL(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
void ModuleScriptLoaderTest::TestFetchDataURLJSONModule(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
void ModuleScriptLoaderTest::TestFetchDataURLInvalidJSONModule(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURL) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURLJSONModule) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURLInvalidJSONModule) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURL_OnWorklet) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURLJSONModule_OnWorklet) { … }
TEST_F(ModuleScriptLoaderTest, FetchDataURLInvalidJSONModule_OnWorklet) { … }
void ModuleScriptLoaderTest::TestInvalidSpecifier(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
TEST_F(ModuleScriptLoaderTest, InvalidSpecifier) { … }
TEST_F(ModuleScriptLoaderTest, InvalidSpecifier_OnWorklet) { … }
void ModuleScriptLoaderTest::TestFetchInvalidURL(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
TEST_F(ModuleScriptLoaderTest, FetchInvalidURL) { … }
TEST_F(ModuleScriptLoaderTest, FetchInvalidURL_OnWorklet) { … }
void ModuleScriptLoaderTest::TestFetchURL(
ModuleScriptCustomFetchType custom_fetch_type,
TestModuleScriptLoaderClient* client) { … }
TEST_F(ModuleScriptLoaderTest, FetchURL) { … }
TEST_F(ModuleScriptLoaderTest, FetchURL_OnWorklet) { … }
}