| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/prefs/tracked/pref_hash_calculator.h" | 5 #include "chrome/browser/prefs/tracked/pref_hash_calculator.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 ASSERT_FALSE(calc1.Calculate("pref_path", NULL).empty()); | 71 ASSERT_FALSE(calc1.Calculate("pref_path", NULL).empty()); |
| 72 } | 72 } |
| 73 | 73 |
| 74 // Tests the output against a known value to catch unexpected algorithm changes. | 74 // Tests the output against a known value to catch unexpected algorithm changes. |
| 75 // The test hashes below must NEVER be updated, the serialization algorithm used | 75 // The test hashes below must NEVER be updated, the serialization algorithm used |
| 76 // must always be able to generate data that will produce these exact hashes. | 76 // must always be able to generate data that will produce these exact hashes. |
| 77 TEST(PrefHashCalculatorTest, CatchHashChanges) { | 77 TEST(PrefHashCalculatorTest, CatchHashChanges) { |
| 78 static const char kSeed[] = "0123456789ABCDEF0123456789ABCDEF"; | 78 static const char kSeed[] = "0123456789ABCDEF0123456789ABCDEF"; |
| 79 static const char kDeviceId[] = "test_device_id1"; | 79 static const char kDeviceId[] = "test_device_id1"; |
| 80 | 80 |
| 81 scoped_ptr<base::Value> null_value(base::Value::CreateNullValue()); | 81 scoped_ptr<base::Value> null_value = base::Value::CreateNullValue(); |
| 82 scoped_ptr<base::Value> bool_value(new base::FundamentalValue(false)); | 82 scoped_ptr<base::Value> bool_value(new base::FundamentalValue(false)); |
| 83 scoped_ptr<base::Value> int_value(new base::FundamentalValue(1234567890)); | 83 scoped_ptr<base::Value> int_value(new base::FundamentalValue(1234567890)); |
| 84 scoped_ptr<base::Value> double_value( | 84 scoped_ptr<base::Value> double_value( |
| 85 new base::FundamentalValue(123.0987654321)); | 85 new base::FundamentalValue(123.0987654321)); |
| 86 scoped_ptr<base::Value> string_value( | 86 scoped_ptr<base::Value> string_value( |
| 87 new base::StringValue("testing with special chars:\n<>{}:^^@#$\\/")); | 87 new base::StringValue("testing with special chars:\n<>{}:^^@#$\\/")); |
| 88 | 88 |
| 89 // For legacy reasons, we have to support pruning of empty lists/dictionaries | 89 // For legacy reasons, we have to support pruning of empty lists/dictionaries |
| 90 // and nested empty ists/dicts in the hash generation algorithm. | 90 // and nested empty ists/dicts in the hash generation algorithm. |
| 91 scoped_ptr<base::DictionaryValue> nested_empty_dict( | 91 scoped_ptr<base::DictionaryValue> nested_empty_dict( |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 static const char kExpectedValue[] = | 197 static const char kExpectedValue[] = |
| 198 "845EF34663FF8D32BE6707F40258FBA531C2BFC532E3B014AFB3476115C2A9DE"; | 198 "845EF34663FF8D32BE6707F40258FBA531C2BFC532E3B014AFB3476115C2A9DE"; |
| 199 | 199 |
| 200 base::ListValue startup_urls; | 200 base::ListValue startup_urls; |
| 201 startup_urls.Set(0, new base::StringValue("http://www.chromium.org/")); | 201 startup_urls.Set(0, new base::StringValue("http://www.chromium.org/")); |
| 202 | 202 |
| 203 EXPECT_EQ(PrefHashCalculator::VALID_SECURE_LEGACY, | 203 EXPECT_EQ(PrefHashCalculator::VALID_SECURE_LEGACY, |
| 204 PrefHashCalculator(std::string(kSeed, arraysize(kSeed)), kDeviceId). | 204 PrefHashCalculator(std::string(kSeed, arraysize(kSeed)), kDeviceId). |
| 205 Validate("session.startup_urls", &startup_urls, kExpectedValue)); | 205 Validate("session.startup_urls", &startup_urls, kExpectedValue)); |
| 206 } | 206 } |
| OLD | NEW |