Index: chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller_unittest.mm |
diff --git a/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller_unittest.mm b/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller_unittest.mm |
deleted file mode 100644 |
index 7a07cee3145920382296818ff451fabad4dcab66..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller_unittest.mm |
+++ /dev/null |
@@ -1,204 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#import "chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.h" |
- |
-#include "base/mac/foundation_util.h" |
-#include "base/memory/scoped_vector.h" |
-#include "base/strings/string16.h" |
-#include "base/strings/utf_string_conversions.h" |
-#import "chrome/browser/ui/cocoa/bubble_combobox.h" |
-#include "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
-#import "chrome/browser/ui/cocoa/passwords/account_avatar_fetcher_manager.h" |
-#import "chrome/browser/ui/cocoa/passwords/manage_passwords_bubble_account_chooser_view_controller.h" |
-#include "chrome/browser/ui/cocoa/passwords/manage_passwords_controller_test.h" |
-#include "chrome/browser/ui/passwords/account_chooser_more_combobox_model.h" |
-#include "chrome/browser/ui/passwords/manage_passwords_bubble_model.h" |
-#include "chrome/browser/ui/passwords/manage_passwords_ui_controller_mock.h" |
-#include "components/password_manager/core/common/password_manager_ui.h" |
-#include "testing/gtest_mac.h" |
-#include "url/gurl.h" |
- |
-@interface ManagePasswordsBubbleAccountChooserViewController(Testing) |
-- (id)initWithModel:(ManagePasswordsBubbleModel*)model |
- avatarManager:(AccountAvatarFetcherManager*)avatarManager |
- delegate:(id<ManagePasswordsBubbleContentViewDelegate>)delegate; |
-@property(nonatomic, readonly) NSButton* cancelButton; |
-@property(nonatomic, readonly) BubbleCombobox* moreButton; |
-@property(nonatomic, readonly) NSTableView* credentialsView; |
-@end |
- |
-@interface CredentialItemView(Testing) |
-@property(nonatomic, readonly) NSTextField* upperLabel; |
-@end |
- |
-@interface AccountAvatarFetcherTestManager : AccountAvatarFetcherManager { |
- std::vector<GURL> fetchedAvatars_; |
-} |
-@property(nonatomic, readonly) const std::vector<GURL>& fetchedAvatars; |
-@end |
- |
-@implementation AccountAvatarFetcherTestManager |
- |
-- (void)fetchAvatar:(const GURL&)avatarURL forView:(CredentialItemView*)view { |
- fetchedAvatars_.push_back(avatarURL); |
-} |
- |
-- (const std::vector<GURL>&)fetchedAvatars { |
- return fetchedAvatars_; |
-} |
- |
-@end |
- |
-namespace { |
- |
-// Returns a PasswordForm with only a username. |
-scoped_ptr<autofill::PasswordForm> Credential(const char* username) { |
- scoped_ptr<autofill::PasswordForm> credential(new autofill::PasswordForm); |
- credential->username_value = base::ASCIIToUTF16(username); |
- return credential.Pass(); |
-} |
- |
-// Tests for the account chooser view of the password management bubble. |
-class ManagePasswordsBubbleAccountChooserViewControllerTest |
- : public ManagePasswordsControllerTest { |
- public: |
- ManagePasswordsBubbleAccountChooserViewControllerTest() : controller_(nil) {} |
- |
- void SetUp() override { |
- ManagePasswordsControllerTest::SetUp(); |
- delegate_.reset([[ContentViewDelegateMock alloc] init]); |
- avatar_manager_.reset([[AccountAvatarFetcherTestManager alloc] init]); |
- } |
- |
- ContentViewDelegateMock* delegate() { return delegate_.get(); } |
- |
- AccountAvatarFetcherTestManager* avatar_manager() { |
- return avatar_manager_.get(); |
- } |
- |
- ManagePasswordsBubbleAccountChooserViewController* controller() { |
- if (!controller_) { |
- controller_.reset( |
- [[ManagePasswordsBubbleAccountChooserViewController alloc] |
- initWithModel:model() |
- avatarManager:avatar_manager() |
- delegate:delegate()]); |
- [controller_ loadView]; |
- } |
- return controller_.get(); |
- } |
- |
- private: |
- base::scoped_nsobject<AccountAvatarFetcherTestManager> avatar_manager_; |
- base::scoped_nsobject<ManagePasswordsBubbleAccountChooserViewController> |
- controller_; |
- base::scoped_nsobject<ContentViewDelegateMock> delegate_; |
-}; |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, ConfiguresViews) { |
- ScopedVector<autofill::PasswordForm> local_forms; |
- local_forms.push_back(Credential("pizza")); |
- ScopedVector<autofill::PasswordForm> federated_forms; |
- federated_forms.push_back(Credential("taco")); |
- EXPECT_TRUE(ui_controller()->OnChooseCredentials( |
- local_forms.Pass(), |
- federated_forms.Pass(), |
- GURL("http://example.com"), |
- base::Callback<void(const password_manager::CredentialInfo&)>())); |
- // Trigger creation of controller and check the views. |
- NSTableView* view = controller().credentialsView; |
- ASSERT_NSNE(nil, view); |
- ASSERT_EQ(2U, view.numberOfRows); |
- EXPECT_NSEQ( |
- @"pizza", |
- base::mac::ObjCCastStrict<CredentialItemView>( |
- base::mac::ObjCCastStrict<CredentialItemCell>( |
- [view.delegate tableView:view dataCellForTableColumn:nil row:0]) |
- .view).upperLabel.stringValue); |
- EXPECT_NSEQ( |
- @"taco", |
- base::mac::ObjCCastStrict<CredentialItemView>( |
- base::mac::ObjCCastStrict<CredentialItemCell>( |
- [view.delegate tableView:view dataCellForTableColumn:nil row:1]) |
- .view).upperLabel.stringValue); |
- EXPECT_TRUE(avatar_manager().fetchedAvatars.empty()); |
-} |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, |
- ForwardsAvatarFetchToManager) { |
- ScopedVector<autofill::PasswordForm> local_forms; |
- local_forms.push_back(Credential("taco")); |
- local_forms.back()->icon_url = GURL("http://foo"); |
- EXPECT_TRUE(ui_controller()->OnChooseCredentials( |
- local_forms.Pass(), |
- ScopedVector<autofill::PasswordForm>(), |
- GURL("http://example.com"), |
- base::Callback<void(const password_manager::CredentialInfo&)>())); |
- // Trigger creation of the controller and check the fetched URLs. |
- controller(); |
- EXPECT_FALSE(avatar_manager().fetchedAvatars.empty()); |
- EXPECT_TRUE(std::find(avatar_manager().fetchedAvatars.begin(), |
- avatar_manager().fetchedAvatars.end(), |
- GURL("http://foo")) != |
- avatar_manager().fetchedAvatars.end()); |
-} |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, |
- SelectingCredentialInformsModelAndClosesDialog) { |
- ScopedVector<autofill::PasswordForm> local_forms; |
- local_forms.push_back(Credential("pizza")); |
- ScopedVector<autofill::PasswordForm> federated_forms; |
- federated_forms.push_back(Credential("taco")); |
- EXPECT_TRUE(ui_controller()->OnChooseCredentials( |
- local_forms.Pass(), |
- federated_forms.Pass(), |
- GURL("http://example.com"), |
- base::Callback<void(const password_manager::CredentialInfo&)>())); |
- EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
- ui_controller()->state()); |
- [controller().credentialsView |
- selectRowIndexes:[NSIndexSet indexSetWithIndex:1] |
- byExtendingSelection:NO]; |
- EXPECT_TRUE(delegate().dismissed); |
- EXPECT_EQ(password_manager::ui::CREDENTIAL_REQUEST_STATE, |
- ui_controller()->state()); |
- EXPECT_TRUE(ui_controller()->choose_credential()); |
- EXPECT_EQ(base::ASCIIToUTF16("taco"), |
- ui_controller()->chosen_credential().username_value); |
-} |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, |
- SelectingNopeDismissesDialog) { |
- ScopedVector<autofill::PasswordForm> local_forms; |
- local_forms.push_back(Credential("pizza")); |
- EXPECT_TRUE(ui_controller()->OnChooseCredentials( |
- local_forms.Pass(), ScopedVector<autofill::PasswordForm>(), |
- GURL("http://example.com"), |
- base::Callback<void(const password_manager::CredentialInfo&)>())); |
- [controller().cancelButton performClick:nil]; |
- EXPECT_TRUE(delegate().dismissed); |
-} |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, |
- SelectingSettingsShowsSettingsPage) { |
- BubbleCombobox* moreButton = controller().moreButton; |
- EXPECT_TRUE(moreButton); |
- [[moreButton menu] performActionForItemAtIndex: |
- AccountChooserMoreComboboxModel::INDEX_SETTINGS]; |
- EXPECT_TRUE(ui_controller()->navigated_to_settings_page()); |
- EXPECT_TRUE(delegate().dismissed); |
-} |
- |
-TEST_F(ManagePasswordsBubbleAccountChooserViewControllerTest, |
- SelectingLearnMoreShowsHelpCenterArticle) { |
- BubbleCombobox* moreButton = controller().moreButton; |
- EXPECT_TRUE(moreButton); |
- [[moreButton menu] performActionForItemAtIndex: |
- AccountChooserMoreComboboxModel::INDEX_LEARN_MORE]; |
- EXPECT_TRUE(delegate().dismissed); |
- // TODO(dconnelly): Test this when the article is written. |
-} |
- |
-} // namespace |