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

Unified Diff: chrome/browser/sync/profile_sync_service_session_unittest.cc

Issue 6465005: [Sync] Initial support for encrypting any datatype (no UI hookup yet). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review Created 9 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/profile_sync_service_session_unittest.cc
diff --git a/chrome/browser/sync/profile_sync_service_session_unittest.cc b/chrome/browser/sync/profile_sync_service_session_unittest.cc
index fef7e14b02efb59d78b35c5885191b8a6f94a066..d74c054ac940f269b367e5f76b847947f8ed0762 100644
--- a/chrome/browser/sync/profile_sync_service_session_unittest.cc
+++ b/chrome/browser/sync/profile_sync_service_session_unittest.cc
@@ -49,6 +49,32 @@ using browser_sync::TestIdFactory;
namespace browser_sync {
+static const std::string kCrosUserForTest = "test user";
+
+// Ensures the we use our own ProfileSyncService. This is necessary since only
+// it has the correct cros_user value, which avoids some codepaths that aren't
+// relevant to tests.
+class TestingProfileForSyncTests : public TestingProfile {
+ public:
+ TestingProfileForSyncTests()
+ : sync_service_(NULL) {}
+ virtual bool HasProfileSyncService() const {
+ return (sync_service_ != NULL);
+ }
+ virtual ProfileSyncService* GetProfileSyncService() {
+ return GetProfileSyncService(std::string());
+ }
+ virtual ProfileSyncService* GetProfileSyncService(
+ const std::string& cros_user) {
+ return sync_service_;
+ }
+ void set_sync_service(ProfileSyncService* sync_service) {
+ sync_service_ = sync_service;
+ }
+ private:
+ ProfileSyncService* sync_service_;
+};
+
class ProfileSyncServiceSessionTest
: public BrowserWithTestWindowTest,
public NotificationObserver {
@@ -56,7 +82,10 @@ class ProfileSyncServiceSessionTest
ProfileSyncServiceSessionTest()
: window_bounds_(0, 1, 2, 3),
notified_of_update_(false) {}
-
+ ~ProfileSyncServiceSessionTest() {
+ reinterpret_cast<TestingProfileForSyncTests *>(profile())->
+ set_sync_service(NULL);
+ }
ProfileSyncService* sync_service() { return sync_service_.get(); }
TestIdFactory* ids() { return sync_service_->id_factory(); }
@@ -65,7 +94,12 @@ class ProfileSyncServiceSessionTest
SessionService* service() { return helper_.service(); }
virtual void SetUp() {
- BrowserWithTestWindowTest::SetUp();
+ // BrowserWithTestWindowTest implementation.
+ set_profile(new TestingProfileForSyncTests());
+ set_browser(new Browser(Browser::TYPE_NORMAL, profile()));
+ set_window(new TestBrowserWindow(browser()));
+ browser()->set_window(window());
+
profile()->set_has_history_service(true);
ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
SessionService* session_service = new SessionService(temp_dir_.path());
@@ -98,9 +132,10 @@ class ProfileSyncServiceSessionTest
bool StartSyncService(Task* task, bool will_fail_association) {
if (sync_service_.get())
return false;
-
sync_service_.reset(new TestProfileSyncService(
- &factory_, profile(), "test user", false, task));
+ &factory_, profile(), kCrosUserForTest, false, task));
+ reinterpret_cast<TestingProfileForSyncTests *>(profile())->
+ set_sync_service(sync_service_.get());
profile()->set_session_service(helper_.service());
// Register the session data type.

Powered by Google App Engine
This is Rietveld 408576698