#include "third_party/blink/renderer/platform/loader/fetch/memory_cache.h"
#include <string_view>
#include "base/test/scoped_feature_list.h"
#include "base/test/task_environment.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/platform/platform.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/loader/fetch/raw_resource.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_fetcher.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_loader_options.h"
#include "third_party/blink/renderer/platform/loader/fetch/resource_request.h"
#include "third_party/blink/renderer/platform/loader/testing/mock_fetch_context.h"
#include "third_party/blink/renderer/platform/loader/testing/mock_resource_client.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/testing_platform_support_with_mock_scheduler.h"
#include "third_party/blink/renderer/platform/testing/unit_test_helpers.h"
#include "third_party/blink/renderer/platform/weborigin/kurl.h"
namespace blink {
class FakeDecodedResource final : public Resource { … };
class MemoryCacheTest : public testing::Test { … };
TEST_F(MemoryCacheTest, CapacityAccounting) { … }
TEST_F(MemoryCacheTest, VeryLargeResourceAccounting) { … }
static void RunTask(Resource* resource1, Resource* resource2) { … }
static void TestResourcePruningLater(ResourceFetcher* fetcher,
const String& identifier1,
const String& identifier2) { … }
TEST_F(MemoryCacheTest, ResourcePruningLater_Basic) { … }
TEST_F(MemoryCacheTest, ResourcePruningLater_MultipleResourceMaps) { … }
static void TestClientRemoval(ResourceFetcher* fetcher,
const String& identifier1,
const String& identifier2) { … }
TEST_F(MemoryCacheTest, ClientRemoval_Basic) { … }
TEST_F(MemoryCacheTest, ClientRemoval_MultipleResourceMaps) { … }
TEST_F(MemoryCacheTest, RemoveDuringRevalidation) { … }
TEST_F(MemoryCacheTest, ResourceMapIsolation) { … }
TEST_F(MemoryCacheTest, FragmentIdentifier) { … }
TEST_F(MemoryCacheTest, RemoveURLFromCache) { … }
class MemoryCacheStrongReferenceTest : public MemoryCacheTest { … };
TEST_F(MemoryCacheStrongReferenceTest, ResourceTimeout) { … }
TEST_F(MemoryCacheStrongReferenceTest, LRU) { … }
}