#include "android_webview/browser/prefetch/aw_preloading_utils.h"
#include "net/http/http_request_headers.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace android_webview {
using AwPreloadingUtilsTest = testing::Test;
TEST_F(AwPreloadingUtilsTest, GetShouldBypassHttpCacheFromHeaders) {
{
net::HttpRequestHeaders headers;
headers.SetHeader(kDisableHttpCacheHeader, "1");
EXPECT_TRUE(
GetShouldBypassHttpCacheFromHeaders(headers, true));
EXPECT_FALSE(headers.HasHeader(kDisableHttpCacheHeader));
}
{
net::HttpRequestHeaders headers;
headers.SetHeader(kDisableHttpCacheHeader, "1");
EXPECT_TRUE(
GetShouldBypassHttpCacheFromHeaders(headers, false));
EXPECT_TRUE(headers.HasHeader(kDisableHttpCacheHeader));
}
{
net::HttpRequestHeaders headers;
headers.SetHeader(kDisableHttpCacheHeader, "0");
EXPECT_FALSE(
GetShouldBypassHttpCacheFromHeaders(headers, true));
EXPECT_FALSE(headers.HasHeader(kDisableHttpCacheHeader));
}
{
net::HttpRequestHeaders headers;
EXPECT_FALSE(
GetShouldBypassHttpCacheFromHeaders(headers, true));
}
{
net::HttpRequestHeaders headers;
headers.SetHeader(kDisableHttpCacheHeader, "true");
EXPECT_FALSE(
GetShouldBypassHttpCacheFromHeaders(headers, true));
EXPECT_FALSE(headers.HasHeader(kDisableHttpCacheHeader));
}
{
net::HttpRequestHeaders headers;
headers.SetHeader("x-disable-http-cache", "1");
EXPECT_TRUE(
GetShouldBypassHttpCacheFromHeaders(headers, true));
EXPECT_FALSE(headers.HasHeader("x-disable-http-cache"));
EXPECT_FALSE(headers.HasHeader(kDisableHttpCacheHeader));
}
}
}