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

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

Issue 151003004: Add an automatic settings reset banner. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pre-review cleanup. Created 6 years, 10 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 66f5cc46cf3e3dd9460867c63f0f894fec28eea0..bc2960a8331c433a593b989f010247e7840adbff 100644
--- a/chrome/browser/prefs/pref_hash_filter_unittest.cc
+++ b/chrome/browser/prefs/pref_hash_filter_unittest.cc
@@ -209,21 +209,40 @@ void MockPrefHashStore::RecordStoreHash(
std::make_pair(path, std::make_pair(new_value, strategy))).second);
}
+class FakePrefHashFilter : public PrefHashFilter {
gab 2014/02/06 20:40:11 If you use the callback approach, you don't need t
robertshield 2014/02/07 04:36:19 Indeed.
+ public:
+ FakePrefHashFilter(scoped_ptr<PrefHashStore> pref_hash_store,
+ const TrackedPreferenceMetadata tracked_preferences[],
+ size_t tracked_preferences_size,
+ size_t reporting_ids_count,
+ EnforcementLevel enforcement_level)
+ : PrefHashFilter(pref_hash_store.Pass(), tracked_preferences,
+ tracked_preferences_size, reporting_ids_count,
+ enforcement_level),
+ reset_count_(0) {}
+
+ virtual void WriteResetEvent() OVERRIDE {
+ reset_count_++;
+ }
+
+ int reset_count_;
+};
+
// Creates a PrefHashFilter that uses a MockPrefHashStore. The
// MockPrefHashStore (owned by the PrefHashFilter) is returned in
// |mock_pref_hash_store|.
-scoped_ptr<PrefHashFilter> CreatePrefHashFilter(
+scoped_ptr<FakePrefHashFilter> CreatePrefHashFilter(
PrefHashFilter::EnforcementLevel enforcement_level,
MockPrefHashStore** mock_pref_hash_store) {
scoped_ptr<MockPrefHashStore> temp_mock_pref_hash_store(
new MockPrefHashStore);
if (mock_pref_hash_store)
*mock_pref_hash_store = temp_mock_pref_hash_store.get();
- return scoped_ptr<PrefHashFilter>(
- new PrefHashFilter(temp_mock_pref_hash_store.PassAs<PrefHashStore>(),
- kTestTrackedPrefs, arraysize(kTestTrackedPrefs),
- arraysize(kTestTrackedPrefs),
- enforcement_level));
+ return scoped_ptr<FakePrefHashFilter>(
+ new FakePrefHashFilter(temp_mock_pref_hash_store.PassAs<PrefHashStore>(),
+ kTestTrackedPrefs, arraysize(kTestTrackedPrefs),
+ arraysize(kTestTrackedPrefs),
+ enforcement_level));
}
class PrefHashFilterTest
@@ -240,7 +259,7 @@ class PrefHashFilterTest
protected:
MockPrefHashStore* mock_pref_hash_store_;
base::DictionaryValue pref_store_contents_;
- scoped_ptr<PrefHashFilter> pref_hash_filter_;
+ scoped_ptr<FakePrefHashFilter> pref_hash_filter_;
DISALLOW_COPY_AND_ASSIGN(PrefHashFilterTest);
};
@@ -258,6 +277,7 @@ TEST_P(PrefHashFilterTest, EmptyAndUnchanged) {
ASSERT_EQ(NULL, mock_pref_hash_store_->checked_value(
kTestTrackedPrefs[i].name).first);
}
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
TEST_P(PrefHashFilterTest, FilterTrackedPrefUpdate) {
@@ -277,6 +297,8 @@ TEST_P(PrefHashFilterTest, FilterTrackedPrefUpdate) {
mock_pref_hash_store_->stored_value(kAtomicPref);
ASSERT_EQ(string_value, stored_value.first);
ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC, stored_value.second);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
TEST_P(PrefHashFilterTest, FilterSplitPrefUpdate) {
@@ -298,6 +320,8 @@ TEST_P(PrefHashFilterTest, FilterSplitPrefUpdate) {
mock_pref_hash_store_->stored_value(kSplitPref);
ASSERT_EQ(dict_value, stored_value.first);
ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_value.second);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
TEST_P(PrefHashFilterTest, FilterUntrackedPrefUpdate) {
@@ -425,6 +449,8 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
ASSERT_FALSE(pref_store_contents_.Get(kSplitPref, NULL));
ASSERT_EQ(NULL, stored_split_value.first);
+
+ ASSERT_EQ(1, pref_hash_filter_->reset_count_);
} else {
// Otherwise the values should have remained intact and the hashes should
// have been updated to match them.
@@ -437,6 +463,8 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
ASSERT_TRUE(pref_store_contents_.Get(kSplitPref, &split_value_in_store));
ASSERT_EQ(dict_value, split_value_in_store);
ASSERT_EQ(dict_value, stored_split_value.first);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
}
@@ -534,6 +562,8 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
ASSERT_FALSE(dict_value->HasKey("c"));
ASSERT_TRUE(dict_value->HasKey("d"));
ASSERT_EQ(dict_value, stored_split_value.first);
+
+ ASSERT_EQ(1, pref_hash_filter_->reset_count_);
} else {
// Otherwise the value should have remained intact and the hash should have
// been updated to match it.
@@ -551,6 +581,8 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
ASSERT_TRUE(dict_value->HasKey("c"));
ASSERT_TRUE(dict_value->HasKey("d"));
ASSERT_EQ(dict_value, stored_split_value.first);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
}
@@ -606,6 +638,8 @@ TEST_P(PrefHashFilterTest, InitialValueMigrated) {
// current enforcement level prevents migration.
ASSERT_FALSE(pref_store_contents_.Get(kAtomicPref, NULL));
ASSERT_EQ(NULL, stored_atomic_value.first);
+
+ ASSERT_EQ(1, pref_hash_filter_->reset_count_);
} else {
// Otherwise the value should have remained intact and the hash should have
// been updated to match it.
@@ -613,6 +647,8 @@ TEST_P(PrefHashFilterTest, InitialValueMigrated) {
ASSERT_TRUE(pref_store_contents_.Get(kAtomicPref, &atomic_value_in_store));
ASSERT_EQ(list_value, atomic_value_in_store);
ASSERT_EQ(list_value, stored_atomic_value.first);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
}
@@ -661,6 +697,8 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
ASSERT_FALSE(pref_store_contents_.Get(kAtomicPref2, NULL));
ASSERT_EQ(NULL, mock_pref_hash_store_->stored_value(kAtomicPref).first);
ASSERT_EQ(NULL, mock_pref_hash_store_->stored_value(kAtomicPref2).first);
+
+ ASSERT_EQ(1, pref_hash_filter_->reset_count_);
} else {
const base::Value* value_in_store;
const base::Value* value_in_store2;
@@ -672,6 +710,8 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
ASSERT_EQ(int_value2, value_in_store2);
ASSERT_EQ(int_value2,
mock_pref_hash_store_->stored_value(kAtomicPref2).first);
+
+ ASSERT_EQ(0, pref_hash_filter_->reset_count_);
}
}

Powered by Google App Engine
This is Rietveld 408576698