| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/sync_setup_wizard.h" | 5 #include "chrome/browser/sync/sync_setup_wizard.h" |
| 6 | 6 |
| 7 #include "base/json/json_writer.h" | 7 #include "base/json/json_writer.h" |
| 8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
| 9 #include "base/stl_util-inl.h" | 9 #include "base/stl_util-inl.h" |
| 10 #include "chrome/browser/browser.h" | 10 #include "chrome/browser/browser.h" |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 157 // In real life, this is owned by the view that is opened by the browser. We | 157 // In real life, this is owned by the view that is opened by the browser. We |
| 158 // mock all that out, so we need to take ownership so the flow doesn't leak. | 158 // mock all that out, so we need to take ownership so the flow doesn't leak. |
| 159 scoped_ptr<SyncSetupFlow> flow_; | 159 scoped_ptr<SyncSetupFlow> flow_; |
| 160 | 160 |
| 161 bool was_show_html_dialog_called_; | 161 bool was_show_html_dialog_called_; |
| 162 }; | 162 }; |
| 163 | 163 |
| 164 class SyncSetupWizardTest : public BrowserWithTestWindowTest { | 164 class SyncSetupWizardTest : public BrowserWithTestWindowTest { |
| 165 public: | 165 public: |
| 166 SyncSetupWizardTest() | 166 SyncSetupWizardTest() |
| 167 : file_thread_(ChromeThread::FILE, MessageLoop::current()), | 167 : ui_thread_(ChromeThread::UI, MessageLoop::current()), |
| 168 file_thread_(ChromeThread::FILE, MessageLoop::current()), |
| 168 test_window_(NULL), | 169 test_window_(NULL), |
| 169 wizard_(NULL) { } | 170 wizard_(NULL) { } |
| 170 virtual ~SyncSetupWizardTest() { } | 171 virtual ~SyncSetupWizardTest() { } |
| 171 virtual void SetUp() { | 172 virtual void SetUp() { |
| 172 set_profile(new TestingProfileWithSyncService()); | 173 set_profile(new TestingProfileWithSyncService()); |
| 173 profile()->CreateBookmarkModel(false); | 174 profile()->CreateBookmarkModel(false); |
| 174 // Wait for the bookmarks model to load. | 175 // Wait for the bookmarks model to load. |
| 175 profile()->BlockUntilBookmarkModelLoaded(); | 176 profile()->BlockUntilBookmarkModelLoaded(); |
| 176 set_browser(new Browser(Browser::TYPE_NORMAL, profile())); | 177 set_browser(new Browser(Browser::TYPE_NORMAL, profile())); |
| 177 test_window_ = new TestBrowserWindowForWizardTest(browser()); | 178 test_window_ = new TestBrowserWindowForWizardTest(browser()); |
| 178 set_window(test_window_); | 179 set_window(test_window_); |
| 179 browser()->set_window(window()); | 180 browser()->set_window(window()); |
| 180 BrowserList::SetLastActive(browser()); | 181 BrowserList::SetLastActive(browser()); |
| 181 service_ = static_cast<ProfileSyncServiceForWizardTest*>( | 182 service_ = static_cast<ProfileSyncServiceForWizardTest*>( |
| 182 profile()->GetProfileSyncService()); | 183 profile()->GetProfileSyncService()); |
| 183 wizard_.reset(new SyncSetupWizard(service_)); | 184 wizard_.reset(new SyncSetupWizard(service_)); |
| 184 } | 185 } |
| 185 | 186 |
| 186 virtual void TearDown() { | 187 virtual void TearDown() { |
| 187 test_window_ = NULL; | 188 test_window_ = NULL; |
| 188 service_ = NULL; | 189 service_ = NULL; |
| 189 wizard_.reset(); | 190 wizard_.reset(); |
| 190 } | 191 } |
| 191 | 192 |
| 193 ChromeThread ui_thread_; |
| 192 ChromeThread file_thread_; | 194 ChromeThread file_thread_; |
| 193 TestBrowserWindowForWizardTest* test_window_; | 195 TestBrowserWindowForWizardTest* test_window_; |
| 194 scoped_ptr<SyncSetupWizard> wizard_; | 196 scoped_ptr<SyncSetupWizard> wizard_; |
| 195 ProfileSyncServiceForWizardTest* service_; | 197 ProfileSyncServiceForWizardTest* service_; |
| 196 }; | 198 }; |
| 197 | 199 |
| 198 // See http://code.google.com/p/chromium/issues/detail?id=40715 for | 200 // See http://code.google.com/p/chromium/issues/detail?id=40715 for |
| 199 // why we skip the below tests on OS X. We don't use DISABLED_ as we | 201 // why we skip the below tests on OS X. We don't use DISABLED_ as we |
| 200 // would have to change the corresponding FRIEND_TEST() declarations. | 202 // would have to change the corresponding FRIEND_TEST() declarations. |
| 201 | 203 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 297 TEST_F(SyncSetupWizardTest, ChooseDataTypesSetsPrefs) { | 299 TEST_F(SyncSetupWizardTest, ChooseDataTypesSetsPrefs) { |
| 298 SKIP_TEST_ON_MACOSX(); | 300 SKIP_TEST_ON_MACOSX(); |
| 299 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); | 301 wizard_->Step(SyncSetupWizard::GAIA_LOGIN); |
| 300 wizard_->Step(SyncSetupWizard::CHOOSE_DATA_TYPES); | 302 wizard_->Step(SyncSetupWizard::CHOOSE_DATA_TYPES); |
| 301 | 303 |
| 302 ListValue data_type_choices_value; | 304 ListValue data_type_choices_value; |
| 303 std::string data_type_choices = "{\"keepEverythingSynced\":false,"; | 305 std::string data_type_choices = "{\"keepEverythingSynced\":false,"; |
| 304 data_type_choices += "\"syncBookmarks\":true,\"syncPreferences\":true,"; | 306 data_type_choices += "\"syncBookmarks\":true,\"syncPreferences\":true,"; |
| 305 data_type_choices += "\"syncThemes\":false,\"syncPasswords\":false,"; | 307 data_type_choices += "\"syncThemes\":false,\"syncPasswords\":false,"; |
| 306 data_type_choices += "\"syncAutofill\":false,\"syncExtensions\":false,"; | 308 data_type_choices += "\"syncAutofill\":false,\"syncExtensions\":false,"; |
| 307 data_type_choices += "\"syncTypedUrls\":true,\"syncApps\":true,"; | 309 data_type_choices += "\"syncTypedUrls\":true,\"syncApps\":true}"; |
| 308 data_type_choices += "\"syncSessions\":false}"; | |
| 309 data_type_choices_value.Append(new StringValue(data_type_choices)); | 310 data_type_choices_value.Append(new StringValue(data_type_choices)); |
| 310 | 311 |
| 311 // Simulate the user choosing data types; bookmarks, prefs, typed | 312 // Simulate the user choosing data types; bookmarks, prefs, typed |
| 312 // URLS, and apps are on, the rest are off. | 313 // URLS, and apps are on, the rest are off. |
| 313 test_window_->flow()->flow_handler_->HandleChooseDataTypes( | 314 test_window_->flow()->flow_handler_->HandleChooseDataTypes( |
| 314 &data_type_choices_value); | 315 &data_type_choices_value); |
| 315 EXPECT_TRUE(wizard_->IsVisible()); | 316 EXPECT_TRUE(wizard_->IsVisible()); |
| 316 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled()); | 317 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled()); |
| 317 EXPECT_FALSE(service_->keep_everything_synced_); | 318 EXPECT_FALSE(service_->keep_everything_synced_); |
| 318 EXPECT_EQ(service_->chosen_data_types_.count(syncable::BOOKMARKS), 1U); | 319 EXPECT_EQ(service_->chosen_data_types_.count(syncable::BOOKMARKS), 1U); |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 482 int error = -1; | 483 int error = -1; |
| 483 dialog_args.GetInteger("error", &error); | 484 dialog_args.GetInteger("error", &error); |
| 484 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error); | 485 EXPECT_EQ(static_cast<int>(AuthError::INVALID_GAIA_CREDENTIALS), error); |
| 485 service_->set_auth_state(kTestUser, AuthError::None()); | 486 service_->set_auth_state(kTestUser, AuthError::None()); |
| 486 | 487 |
| 487 wizard_->Step(SyncSetupWizard::GAIA_SUCCESS); | 488 wizard_->Step(SyncSetupWizard::GAIA_SUCCESS); |
| 488 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled()); | 489 EXPECT_TRUE(test_window_->TestAndResetWasShowHTMLDialogCalled()); |
| 489 } | 490 } |
| 490 | 491 |
| 491 #undef SKIP_TEST_ON_MACOSX | 492 #undef SKIP_TEST_ON_MACOSX |
| OLD | NEW |