Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2074)

Unified Diff: chrome/browser/predictors/resource_prefetch_predictor_unittest.cc

Issue 2790633002: predictors: Remove unknown fields from PrecacheManifest before store it. (Closed)
Patch Set: Move implementation into .cc file. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/predictors/resource_prefetch_predictor.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
diff --git a/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc b/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
index a1b2f98b86e682e108f8b418e862123195624e6e..ebab53d013819f430a10755f27bba11f26cc77a8 100644
--- a/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
+++ b/chrome/browser/predictors/resource_prefetch_predictor_unittest.cc
@@ -1041,6 +1041,33 @@ TEST_F(ResourcePrefetchPredictorTest, ManifestHostNotInDBAndDBFull) {
predictor_->OnManifestFetched("en.wikipedia.org", manifest);
}
+TEST_F(ResourcePrefetchPredictorTest, ManifestUnknownFieldsRemoved) {
+ precache::PrecacheManifest manifest = CreateManifestData(1);
+ InitializePrecacheResource(manifest.add_resource(),
+ "http://cdn.google.com/script.js", 0.9);
+ InitializePrecacheResource(manifest.add_resource(),
+ "http://cdn.google.com/style.css", 0.75);
+
+ precache::PrecacheManifest manifest_with_unknown_fields(manifest);
+ manifest_with_unknown_fields.mutable_id()->mutable_unknown_fields()->append(
+ "DATA");
+ manifest_with_unknown_fields.mutable_unknown_fields()->append("DATA");
+ for (auto& resource : *manifest_with_unknown_fields.mutable_resource()) {
+ resource.mutable_unknown_fields()->append("DATA");
+ }
+
+ int manifest_size = manifest.ByteSize();
+ auto match_size = [manifest_size](const precache::PrecacheManifest& m) {
+ return m.ByteSize() == manifest_size;
+ };
+ EXPECT_CALL(
+ *mock_tables_.get(),
+ UpdateManifestData("google.com",
+ testing::AllOf(manifest, testing::Truly(match_size))));
+
+ predictor_->OnManifestFetched("google.com", manifest_with_unknown_fields);
+}
+
TEST_F(ResourcePrefetchPredictorTest, DeleteUrls) {
// Add some dummy entries to cache.
predictor_->url_table_cache_->insert(
« no previous file with comments | « chrome/browser/predictors/resource_prefetch_predictor.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698