chromium/third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter_test.cc

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

#include "third_party/blink/renderer/modules/service_worker/service_worker_router_type_converter.h"

#include <string_view>

#include "base/test/scoped_feature_list.h"
#include "services/network/public/mojom/service_worker_router_info.mojom-shared.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/service_worker/service_worker_router_rule.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_testing.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_union_urlpattern_urlpatterninit_usvstring.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_url_pattern_init.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_router_condition.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_router_rule.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_router_source.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_router_source_enum.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_running_status_enum.h"
#include "third_party/blink/renderer/bindings/modules/v8/v8_union_routersource_routersourceenum.h"
#include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/liburlpattern/parse.h"
#include "third_party/liburlpattern/pattern.h"

namespace blink {

namespace {

blink::KURL DefaultBaseUrl() {}

blink::SafeUrlPattern DefaultStringUrlPattern() {}

blink::SafeUrlPattern DefaultURLPatternInitUrlPattern() {}

TEST(ServiceWorkerRouterTypeConverterTest, Basic) {}

TEST(ServiceWorkerRouterTypeConverterTest, BasicURLPatternInit) {}

TEST(ServiceWorkerRouterTypeConverterTest, URLPatternInitWithEmptyProtocol) {}

TEST(ServiceWorkerRouterTypeConverterTest, URLPatternInitWithEmptyPathname) {}

TEST(ServiceWorkerRouterTypeConverterTest,
     EmptyUrlPatternShouldBeBaseURLPattern) {}

TEST(ServiceWorkerRouterTypeConverterTest,
     EmptyUrlPatternAndEmptyBaseURLShouldThrowException) {}

TEST(ServiceWorkerRouterTypeConverterTest, RegexpUrlPatternShouldBeNullopt) {}

TEST(ServiceWorkerRouterTypeConverterTest, Race) {}

TEST(ServiceWorkerRouterTypeConverterTest, FetchEvent) {}

TEST(ServiceWorkerRouterTypeConverterTest,
     FetchEventWithoutHandlerShouldRaise) {}

TEST(ServiceWorkerRouterTypeConverterTest, Request) {}

TEST(ServiceWorkerRouterTypeConverterTest, RequestMethodNormalize) {}

TEST(ServiceWorkerRouterTypeConverterTest, RunningStatus) {}

TEST(ServiceWorkerRouterTypeConverterTest, EmptyOrConditionShouldBeAllowed) {}

TEST(ServiceWorkerRouterTypeConverterTest, OrConditionWithMultipleElements) {}

TEST(ServiceWorkerRouterTypeConverterTest, NestedOrCondition) {}

TEST(ServiceWorkerRouterTypeConverterTest,
     OrConditionCombinedWithOthersShouldThrowException) {}
// TODO(crbug.com/1490445): Add tests to limit depth of condition nests

TEST(ServiceWorkerRouterTypeConverterTest, NotCondition) {}

TEST(ServiceWorkerRouterTypeConverterTest, NestedNotCondition) {}

TEST(ServiceWorkerRouterTypeConverterTest, Cache) {}

TEST(ServiceWorkerRouterTypeConverterTest, CacheName) {}

}  // namespace

}  // namespace blink