OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/sync/test/integration/extension_settings_helper.h" | 5 #include "chrome/browser/sync/test/integration/extension_settings_helper.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/json/json_writer.h" | 8 #include "base/json/json_writer.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
11 #include "base/synchronization/waitable_event.h" | 11 #include "base/synchronization/waitable_event.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "chrome/browser/extensions/api/storage/settings_frontend.h" | 13 #include "chrome/browser/extensions/api/storage/settings_frontend.h" |
14 #include "chrome/browser/extensions/extension_service.h" | 14 #include "chrome/browser/extensions/extension_service.h" |
15 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
16 #include "chrome/browser/sync/test/integration/extensions_helper.h" | 16 #include "chrome/browser/sync/test/integration/extensions_helper.h" |
17 #include "chrome/browser/sync/test/integration/sync_datatype_helper.h" | 17 #include "chrome/browser/sync/test/integration/sync_datatype_helper.h" |
18 #include "chrome/browser/sync/test/integration/sync_extension_helper.h" | 18 #include "chrome/browser/sync/test/integration/sync_extension_helper.h" |
19 #include "chrome/browser/value_store/value_store.h" | 19 #include "chrome/browser/value_store/value_store.h" |
20 #include "chrome/common/extensions/extension_set.h" | |
21 #include "content/public/browser/browser_thread.h" | 20 #include "content/public/browser/browser_thread.h" |
22 #include "extensions/common/extension.h" | 21 #include "extensions/common/extension.h" |
| 22 #include "extensions/common/extension_set.h" |
23 | 23 |
24 using content::BrowserThread; | 24 using content::BrowserThread; |
25 using sync_datatype_helper::test; | 25 using sync_datatype_helper::test; |
26 | 26 |
27 namespace extension_settings_helper { | 27 namespace extension_settings_helper { |
28 | 28 |
29 namespace { | 29 namespace { |
30 | 30 |
31 std::string ToJson(const Value& value) { | 31 std::string ToJson(const Value& value) { |
32 std::string json; | 32 std::string json; |
(...skipping 17 matching lines...) Expand all Loading... |
50 scoped_ptr<DictionaryValue> settings(new DictionaryValue()); | 50 scoped_ptr<DictionaryValue> settings(new DictionaryValue()); |
51 profile->GetExtensionService()->settings_frontend()->RunWithStorage( | 51 profile->GetExtensionService()->settings_frontend()->RunWithStorage( |
52 id, | 52 id, |
53 extensions::settings_namespace::SYNC, | 53 extensions::settings_namespace::SYNC, |
54 base::Bind(&GetAllSettingsOnFileThread, settings.get(), &signal)); | 54 base::Bind(&GetAllSettingsOnFileThread, settings.get(), &signal)); |
55 signal.Wait(); | 55 signal.Wait(); |
56 return settings.Pass(); | 56 return settings.Pass(); |
57 } | 57 } |
58 | 58 |
59 bool AreSettingsSame(Profile* expected_profile, Profile* actual_profile) { | 59 bool AreSettingsSame(Profile* expected_profile, Profile* actual_profile) { |
60 const ExtensionSet* extensions = | 60 const extensions::ExtensionSet* extensions = |
61 expected_profile->GetExtensionService()->extensions(); | 61 expected_profile->GetExtensionService()->extensions(); |
62 if (extensions->size() != | 62 if (extensions->size() != |
63 actual_profile->GetExtensionService()->extensions()->size()) { | 63 actual_profile->GetExtensionService()->extensions()->size()) { |
64 ADD_FAILURE(); | 64 ADD_FAILURE(); |
65 return false; | 65 return false; |
66 } | 66 } |
67 | 67 |
68 bool same = true; | 68 bool same = true; |
69 for (ExtensionSet::const_iterator it = extensions->begin(); | 69 for (extensions::ExtensionSet::const_iterator it = extensions->begin(); |
70 it != extensions->end(); ++it) { | 70 it != extensions->end(); ++it) { |
71 const std::string& id = (*it)->id(); | 71 const std::string& id = (*it)->id(); |
72 scoped_ptr<DictionaryValue> expected(GetAllSettings(expected_profile, id)); | 72 scoped_ptr<DictionaryValue> expected(GetAllSettings(expected_profile, id)); |
73 scoped_ptr<DictionaryValue> actual(GetAllSettings(actual_profile, id)); | 73 scoped_ptr<DictionaryValue> actual(GetAllSettings(actual_profile, id)); |
74 if (!expected->Equals(actual.get())) { | 74 if (!expected->Equals(actual.get())) { |
75 ADD_FAILURE() << | 75 ADD_FAILURE() << |
76 "Expected " << ToJson(*expected) << " got " << ToJson(*actual); | 76 "Expected " << ToJson(*expected) << " got " << ToJson(*actual); |
77 same = false; | 77 same = false; |
78 } | 78 } |
79 } | 79 } |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 bool all_profiles_same = true; | 112 bool all_profiles_same = true; |
113 for (int i = 0; i < test()->num_clients(); ++i) { | 113 for (int i = 0; i < test()->num_clients(); ++i) { |
114 // &= so that all profiles are tested; analogous to EXPECT over ASSERT. | 114 // &= so that all profiles are tested; analogous to EXPECT over ASSERT. |
115 all_profiles_same &= | 115 all_profiles_same &= |
116 AreSettingsSame(test()->verifier(), test()->GetProfile(i)); | 116 AreSettingsSame(test()->verifier(), test()->GetProfile(i)); |
117 } | 117 } |
118 return all_profiles_same; | 118 return all_profiles_same; |
119 } | 119 } |
120 | 120 |
121 } // namespace extension_settings_helper | 121 } // namespace extension_settings_helper |
OLD | NEW |