Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(336)

Side by Side Diff: chrome/browser/extensions/settings/settings_apitest.cc

Issue 10662035: [Sync] Put everything in sync/api into csync namespace (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix comments Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "base/bind.h" 5 #include "base/bind.h"
6 #include "base/command_line.h" 6 #include "base/command_line.h"
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "chrome/browser/extensions/extension_apitest.h" 8 #include "chrome/browser/extensions/extension_apitest.h"
9 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_test_message_listener.h" 10 #include "chrome/browser/extensions/extension_test_message_listener.h"
(...skipping 15 matching lines...) Expand all
26 using settings_namespace::LOCAL; 26 using settings_namespace::LOCAL;
27 using settings_namespace::Namespace; 27 using settings_namespace::Namespace;
28 using settings_namespace::SYNC; 28 using settings_namespace::SYNC;
29 using settings_namespace::ToString; 29 using settings_namespace::ToString;
30 30
31 namespace { 31 namespace {
32 32
33 // TODO(kalman): test both EXTENSION_SETTINGS and APP_SETTINGS. 33 // TODO(kalman): test both EXTENSION_SETTINGS and APP_SETTINGS.
34 const syncable::ModelType kModelType = syncable::EXTENSION_SETTINGS; 34 const syncable::ModelType kModelType = syncable::EXTENSION_SETTINGS;
35 35
36 class NoopSyncChangeProcessor : public SyncChangeProcessor { 36 class NoopSyncChangeProcessor : public csync::SyncChangeProcessor {
37 public: 37 public:
38 virtual SyncError ProcessSyncChanges( 38 virtual csync::SyncError ProcessSyncChanges(
39 const tracked_objects::Location& from_here, 39 const tracked_objects::Location& from_here,
40 const SyncChangeList& change_list) OVERRIDE { 40 const csync::SyncChangeList& change_list) OVERRIDE {
41 return SyncError(); 41 return csync::SyncError();
42 } 42 }
43 43
44 virtual ~NoopSyncChangeProcessor() {}; 44 virtual ~NoopSyncChangeProcessor() {};
45 }; 45 };
46 46
47 class SyncChangeProcessorDelegate : public SyncChangeProcessor { 47 class SyncChangeProcessorDelegate : public csync::SyncChangeProcessor {
48 public: 48 public:
49 explicit SyncChangeProcessorDelegate(SyncChangeProcessor* recipient) 49 explicit SyncChangeProcessorDelegate(csync::SyncChangeProcessor* recipient)
50 : recipient_(recipient) { 50 : recipient_(recipient) {
51 DCHECK(recipient_); 51 DCHECK(recipient_);
52 } 52 }
53 virtual ~SyncChangeProcessorDelegate() {} 53 virtual ~SyncChangeProcessorDelegate() {}
54 54
55 // SyncChangeProcessor implementation. 55 // csync::SyncChangeProcessor implementation.
56 virtual SyncError ProcessSyncChanges( 56 virtual csync::SyncError ProcessSyncChanges(
57 const tracked_objects::Location& from_here, 57 const tracked_objects::Location& from_here,
58 const SyncChangeList& change_list) OVERRIDE { 58 const csync::SyncChangeList& change_list) OVERRIDE {
59 return recipient_->ProcessSyncChanges(from_here, change_list); 59 return recipient_->ProcessSyncChanges(from_here, change_list);
60 } 60 }
61 61
62 private: 62 private:
63 // The recipient of all sync changes. 63 // The recipient of all sync changes.
64 SyncChangeProcessor* recipient_; 64 csync::SyncChangeProcessor* recipient_;
65 65
66 DISALLOW_COPY_AND_ASSIGN(SyncChangeProcessorDelegate); 66 DISALLOW_COPY_AND_ASSIGN(SyncChangeProcessorDelegate);
67 }; 67 };
68 68
69 } // namespace 69 } // namespace
70 70
71 class ExtensionSettingsApiTest : public ExtensionApiTest { 71 class ExtensionSettingsApiTest : public ExtensionApiTest {
72 protected: 72 protected:
73 void ReplyWhenSatisfied( 73 void ReplyWhenSatisfied(
74 Namespace settings_namespace, 74 Namespace settings_namespace,
(...skipping 17 matching lines...) Expand all
92 } 92 }
93 93
94 void FinalReplyWhenSatisfied( 94 void FinalReplyWhenSatisfied(
95 Namespace settings_namespace, 95 Namespace settings_namespace,
96 const std::string& normal_action, 96 const std::string& normal_action,
97 const std::string& incognito_action) { 97 const std::string& incognito_action) {
98 MaybeLoadAndReplyWhenSatisfied( 98 MaybeLoadAndReplyWhenSatisfied(
99 settings_namespace, normal_action, incognito_action, NULL, true); 99 settings_namespace, normal_action, incognito_action, NULL, true);
100 } 100 }
101 101
102 void InitSync(SyncChangeProcessor* sync_processor) { 102 void InitSync(csync::SyncChangeProcessor* sync_processor) {
103 MessageLoop::current()->RunAllPending(); 103 MessageLoop::current()->RunAllPending();
104 InitSyncWithSyncableService( 104 InitSyncWithSyncableService(
105 sync_processor, 105 sync_processor,
106 browser()->profile()->GetExtensionService()->settings_frontend()-> 106 browser()->profile()->GetExtensionService()->settings_frontend()->
107 GetBackendForSync(kModelType)); 107 GetBackendForSync(kModelType));
108 } 108 }
109 109
110 void SendChanges(const SyncChangeList& change_list) { 110 void SendChanges(const csync::SyncChangeList& change_list) {
111 MessageLoop::current()->RunAllPending(); 111 MessageLoop::current()->RunAllPending();
112 SendChangesToSyncableService( 112 SendChangesToSyncableService(
113 change_list, 113 change_list,
114 browser()->profile()->GetExtensionService()->settings_frontend()-> 114 browser()->profile()->GetExtensionService()->settings_frontend()->
115 GetBackendForSync(kModelType)); 115 GetBackendForSync(kModelType));
116 } 116 }
117 117
118 private: 118 private:
119 const Extension* MaybeLoadAndReplyWhenSatisfied( 119 const Extension* MaybeLoadAndReplyWhenSatisfied(
120 Namespace settings_namespace, 120 Namespace settings_namespace,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 scoped_ptr<DictionaryValue> message(new DictionaryValue()); 152 scoped_ptr<DictionaryValue> message(new DictionaryValue());
153 message->SetString("namespace", ToString(settings_namespace)); 153 message->SetString("namespace", ToString(settings_namespace));
154 message->SetString("action", action); 154 message->SetString("action", action);
155 message->SetBoolean("isFinalAction", is_final_action); 155 message->SetBoolean("isFinalAction", is_final_action);
156 std::string message_json; 156 std::string message_json;
157 base::JSONWriter::Write(message.get(), &message_json); 157 base::JSONWriter::Write(message.get(), &message_json);
158 return message_json; 158 return message_json;
159 } 159 }
160 160
161 void InitSyncWithSyncableService( 161 void InitSyncWithSyncableService(
162 SyncChangeProcessor* sync_processor, SyncableService* settings_service) { 162 csync::SyncChangeProcessor* sync_processor,
163 csync::SyncableService* settings_service) {
163 EXPECT_FALSE(settings_service->MergeDataAndStartSyncing( 164 EXPECT_FALSE(settings_service->MergeDataAndStartSyncing(
164 kModelType, 165 kModelType,
165 SyncDataList(), 166 csync::SyncDataList(),
166 scoped_ptr<SyncChangeProcessor>( 167 scoped_ptr<csync::SyncChangeProcessor>(
167 new SyncChangeProcessorDelegate(sync_processor)), 168 new SyncChangeProcessorDelegate(sync_processor)),
168 scoped_ptr<SyncErrorFactory>( 169 scoped_ptr<csync::SyncErrorFactory>(
169 new SyncErrorFactoryMock())).IsSet()); 170 new csync::SyncErrorFactoryMock())).IsSet());
170 } 171 }
171 172
172 void SendChangesToSyncableService( 173 void SendChangesToSyncableService(
173 const SyncChangeList& change_list, SyncableService* settings_service) { 174 const csync::SyncChangeList& change_list,
175 csync::SyncableService* settings_service) {
174 EXPECT_FALSE( 176 EXPECT_FALSE(
175 settings_service->ProcessSyncChanges(FROM_HERE, change_list).IsSet()); 177 settings_service->ProcessSyncChanges(FROM_HERE, change_list).IsSet());
176 } 178 }
177 }; 179 };
178 180
179 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, SimpleTest) { 181 IN_PROC_BROWSER_TEST_F(ExtensionSettingsApiTest, SimpleTest) {
180 CommandLine::ForCurrentProcess()->AppendSwitch( 182 CommandLine::ForCurrentProcess()->AppendSwitch(
181 switches::kEnableExperimentalExtensionApis); 183 switches::kEnableExperimentalExtensionApis);
182 ASSERT_TRUE(RunExtensionTest("settings/simple_test")) << message_; 184 ASSERT_TRUE(RunExtensionTest("settings/simple_test")) << message_;
183 } 185 }
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 308
307 const Extension* extension = 309 const Extension* extension =
308 LoadAndReplyWhenSatisfied(SYNC, 310 LoadAndReplyWhenSatisfied(SYNC,
309 "assertNoNotifications", "assertNoNotifications", "split_incognito"); 311 "assertNoNotifications", "assertNoNotifications", "split_incognito");
310 const std::string& extension_id = extension->id(); 312 const std::string& extension_id = extension->id();
311 313
312 NoopSyncChangeProcessor sync_processor; 314 NoopSyncChangeProcessor sync_processor;
313 InitSync(&sync_processor); 315 InitSync(&sync_processor);
314 316
315 // Set "foo" to "bar" via sync. 317 // Set "foo" to "bar" via sync.
316 SyncChangeList sync_changes; 318 csync::SyncChangeList sync_changes;
317 StringValue bar("bar"); 319 StringValue bar("bar");
318 sync_changes.push_back(settings_sync_util::CreateAdd( 320 sync_changes.push_back(settings_sync_util::CreateAdd(
319 extension_id, "foo", bar, kModelType)); 321 extension_id, "foo", bar, kModelType));
320 SendChanges(sync_changes); 322 SendChanges(sync_changes);
321 323
322 ReplyWhenSatisfied(SYNC, 324 ReplyWhenSatisfied(SYNC,
323 "assertAddFooNotification", "assertAddFooNotification"); 325 "assertAddFooNotification", "assertAddFooNotification");
324 ReplyWhenSatisfied(SYNC, "clearNotifications", "clearNotifications"); 326 ReplyWhenSatisfied(SYNC, "clearNotifications", "clearNotifications");
325 327
326 // Remove "foo" via sync. 328 // Remove "foo" via sync.
(...skipping 27 matching lines...) Expand all
354 356
355 const Extension* extension = 357 const Extension* extension =
356 LoadAndReplyWhenSatisfied(LOCAL, 358 LoadAndReplyWhenSatisfied(LOCAL,
357 "assertNoNotifications", "assertNoNotifications", "split_incognito"); 359 "assertNoNotifications", "assertNoNotifications", "split_incognito");
358 const std::string& extension_id = extension->id(); 360 const std::string& extension_id = extension->id();
359 361
360 NoopSyncChangeProcessor sync_processor; 362 NoopSyncChangeProcessor sync_processor;
361 InitSync(&sync_processor); 363 InitSync(&sync_processor);
362 364
363 // Set "foo" to "bar" via sync. 365 // Set "foo" to "bar" via sync.
364 SyncChangeList sync_changes; 366 csync::SyncChangeList sync_changes;
365 StringValue bar("bar"); 367 StringValue bar("bar");
366 sync_changes.push_back(settings_sync_util::CreateAdd( 368 sync_changes.push_back(settings_sync_util::CreateAdd(
367 extension_id, "foo", bar, kModelType)); 369 extension_id, "foo", bar, kModelType));
368 SendChanges(sync_changes); 370 SendChanges(sync_changes);
369 371
370 ReplyWhenSatisfied(LOCAL, "assertNoNotifications", "assertNoNotifications"); 372 ReplyWhenSatisfied(LOCAL, "assertNoNotifications", "assertNoNotifications");
371 373
372 // Remove "foo" via sync. 374 // Remove "foo" via sync.
373 sync_changes.clear(); 375 sync_changes.clear();
374 sync_changes.push_back(settings_sync_util::CreateDelete( 376 sync_changes.push_back(settings_sync_util::CreateDelete(
375 extension_id, "foo", kModelType)); 377 extension_id, "foo", kModelType));
376 SendChanges(sync_changes); 378 SendChanges(sync_changes);
377 379
378 FinalReplyWhenSatisfied(LOCAL, 380 FinalReplyWhenSatisfied(LOCAL,
379 "assertNoNotifications", "assertNoNotifications"); 381 "assertNoNotifications", "assertNoNotifications");
380 382
381 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 383 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
382 EXPECT_TRUE(catcher_incognito.GetNextResult()) << catcher.message(); 384 EXPECT_TRUE(catcher_incognito.GetNextResult()) << catcher.message();
383 } 385 }
384 386
385 } // namespace extensions 387 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/settings/setting_sync_data.cc ('k') | chrome/browser/extensions/settings/settings_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698