Index: services/preferences/tracked/pref_hash_store_impl_unittest.cc |
diff --git a/components/user_prefs/tracked/pref_hash_store_impl_unittest.cc b/services/preferences/tracked/pref_hash_store_impl_unittest.cc |
similarity index 82% |
rename from components/user_prefs/tracked/pref_hash_store_impl_unittest.cc |
rename to services/preferences/tracked/pref_hash_store_impl_unittest.cc |
index 3abbf911cc22ebbc3b7faf639593a163b63003bf..3c6ca13126f0594fdcdf8b92d2e36997078b4cd5 100644 |
--- a/components/user_prefs/tracked/pref_hash_store_impl_unittest.cc |
+++ b/services/preferences/tracked/pref_hash_store_impl_unittest.cc |
@@ -2,18 +2,20 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "components/user_prefs/tracked/pref_hash_store_impl.h" |
+#include "services/preferences/tracked/pref_hash_store_impl.h" |
#include <string> |
#include "base/macros.h" |
#include "base/values.h" |
-#include "components/user_prefs/tracked/dictionary_hash_store_contents.h" |
-#include "components/user_prefs/tracked/hash_store_contents.h" |
-#include "components/user_prefs/tracked/pref_hash_store_impl.h" |
-#include "components/user_prefs/tracked/pref_hash_store_transaction.h" |
+#include "services/preferences/tracked/dictionary_hash_store_contents.h" |
+#include "services/preferences/tracked/hash_store_contents.h" |
+#include "services/preferences/tracked/pref_hash_store_transaction.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+using ValueState = |
+ prefs::mojom::TrackedPreferenceValidationDelegate::ValueState; |
+ |
class PrefHashStoreImplTest : public testing::Test { |
public: |
PrefHashStoreImplTest() : contents_(&pref_store_contents_) {} |
@@ -80,21 +82,18 @@ TEST_F(PrefHashStoreImplTest, AtomicHashStoreAndCheck) { |
pref_hash_store.BeginTransaction(GetHashStoreContents())); |
// Only NULL should be trusted in the absence of a hash. |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_NULL_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_NULL_VALUE, |
transaction->CheckValue("path1", NULL)); |
transaction->StoreHash("path1", &string_1); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::CLEARED, |
- transaction->CheckValue("path1", NULL)); |
+ EXPECT_EQ(ValueState::CLEARED, transaction->CheckValue("path1", NULL)); |
transaction->StoreHash("path1", NULL); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
- transaction->CheckValue("path1", NULL)); |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
- transaction->CheckValue("path1", &string_2)); |
+ EXPECT_EQ(ValueState::UNCHANGED, transaction->CheckValue("path1", NULL)); |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckValue("path1", &string_2)); |
base::DictionaryValue dict; |
dict.Set("a", new base::Value("foo")); |
@@ -103,8 +102,7 @@ TEST_F(PrefHashStoreImplTest, AtomicHashStoreAndCheck) { |
dict.Set("c", new base::Value("baz")); |
transaction->StoreHash("path1", &dict); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
- transaction->CheckValue("path1", &dict)); |
+ EXPECT_EQ(ValueState::UNCHANGED, transaction->CheckValue("path1", &dict)); |
} |
ASSERT_FALSE(GetHashStoreContents()->GetSuperMac().empty()); |
@@ -115,11 +113,11 @@ TEST_F(PrefHashStoreImplTest, AtomicHashStoreAndCheck) { |
PrefHashStoreImpl pref_hash_store2(std::string(32, 0), "device_id", true); |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store2.BeginTransaction(GetHashStoreContents())); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("new_path", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("new_path", &string_2)); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_NULL_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_NULL_VALUE, |
transaction->CheckValue("new_path", NULL)); |
} |
@@ -132,11 +130,11 @@ TEST_F(PrefHashStoreImplTest, AtomicHashStoreAndCheck) { |
PrefHashStoreImpl pref_hash_store3(std::string(32, 0), "device_id", true); |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store3.BeginTransaction(GetHashStoreContents())); |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("new_path", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("new_path", &string_2)); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_NULL_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_NULL_VALUE, |
transaction->CheckValue("new_path", NULL)); |
} |
} |
@@ -158,10 +156,9 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
transaction->StoreHash("path1", &string_1); |
ASSERT_TRUE(transaction->HasHash("path1")); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
- transaction->CheckValue("path1", &string_2)); |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckValue("path1", &string_2)); |
} |
// Make a copy of the stored hash for future use. |
@@ -183,9 +180,9 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
// The effects of the clear should be immediately visible. |
ASSERT_FALSE(transaction->HasHash("path1")); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_NULL_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_NULL_VALUE, |
transaction->CheckValue("path1", NULL)); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("path1", &string_1)); |
} |
@@ -214,7 +211,7 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
ASSERT_TRUE(transaction->HasHash("path1")); |
// The imported hash should be usable for validating the original value. |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
} |
@@ -225,15 +222,15 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
pref_hash_store.BeginTransaction(GetHashStoreContents())); |
ASSERT_FALSE(transaction->IsSuperMACValid()); |
ASSERT_TRUE(transaction->HasHash("path1")); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
// After clearing the hash, non-null values are UNTRUSTED_UNKNOWN. |
transaction->ClearHash("path1"); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_NULL_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_NULL_VALUE, |
transaction->CheckValue("path1", NULL)); |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("path1", &string_1)); |
} |
@@ -256,9 +253,8 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
// Store the hash of a different value to test an "over-import". |
transaction->StoreHash("path1", &string_2); |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
- transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckValue("path1", &string_1)); |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_2)); |
} |
@@ -270,10 +266,9 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
// "Over-import". An import should preserve validity. |
transaction->ImportHash("path1", path_1_string_1_hash_copy.get()); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
- transaction->CheckValue("path1", &string_2)); |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckValue("path1", &string_2)); |
} |
// Verify that validity was preserved and the "over-import" took effect. |
@@ -282,10 +277,9 @@ TEST_F(PrefHashStoreImplTest, ImportExportOperations) { |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store.BeginTransaction(GetHashStoreContents())); |
ASSERT_TRUE(transaction->IsSuperMACValid()); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_1)); |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
- transaction->CheckValue("path1", &string_2)); |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckValue("path1", &string_2)); |
} |
} |
@@ -300,7 +294,7 @@ TEST_F(PrefHashStoreImplTest, SuperMACDisabled) { |
pref_hash_store.BeginTransaction(GetHashStoreContents())); |
transaction->StoreHash("path1", &string_2); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckValue("path1", &string_2)); |
} |
@@ -310,7 +304,7 @@ TEST_F(PrefHashStoreImplTest, SuperMACDisabled) { |
PrefHashStoreImpl pref_hash_store2(std::string(32, 0), "device_id", false); |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store2.BeginTransaction(GetHashStoreContents())); |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckValue("new_path", &string_1)); |
} |
} |
@@ -337,35 +331,33 @@ TEST_F(PrefHashStoreImplTest, SplitHashStoreAndCheck) { |
// No hashes stored yet and hashes dictionary is empty (and thus not |
// trusted). |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("path1", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
transaction->StoreSplitHash("path1", &dict); |
// Verify match post storage. |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckSplitValue("path1", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
// Verify new path is still unknown. |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("path2", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
// Verify NULL or empty dicts are declared as having been cleared. |
- EXPECT_EQ(PrefHashStoreTransaction::CLEARED, |
+ EXPECT_EQ(ValueState::CLEARED, |
transaction->CheckSplitValue("path1", NULL, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
- EXPECT_EQ( |
- PrefHashStoreTransaction::CLEARED, |
- transaction->CheckSplitValue("path1", &empty_dict, &invalid_keys)); |
+ EXPECT_EQ(ValueState::CLEARED, transaction->CheckSplitValue( |
+ "path1", &empty_dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
// Verify changes are properly detected. |
- EXPECT_EQ( |
- PrefHashStoreTransaction::CHANGED, |
- transaction->CheckSplitValue("path1", &modified_dict, &invalid_keys)); |
+ EXPECT_EQ(ValueState::CHANGED, transaction->CheckSplitValue( |
+ "path1", &modified_dict, &invalid_keys)); |
std::vector<std::string> expected_invalid_keys1; |
expected_invalid_keys1.push_back("a"); |
expected_invalid_keys1.push_back("c"); |
@@ -374,7 +366,7 @@ TEST_F(PrefHashStoreImplTest, SplitHashStoreAndCheck) { |
invalid_keys.clear(); |
// Verify |dict| still matches post check. |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckSplitValue("path1", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
@@ -383,12 +375,12 @@ TEST_F(PrefHashStoreImplTest, SplitHashStoreAndCheck) { |
// Verify |modified_dict| is now the one that verifies correctly. |
EXPECT_EQ( |
- PrefHashStoreTransaction::UNCHANGED, |
+ ValueState::UNCHANGED, |
transaction->CheckSplitValue("path1", &modified_dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
// Verify old dict no longer matches. |
- EXPECT_EQ(PrefHashStoreTransaction::CHANGED, |
+ EXPECT_EQ(ValueState::CHANGED, |
transaction->CheckSplitValue("path1", &dict, &invalid_keys)); |
std::vector<std::string> expected_invalid_keys2; |
expected_invalid_keys2.push_back("a"); |
@@ -404,7 +396,7 @@ TEST_F(PrefHashStoreImplTest, SplitHashStoreAndCheck) { |
PrefHashStoreImpl pref_hash_store2(std::string(32, 0), "device_id", true); |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store2.BeginTransaction(GetHashStoreContents())); |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("new_path", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
} |
@@ -418,7 +410,7 @@ TEST_F(PrefHashStoreImplTest, SplitHashStoreAndCheck) { |
PrefHashStoreImpl pref_hash_store3(std::string(32, 0), "device_id", true); |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store3.BeginTransaction(GetHashStoreContents())); |
- EXPECT_EQ(PrefHashStoreTransaction::UNTRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::UNTRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("new_path", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
} |
@@ -441,22 +433,20 @@ TEST_F(PrefHashStoreImplTest, EmptyAndNULLSplitDict) { |
// Verify stored empty dictionary matches NULL and empty dictionary back. |
transaction->StoreSplitHash("path1", &empty_dict); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckSplitValue("path1", NULL, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
- EXPECT_EQ( |
- PrefHashStoreTransaction::UNCHANGED, |
- transaction->CheckSplitValue("path1", &empty_dict, &invalid_keys)); |
+ EXPECT_EQ(ValueState::UNCHANGED, transaction->CheckSplitValue( |
+ "path1", &empty_dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
// Same when storing NULL directly. |
transaction->StoreSplitHash("path1", NULL); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
+ EXPECT_EQ(ValueState::UNCHANGED, |
transaction->CheckSplitValue("path1", NULL, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
- EXPECT_EQ( |
- PrefHashStoreTransaction::UNCHANGED, |
- transaction->CheckSplitValue("path1", &empty_dict, &invalid_keys)); |
+ EXPECT_EQ(ValueState::UNCHANGED, transaction->CheckSplitValue( |
+ "path1", &empty_dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
} |
@@ -474,7 +464,7 @@ TEST_F(PrefHashStoreImplTest, EmptyAndNULLSplitDict) { |
tested_dict.Set("a", new base::Value("foo")); |
tested_dict.Set("b", new base::Value("bar")); |
EXPECT_EQ( |
- PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("new_path", &tested_dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
} |
@@ -501,8 +491,7 @@ TEST_F(PrefHashStoreImplTest, TrustedUnknownSplitValueFromExistingAtomic) { |
pref_hash_store.BeginTransaction(GetHashStoreContents())); |
transaction->StoreHash("path1", &string); |
- EXPECT_EQ(PrefHashStoreTransaction::UNCHANGED, |
- transaction->CheckValue("path1", &string)); |
+ EXPECT_EQ(ValueState::UNCHANGED, transaction->CheckValue("path1", &string)); |
} |
{ |
@@ -511,7 +500,7 @@ TEST_F(PrefHashStoreImplTest, TrustedUnknownSplitValueFromExistingAtomic) { |
std::unique_ptr<PrefHashStoreTransaction> transaction( |
pref_hash_store2.BeginTransaction(GetHashStoreContents())); |
std::vector<std::string> invalid_keys; |
- EXPECT_EQ(PrefHashStoreTransaction::TRUSTED_UNKNOWN_VALUE, |
+ EXPECT_EQ(ValueState::TRUSTED_UNKNOWN_VALUE, |
transaction->CheckSplitValue("path1", &dict, &invalid_keys)); |
EXPECT_TRUE(invalid_keys.empty()); |
} |