OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "base/command_line.h" | 5 #include "base/command_line.h" |
6 #include "base/files/file_path.h" | 6 #include "base/files/file_path.h" |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
9 #include "chrome/browser/extensions/api/storage/storage_api.h" | 9 #include "chrome/browser/extensions/api/storage/storage_api.h" |
10 #include "chrome/browser/extensions/extension_api_unittest.h" | 10 #include "chrome/browser/extensions/extension_api_unittest.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "extensions/common/manifest.h" | 23 #include "extensions/common/manifest.h" |
24 #include "extensions/common/test_util.h" | 24 #include "extensions/common/test_util.h" |
25 #include "third_party/leveldatabase/src/include/leveldb/db.h" | 25 #include "third_party/leveldatabase/src/include/leveldb/db.h" |
26 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" | 26 #include "third_party/leveldatabase/src/include/leveldb/write_batch.h" |
27 | 27 |
28 namespace extensions { | 28 namespace extensions { |
29 | 29 |
30 namespace { | 30 namespace { |
31 | 31 |
32 // Caller owns the returned object. | 32 // Caller owns the returned object. |
33 BrowserContextKeyedService* CreateSettingsFrontendForTesting( | 33 KeyedService* CreateSettingsFrontendForTesting( |
34 content::BrowserContext* context) { | 34 content::BrowserContext* context) { |
35 return SettingsFrontend::CreateForTesting(new LeveldbSettingsStorageFactory(), | 35 return SettingsFrontend::CreateForTesting(new LeveldbSettingsStorageFactory(), |
36 context); | 36 context); |
37 } | 37 } |
38 | 38 |
39 } // namespace | 39 } // namespace |
40 | 40 |
41 class StorageApiUnittest : public ExtensionApiUnittest { | 41 class StorageApiUnittest : public ExtensionApiUnittest { |
42 public: | 42 public: |
43 virtual void SetUp() OVERRIDE { | 43 virtual void SetUp() OVERRIDE { |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
84 if (!dict->GetString(key, value)) { | 84 if (!dict->GetString(key, value)) { |
85 return testing::AssertionFailure() << " could not retrieve a string from" | 85 return testing::AssertionFailure() << " could not retrieve a string from" |
86 << dict << " at " << key; | 86 << dict << " at " << key; |
87 } | 87 } |
88 return testing::AssertionSuccess(); | 88 return testing::AssertionSuccess(); |
89 } | 89 } |
90 }; | 90 }; |
91 | 91 |
92 TEST_F(StorageApiUnittest, RestoreCorruptedStorage) { | 92 TEST_F(StorageApiUnittest, RestoreCorruptedStorage) { |
93 // Ensure a SettingsFrontend can be created on demand. The SettingsFrontend | 93 // Ensure a SettingsFrontend can be created on demand. The SettingsFrontend |
94 // will be owned by the BrowserContextKeyedService system. | 94 // will be owned by the KeyedService system. |
95 SettingsFrontend::GetFactoryInstance()->SetTestingFactory( | 95 SettingsFrontend::GetFactoryInstance()->SetTestingFactory( |
96 profile(), &CreateSettingsFrontendForTesting); | 96 profile(), &CreateSettingsFrontendForTesting); |
97 | 97 |
98 const char kKey[] = "key"; | 98 const char kKey[] = "key"; |
99 const char kValue[] = "value"; | 99 const char kValue[] = "value"; |
100 std::string result; | 100 std::string result; |
101 | 101 |
102 // Do a simple set/get combo to make sure the API works. | 102 // Do a simple set/get combo to make sure the API works. |
103 RunSetFunction(kKey, kValue); | 103 RunSetFunction(kKey, kValue); |
104 EXPECT_TRUE(RunGetFunction(kKey, &result)); | 104 EXPECT_TRUE(RunGetFunction(kKey, &result)); |
(...skipping 17 matching lines...) Expand all Loading... |
122 EXPECT_TRUE(leveldb_store->Get(kKey)->IsCorrupted()); | 122 EXPECT_TRUE(leveldb_store->Get(kKey)->IsCorrupted()); |
123 | 123 |
124 // Running another set should end up working (even though it will restore the | 124 // Running another set should end up working (even though it will restore the |
125 // store behind the scenes). | 125 // store behind the scenes). |
126 RunSetFunction(kKey, kValue); | 126 RunSetFunction(kKey, kValue); |
127 EXPECT_TRUE(RunGetFunction(kKey, &result)); | 127 EXPECT_TRUE(RunGetFunction(kKey, &result)); |
128 EXPECT_EQ(kValue, result); | 128 EXPECT_EQ(kValue, result); |
129 } | 129 } |
130 | 130 |
131 } // namespace extensions | 131 } // namespace extensions |
OLD | NEW |