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

Unified Diff: chrome/browser/prefs/pref_hash_filter_unittest.cc

Issue 126093007: Introduce a hash_of_hashes dictionary. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: histogram desc Created 6 years, 11 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
Index: chrome/browser/prefs/pref_hash_filter_unittest.cc
diff --git a/chrome/browser/prefs/pref_hash_filter_unittest.cc b/chrome/browser/prefs/pref_hash_filter_unittest.cc
index 1b32dad6302281ab9f33390401c02eb70102cc8d..9248322a98a2f8d41d854fb7a7cf267313858d24 100644
--- a/chrome/browser/prefs/pref_hash_filter_unittest.cc
+++ b/chrome/browser/prefs/pref_hash_filter_unittest.cc
@@ -177,8 +177,9 @@ TEST_P(PrefHashFilterTest, FilterUntrackedPrefUpdate) {
TEST_P(PrefHashFilterTest, EmptyAndUnknown) {
ASSERT_FALSE(pref_store_contents_.Get(kTestPref, NULL));
+ // NULL values are always trusted by the PrefHashStore.
mock_pref_hash_store_->SetCheckResult(kTestPref,
- PrefHashStore::UNKNOWN_VALUE);
+ PrefHashStore::TRUSTED_UNKNOWN_VALUE);
pref_hash_filter_->FilterOnLoad(&pref_store_contents_);
ASSERT_EQ(arraysize(kTestTrackedPrefs),
mock_pref_hash_store_->checked_paths_count());
@@ -196,7 +197,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
ASSERT_TRUE(pref_store_contents_.Get(kTestPref, NULL));
mock_pref_hash_store_->SetCheckResult(kTestPref,
- PrefHashStore::UNKNOWN_VALUE);
+ PrefHashStore::UNTRUSTED_UNKNOWN_VALUE);
pref_hash_filter_->FilterOnLoad(&pref_store_contents_);
ASSERT_EQ(arraysize(kTestTrackedPrefs),
mock_pref_hash_store_->checked_paths_count());
@@ -217,6 +218,27 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
}
}
+TEST_P(PrefHashFilterTest, InitialValueTrustedUnknown) {
+ // Ownership of this value is transfered to |pref_store_contents_|.
+ base::Value* string_value = base::Value::CreateStringValue("test");
+ pref_store_contents_.Set(kTestPref, string_value);
+
+ ASSERT_TRUE(pref_store_contents_.Get(kTestPref, NULL));
+
+ mock_pref_hash_store_->SetCheckResult(kTestPref,
+ PrefHashStore::TRUSTED_UNKNOWN_VALUE);
+ pref_hash_filter_->FilterOnLoad(&pref_store_contents_);
+ ASSERT_EQ(arraysize(kTestTrackedPrefs),
+ mock_pref_hash_store_->checked_paths_count());
+ ASSERT_EQ(1u, mock_pref_hash_store_->stored_paths_count());
+
+ // Seeding is always allowed for trusted unknown values.
+ const base::Value* value_in_store;
+ ASSERT_TRUE(pref_store_contents_.Get(kTestPref, &value_in_store));
+ ASSERT_EQ(string_value, value_in_store);
+ ASSERT_EQ(string_value, mock_pref_hash_store_->stored_value(kTestPref));
+}
+
TEST_P(PrefHashFilterTest, InitialValueChanged) {
// Ownership of this value is transfered to |pref_store_contents_|.
base::Value* int_value = base::Value::CreateIntegerValue(1234);

Powered by Google App Engine
This is Rietveld 408576698