Commit 0111964d authored by Yoichi Osato's avatar Yoichi Osato Committed by Commit Bot

Refactor ResourceFetcherTest not to copy ResourceRequest

This patch introduced a subset class of ResourceRequest for test
checking.
This is a preparation to make ResourceRequest non-copyable.

Bug: 787704
Change-Id: I0d0f52533c00078a9955a24eb16b3d9d552ab591
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1994840Reviewed-by: default avatarYutaka Hirano <yhirano@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#730084}
parent 1c2670c8
...@@ -107,6 +107,21 @@ const FetchClientSettingsObjectSnapshot& CreateFetchClientSettingsObject( ...@@ -107,6 +107,21 @@ const FetchClientSettingsObjectSnapshot& CreateFetchClientSettingsObject(
FetchClientSettingsObject::InsecureNavigationsSet()); FetchClientSettingsObject::InsecureNavigationsSet());
} }
class PartialResourceRequest {
public:
PartialResourceRequest() : PartialResourceRequest(ResourceRequest()) {}
PartialResourceRequest(const ResourceRequest& request)
: is_ad_resource_(request.IsAdResource()),
priority_(request.Priority()) {}
bool IsAdResource() const { return is_ad_resource_; }
ResourceLoadPriority Priority() const { return priority_; }
private:
bool is_ad_resource_;
ResourceLoadPriority priority_;
};
} // namespace } // namespace
class ResourceFetcherTest : public testing::Test { class ResourceFetcherTest : public testing::Test {
...@@ -123,7 +138,7 @@ class ResourceFetcherTest : public testing::Test { ...@@ -123,7 +138,7 @@ class ResourceFetcherTest : public testing::Test {
const ResourceResponse& redirect_response, const ResourceResponse& redirect_response,
ResourceType, ResourceType,
const FetchInitiatorInfo&) override { const FetchInitiatorInfo&) override {
request_ = request; request_ = PartialResourceRequest(request);
} }
void DidChangePriority(uint64_t identifier, void DidChangePriority(uint64_t identifier,
ResourceLoadPriority, ResourceLoadPriority,
...@@ -149,12 +164,12 @@ class ResourceFetcherTest : public testing::Test { ...@@ -149,12 +164,12 @@ class ResourceFetcherTest : public testing::Test {
int64_t encoded_data_length, int64_t encoded_data_length,
IsInternalRequest is_internal_request) override {} IsInternalRequest is_internal_request) override {}
const base::Optional<ResourceRequest>& GetLastRequest() const { const base::Optional<PartialResourceRequest>& GetLastRequest() const {
return request_; return request_;
} }
private: private:
base::Optional<ResourceRequest> request_; base::Optional<PartialResourceRequest> request_;
}; };
protected: protected:
...@@ -261,7 +276,8 @@ TEST_F(ResourceFetcherTest, WillSendRequestAdBit) { ...@@ -261,7 +276,8 @@ TEST_F(ResourceFetcherTest, WillSendRequestAdBit) {
Resource* new_resource = RawResource::Fetch(fetch_params, fetcher, nullptr); Resource* new_resource = RawResource::Fetch(fetch_params, fetcher, nullptr);
EXPECT_EQ(resource, new_resource); EXPECT_EQ(resource, new_resource);
base::Optional<ResourceRequest> new_request = observer->GetLastRequest(); base::Optional<PartialResourceRequest> new_request =
observer->GetLastRequest();
EXPECT_TRUE(new_request.has_value()); EXPECT_TRUE(new_request.has_value());
EXPECT_TRUE(new_request.value().IsAdResource()); EXPECT_TRUE(new_request.value().IsAdResource());
} }
...@@ -976,7 +992,8 @@ TEST_F(ResourceFetcherTest, StaleWhileRevalidate) { ...@@ -976,7 +992,8 @@ TEST_F(ResourceFetcherTest, StaleWhileRevalidate) {
EXPECT_TRUE(GetMemoryCache()->Contains(resource)); EXPECT_TRUE(GetMemoryCache()->Contains(resource));
static_cast<scheduler::FakeTaskRunner*>(fetcher->GetTaskRunner().get()) static_cast<scheduler::FakeTaskRunner*>(fetcher->GetTaskRunner().get())
->RunUntilIdle(); ->RunUntilIdle();
base::Optional<ResourceRequest> swr_request = observer->GetLastRequest(); base::Optional<PartialResourceRequest> swr_request =
observer->GetLastRequest();
ASSERT_TRUE(swr_request.has_value()); ASSERT_TRUE(swr_request.has_value());
EXPECT_EQ(ResourceLoadPriority::kVeryLow, swr_request->Priority()); EXPECT_EQ(ResourceLoadPriority::kVeryLow, swr_request->Priority());
platform_->GetURLLoaderMockFactory()->ServeAsynchronousRequests(); platform_->GetURLLoaderMockFactory()->ServeAsynchronousRequests();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment