chromium/content/browser/browsing_data/browsing_data_filter_builder_impl_unittest.cc

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

#ifdef UNSAFE_BUFFERS_BUILD
// TODO(crbug.com/342213636): Remove this and spanify to fix the errors.
#pragma allow_unsafe_buffers
#endif

#include "content/browser/browsing_data/browsing_data_filter_builder_impl.h"

#include <algorithm>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/functional/callback.h"
#include "base/strings/stringprintf.h"
#include "base/test/scoped_feature_list.h"
#include "content/public/browser/storage_partition_config.h"
#include "content/public/test/browser_task_environment.h"
#include "content/public/test/test_browser_context.h"
#include "net/cookies/canonical_cookie.h"
#include "net/cookies/cookie_deletion_info.h"
#include "services/network/cookie_manager.h"
#include "services/network/public/mojom/clear_data_filter.mojom.h"
#include "services/network/public/mojom/network_context.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "url/gurl.h"
#include "url/origin.h"

namespace content {

namespace {

CookieDeletionInfo;

IsEmpty;
UnorderedElementsAre;

const char kGoogleDomain[] =;
// sp.nom.br is an eTLD, so this is a regular valid registrable domain, just
// like google.com.
const char kLongETLDDomain[] =;
// This domain will also not be found in registries, and since it has only
// one component, it will not be recognized as a valid registrable domain.
const char kInternalHostname[] =;
// This domain will not be found in registries. It will be assumed that
// it belongs to an unknown registry, and since it has two components,
// they will be treated as the second level domain and TLD. Most importantly,
// it will NOT be treated as a subdomain of "fileserver".
const char kUnknownRegistryDomain[] =;
// IP addresses are supported.
const char kIPAddress[] =;

struct TestCase {};

void RunTestCase(TestCase test_case,
                 const base::RepeatingCallback<bool(const GURL&)>& filter) {}

void RunTestCase(TestCase test_case,
                 network::mojom::CookieDeletionFilterPtr deletion_filter) {}

void RunTestCase(
    TestCase test_case,
    const base::RepeatingCallback<bool(const std::string&)>& filter) {}

struct StorageKeyTestCase {};

void RunTestCase(
    StorageKeyTestCase test_case,
    const content::StoragePartition::StorageKeyMatcherFunction& filter) {}

}  // namespace

TEST(BrowsingDataFilterBuilderImplTest, Noop) {}

TEST(BrowsingDataFilterBuilderImplTest, EmptyDelete) {}

TEST(BrowsingDataFilterBuilderImplTest, MatchesNothing) {}

TEST(BrowsingDataFilterBuilderImplTest, RegistrableDomainGURLDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, RegistrableDomainGURLPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest,
     RegistrableDomainMatchesCookiesDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, EmptyCookieDeletionFilter) {}

TEST(BrowsingDataFilterBuilderImplTest,
     RegistrableDomainMatchesCookiesPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest, PartitionedCookies) {}

TEST(BrowsingDataFilterBuilderImplTest, StorageKey_PreserveNoOrigins) {}

TEST(BrowsingDataFilterBuilderImplTest, StorageKey) {}

TEST(BrowsingDataFilterBuilderImplTest,
     StorageKey_Domain_kThirdPartiesIncluded) {}

TEST(BrowsingDataFilterBuilderImplTest,
     StorageKey_Domain_kThirdPartiesIncluded_Domainless) {}

TEST(BrowsingDataFilterBuilderImplTest,
     StorageKey_Domain_kOriginInAllContexts) {}

TEST(BrowsingDataFilterBuilderImplTest,
     StorageKey_Domain_kOriginInAllContexts_Domainless) {}

TEST(BrowsingDataFilterBuilderImplTest, NetworkServiceFilterDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, NetworkServiceFilterPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest,
     RegistrableDomainMatchesPluginSitesDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest,
     RegistrableDomainMatchesPluginSitesPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest, OriginDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, OriginPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest, CombinedDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, CombinedPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest, PartitionedDeleteList) {}

TEST(BrowsingDataFilterBuilderImplTest, PartitionedPreserveList) {}

TEST(BrowsingDataFilterBuilderImplTest, GetOrigins) {}

TEST(BrowsingDataFilterBuilderImplTest, GetRegisterableDomains) {}

TEST(BrowsingDataFilterBuilderImplTest, ExcludeUnpartitionedCookies) {}

TEST(BrowsingDataFilterBuilderImplTest, CopyAndEquality) {}

TEST(BrowsingDataFilterBuilderImplTest, DeleteModeDoesntMatchMost) {}

TEST(BrowsingDataFilterBuilderImplTest, PreserveModeMatchesAll) {}

TEST(BrowsingDataFilterBuilderImplTest,
     PreserveModeWithOriginsOrDomainsMatchesMost) {}

TEST(BrowsingDataFilterBuilderImplTest,
     PreserveModeWithCookiePartitionKeysMatchesMost) {}

TEST(BrowsingDataFilterBuilderImplTest,
     PreserveModeWithStorageKeyDoesntMatchMost) {}

TEST(BrowsingDataFilterBuilderImplTest,
     PreserveModePartitionedCookiesOnlyDoesntMatchMost) {}

}  // namespace content