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

Side by Side Diff: chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_view_controller_browsertest.mm

Issue 2632123003: Revert of MacViews: Allow the toolkit-views Enterprise Signin Confirmation Dialog to be used (Closed)
Patch Set: Created 3 years, 11 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #import "chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_view_contr oller.h" 5 #import "chrome/browser/ui/cocoa/profiles/profile_signin_confirmation_view_contr oller.h"
6 6
7 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
8 8
9 #include "base/mac/scoped_nsobject.h" 9 #include "base/mac/scoped_nsobject.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/strings/sys_string_conversions.h" 11 #include "base/strings/sys_string_conversions.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "chrome/browser/ui/browser.h" 13 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/sync/profile_signin_confirmation_helper.h" 14 #include "chrome/browser/ui/sync/profile_signin_confirmation_helper.h"
15 #include "chrome/grit/chromium_strings.h" 15 #include "chrome/grit/chromium_strings.h"
16 #include "chrome/grit/generated_resources.h" 16 #include "chrome/grit/generated_resources.h"
17 #include "chrome/test/base/in_process_browser_test.h" 17 #include "chrome/test/base/in_process_browser_test.h"
18 #import "testing/gtest_mac.h" 18 #import "testing/gtest_mac.h"
19 #include "ui/base/l10n/l10n_util.h" 19 #include "ui/base/l10n/l10n_util.h"
20 20
21 @interface ProfileSigninConfirmationViewController (TestingAPI) 21 class ProfileSigninConfirmationViewControllerTest
22 : public InProcessBrowserTest,
23 public ui::ProfileSigninConfirmationDelegate {
22 24
23 @property(readonly, nonatomic) ui::ProfileSigninConfirmationDelegate* delegate;
24 @property(readonly, nonatomic) NSButton* createProfileButton;
25 @property(readonly, nonatomic) NSTextView* explanationField;
26
27 @end
28
29 @implementation ProfileSigninConfirmationViewController (TestingAPI)
30
31 - (ui::ProfileSigninConfirmationDelegate*)delegate {
32 return delegate_.get();
33 }
34
35 - (NSButton*)createProfileButton {
36 return createProfileButton_.get();
37 }
38
39 - (NSTextView*)explanationField {
40 return explanationField_.get();
41 }
42
43 @end
44
45 class ProfileSigninConfirmationViewControllerTest
46 : public InProcessBrowserTest {
47 public: 25 public:
48 ProfileSigninConfirmationViewControllerTest() 26 ProfileSigninConfirmationViewControllerTest()
49 : window_(nil), 27 : window_(nil),
50 continued_(false), 28 continued_(false),
51 cancelled_(false), 29 cancelled_(false),
52 created_(false), 30 created_(false),
53 closed_(false) { 31 closed_(false) {
54 } 32 }
55 33
56 protected: 34 protected:
57 void SetUpOnMainThread() override {} 35 void SetUpOnMainThread() override {}
58 36
59 void SetupDialog(bool offerProfileCreation = true) { 37 void SetupDialog(bool offerProfileCreation = true) {
60 window_.reset( 38 window_.reset(
61 [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 400, 600) 39 [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 400, 600)
62 styleMask:NSBorderlessWindowMask 40 styleMask:NSBorderlessWindowMask
63 backing:NSBackingStoreBuffered 41 backing:NSBackingStoreBuffered
64 defer:NO]); 42 defer:NO]);
65 base::Closure close = base::Bind( 43 base::Closure close = base::Bind(
66 &ProfileSigninConfirmationViewControllerTest::OnClose, 44 &ProfileSigninConfirmationViewControllerTest::OnClose,
67 base::Unretained(this)); 45 base::Unretained(this));
68 controller_.reset([[ProfileSigninConfirmationViewController alloc] 46 controller_.reset([[ProfileSigninConfirmationViewController alloc]
69 initWithBrowser:browser() 47 initWithBrowser:browser()
70 username:username() 48 username:username()
71 delegate:base::MakeUnique<TestSigninDelegate>(this) 49 delegate:this
72 closeDialogCallback:close 50 closeDialogCallback:close
73 offerProfileCreation:offerProfileCreation]); 51 offerProfileCreation:offerProfileCreation]);
74 [[window_ contentView] addSubview:[controller_ view]]; 52 [[window_ contentView] addSubview:[controller_ view]];
75 [window_ makeKeyAndOrderFront:NSApp]; 53 [window_ makeKeyAndOrderFront:NSApp];
76 ASSERT_TRUE([window_ isVisible]); 54 ASSERT_TRUE([window_ isVisible]);
77 } 55 }
78 56
79 // Test helpers. 57 // Test helpers.
80 std::string username() { 58 std::string username() {
81 return "foo@bar.com"; 59 return "foo@bar.com";
82 } 60 }
83 base::string16 learn_more() { 61 base::string16 learn_more() {
84 return l10n_util::GetStringUTF16( 62 return l10n_util::GetStringUTF16(
85 IDS_ENTERPRISE_SIGNIN_PROFILE_LINK_LEARN_MORE); 63 IDS_ENTERPRISE_SIGNIN_PROFILE_LINK_LEARN_MORE);
86 } 64 }
87 65
66 // ui::ProfileSigninConfirmationDelegate:
67 void OnContinueSignin() override { continued_ = true; }
68 void OnCancelSignin() override { cancelled_ = true; }
69 void OnSigninWithNewProfile() override { created_ = true; }
88 void OnClose() { closed_ = true; } 70 void OnClose() { closed_ = true; }
89 71
90 // The window containing the dialog. 72 // The window containing the dialog.
91 base::scoped_nsobject<NSWindow> window_; 73 base::scoped_nsobject<NSWindow> window_;
92 74
93 // Dialog under test. 75 // Dialog under test.
94 base::scoped_nsobject<ProfileSigninConfirmationViewController> controller_; 76 base::scoped_nsobject<ProfileSigninConfirmationViewController> controller_;
95 77
96 // Visible for testing UI interactions. 78 // Visible for testing UI interactions.
97 bool continued_; 79 bool continued_;
98 bool cancelled_; 80 bool cancelled_;
99 bool created_; 81 bool created_;
100 bool closed_; 82 bool closed_;
101 83
102 private: 84 private:
103 class TestSigninDelegate : public ui::ProfileSigninConfirmationDelegate {
104 public:
105 explicit TestSigninDelegate(
106 ProfileSigninConfirmationViewControllerTest* client)
107 : client_(client) {}
108
109 // ui::ProfileSigninConfirmationDelegate:
110 void OnContinueSignin() override { client_->continued_ = true; }
111 void OnCancelSignin() override { client_->cancelled_ = true; }
112 void OnSigninWithNewProfile() override { client_->created_ = true; }
113
114 private:
115 ProfileSigninConfirmationViewControllerTest* client_;
116
117 DISALLOW_COPY_AND_ASSIGN(TestSigninDelegate);
118 };
119
120 DISALLOW_COPY_AND_ASSIGN(ProfileSigninConfirmationViewControllerTest); 85 DISALLOW_COPY_AND_ASSIGN(ProfileSigninConfirmationViewControllerTest);
121 }; 86 };
122 87
123 IN_PROC_BROWSER_TEST_F(ProfileSigninConfirmationViewControllerTest, 88 IN_PROC_BROWSER_TEST_F(ProfileSigninConfirmationViewControllerTest,
124 ContinueClicked) { 89 ContinueClicked) {
125 SetupDialog(); 90 SetupDialog();
126 91
127 // Click should invoke and clear delegate and close the dialog. 92 // Click should invoke and clear delegate and close the dialog.
128 [controller_ ok:nil]; 93 [controller_ ok:nil];
129 EXPECT_TRUE(continued_); 94 EXPECT_TRUE(continued_);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 EXPECT_NSNE(nil, [controller_ createProfileButton]); 178 EXPECT_NSNE(nil, [controller_ createProfileButton]);
214 EXPECT_TRUE([[[controller_ view] subviews] 179 EXPECT_TRUE([[[controller_ view] subviews]
215 containsObject:[controller_ createProfileButton]]); 180 containsObject:[controller_ createProfileButton]]);
216 NSString* explanationWithCreateProfile = base::SysUTF16ToNSString( 181 NSString* explanationWithCreateProfile = base::SysUTF16ToNSString(
217 l10n_util::GetStringFUTF16( 182 l10n_util::GetStringFUTF16(
218 IDS_ENTERPRISE_SIGNIN_EXPLANATION_WITH_PROFILE_CREATION, 183 IDS_ENTERPRISE_SIGNIN_EXPLANATION_WITH_PROFILE_CREATION,
219 base::UTF8ToUTF16(username()), learn_more())); 184 base::UTF8ToUTF16(username()), learn_more()));
220 EXPECT_NSEQ(explanationWithCreateProfile, 185 EXPECT_NSEQ(explanationWithCreateProfile,
221 [[[controller_ explanationField] textStorage] string]); 186 [[[controller_ explanationField] textStorage] string]);
222 } 187 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698