| 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 3b5e8218f1936d3d7892d8ec9e00e9d076fce572..dfcd6e5f05a9c3fe2a72f93aa6a5f7873b835f53 100644
|
| --- a/chrome/browser/prefs/pref_hash_filter_unittest.cc
|
| +++ b/chrome/browser/prefs/pref_hash_filter_unittest.cc
|
| @@ -348,7 +348,8 @@ class PrefHashFilterTest
|
| public:
|
| PrefHashFilterTest() : mock_pref_hash_store_(NULL),
|
| pref_store_contents_(new base::DictionaryValue),
|
| - last_filter_on_load_modified_prefs_(false) {}
|
| + last_filter_on_load_modified_prefs_(false),
|
| + reset_recorded_(false) {}
|
|
|
| virtual void SetUp() OVERRIDE {
|
| // Construct a PrefHashFilter and MockPrefHashStore for the test.
|
| @@ -367,13 +368,19 @@ class PrefHashFilterTest
|
| pref_hash_filter_.reset(
|
| new PrefHashFilter(temp_mock_pref_hash_store.PassAs<PrefHashStore>(),
|
| configuration,
|
| + base::Bind(&PrefHashFilterTest::RecordReset,
|
| + base::Unretained(this)),
|
| &mock_validation_delegate_,
|
| arraysize(kTestTrackedPrefs),
|
| true));
|
| }
|
|
|
| - bool RecordedReset() {
|
| - return pref_store_contents_->Get(prefs::kPreferenceResetTime, NULL);
|
| + // Verifies whether a reset was reported by the PrefHashFiler. Also verifies
|
| + // that kPreferenceResetTime was set (or not) accordingly.
|
| + void VerifyRecordedReset(bool reset_expected) {
|
| + EXPECT_EQ(reset_expected, reset_recorded_);
|
| + EXPECT_EQ(reset_expected,
|
| + pref_store_contents_->Get(prefs::kPreferenceResetTime, NULL));
|
| }
|
|
|
| // Calls FilterOnLoad() on |pref_hash_Filter_|. |pref_store_contents_| is
|
| @@ -404,6 +411,15 @@ class PrefHashFilterTest
|
| EXPECT_EQ(expected_schedule_write, schedule_write);
|
| }
|
|
|
| + void RecordReset() {
|
| + // As-is |reset_recorded_| is only designed to remember a single reset, make
|
| + // sure none was previously recorded.
|
| + EXPECT_FALSE(reset_recorded_);
|
| + reset_recorded_ = true;
|
| + }
|
| +
|
| + bool reset_recorded_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(PrefHashFilterTest);
|
| };
|
|
|
| @@ -421,7 +437,7 @@ TEST_P(PrefHashFilterTest, EmptyAndUnchanged) {
|
| kTestTrackedPrefs[i].name).first);
|
| }
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
|
|
| // Delegate saw all paths, and all unchanged.
|
| ASSERT_EQ(arraysize(kTestTrackedPrefs),
|
| @@ -450,7 +466,7 @@ TEST_P(PrefHashFilterTest, FilterTrackedPrefUpdate) {
|
| ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_ATOMIC, stored_value.second);
|
|
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, FilterSplitPrefUpdate) {
|
| @@ -474,7 +490,7 @@ TEST_P(PrefHashFilterTest, FilterSplitPrefUpdate) {
|
| ASSERT_EQ(PrefHashFilter::TRACKING_STRATEGY_SPLIT, stored_value.second);
|
|
|
| ASSERT_EQ(1u, mock_pref_hash_store_->transactions_performed());
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, FilterUntrackedPrefUpdate) {
|
| @@ -644,7 +660,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
|
| ASSERT_FALSE(pref_store_contents_->Get(kSplitPref, NULL));
|
| ASSERT_EQ(NULL, stored_split_value.first);
|
|
|
| - ASSERT_TRUE(RecordedReset());
|
| + VerifyRecordedReset(true);
|
| } else {
|
| // Otherwise the values should have remained intact and the hashes should
|
| // have been updated to match them.
|
| @@ -658,7 +674,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnknown) {
|
| ASSERT_EQ(dict_value, split_value_in_store);
|
| ASSERT_EQ(dict_value, stored_split_value.first);
|
|
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
| }
|
|
|
| @@ -771,7 +787,7 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
|
| ASSERT_TRUE(dict_value->HasKey("d"));
|
| ASSERT_EQ(dict_value, stored_split_value.first);
|
|
|
| - ASSERT_TRUE(RecordedReset());
|
| + VerifyRecordedReset(true);
|
| } else {
|
| // Otherwise the value should have remained intact and the hash should have
|
| // been updated to match it.
|
| @@ -790,7 +806,7 @@ TEST_P(PrefHashFilterTest, InitialValueChanged) {
|
| ASSERT_TRUE(dict_value->HasKey("d"));
|
| ASSERT_EQ(dict_value, stored_split_value.first);
|
|
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
| }
|
|
|
| @@ -873,7 +889,7 @@ TEST_P(PrefHashFilterTest, InitialValueMigrated) {
|
| ASSERT_FALSE(pref_store_contents_->Get(kAtomicPref, NULL));
|
| ASSERT_EQ(NULL, stored_atomic_value.first);
|
|
|
| - ASSERT_TRUE(RecordedReset());
|
| + VerifyRecordedReset(true);
|
| } else {
|
| // Otherwise the value should have remained intact and the hash should have
|
| // been updated to match it.
|
| @@ -882,7 +898,7 @@ TEST_P(PrefHashFilterTest, InitialValueMigrated) {
|
| ASSERT_EQ(list_value, atomic_value_in_store);
|
| ASSERT_EQ(list_value, stored_atomic_value.first);
|
|
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
| }
|
|
|
| @@ -942,7 +958,7 @@ TEST_P(PrefHashFilterTest, InitialValueUnchangedLegacyId) {
|
| ASSERT_EQ(dict_value, split_value_in_store);
|
| ASSERT_EQ(dict_value, stored_split_value.first);
|
|
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
|
|
| TEST_P(PrefHashFilterTest, DontResetReportOnly) {
|
| @@ -1005,7 +1021,7 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
|
| ASSERT_EQ(NULL, mock_pref_hash_store_->stored_value(kAtomicPref).first);
|
| ASSERT_EQ(NULL, mock_pref_hash_store_->stored_value(kAtomicPref2).first);
|
|
|
| - ASSERT_TRUE(RecordedReset());
|
| + VerifyRecordedReset(true);
|
| } else {
|
| const base::Value* value_in_store;
|
| const base::Value* value_in_store2;
|
| @@ -1018,7 +1034,7 @@ TEST_P(PrefHashFilterTest, DontResetReportOnly) {
|
| ASSERT_EQ(int_value2,
|
| mock_pref_hash_store_->stored_value(kAtomicPref2).first);
|
|
|
| - ASSERT_FALSE(RecordedReset());
|
| + VerifyRecordedReset(false);
|
| }
|
| }
|
|
|
|
|