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

Side by Side Diff: chrome/browser/app_controller_mac_unittest.mm

Issue 1299543002: Delete dead signin code (SigninGlobalError) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix mac? Created 5 years, 4 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
« no previous file with comments | « chrome/browser/app_controller_mac.mm ('k') | chrome/browser/signin/signin_global_error.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 <Cocoa/Cocoa.h> 5 #import <Cocoa/Cocoa.h>
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "base/mac/scoped_nsobject.h" 8 #include "base/mac/scoped_nsobject.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 base::scoped_nsobject<AppController> ac([[AppController alloc] init]); 84 base::scoped_nsobject<AppController> ac([[AppController alloc] init]);
85 85
86 // Delete the active profile. 86 // Delete the active profile.
87 profile_manager_.profile_manager()->ScheduleProfileForDeletion( 87 profile_manager_.profile_manager()->ScheduleProfileForDeletion(
88 dest_path1, ProfileManager::CreateCallback()); 88 dest_path1, ProfileManager::CreateCallback());
89 89
90 base::RunLoop().RunUntilIdle(); 90 base::RunLoop().RunUntilIdle();
91 91
92 EXPECT_EQ(dest_path2, [ac lastProfile]->GetPath()); 92 EXPECT_EQ(dest_path2, [ac lastProfile]->GetPath());
93 } 93 }
94
95 TEST_F(AppControllerTest, TestSigninMenuItemNoErrors) {
96 base::scoped_nsobject<NSMenuItem> syncMenuItem(
97 [[NSMenuItem alloc] initWithTitle:@""
98 action:@selector(commandDispatch)
99 keyEquivalent:@""]);
100 [syncMenuItem setTag:IDC_SHOW_SYNC_SETUP];
101
102 NSString* startSignin = l10n_util::GetNSStringFWithFixup(
103 IDS_SYNC_MENU_PRE_SYNCED_LABEL,
104 l10n_util::GetStringUTF16(IDS_SHORT_PRODUCT_NAME));
105
106 // Make sure shouldShow parameter is obeyed, and we get the default
107 // label if not signed in.
108 [AppController updateSigninItem:syncMenuItem
109 shouldShow:YES
110 currentProfile:profile_];
111
112 EXPECT_TRUE([[syncMenuItem title] isEqualTo:startSignin]);
113 EXPECT_FALSE([syncMenuItem isHidden]);
114
115 [AppController updateSigninItem:syncMenuItem
116 shouldShow:NO
117 currentProfile:profile_];
118 EXPECT_TRUE([[syncMenuItem title] isEqualTo:startSignin]);
119 EXPECT_TRUE([syncMenuItem isHidden]);
120
121 // Now sign in.
122 std::string username = "foo@example.com";
123 NSString* alreadySignedIn = l10n_util::GetNSStringFWithFixup(
124 IDS_SYNC_MENU_SYNCED_LABEL, base::UTF8ToUTF16(username));
125 SigninManager* signin = SigninManagerFactory::GetForProfile(profile_);
126 signin->SetAuthenticatedAccountInfo(username, username);
127 ProfileSyncService* sync = ProfileSyncServiceFactory::GetForProfile(profile_);
128 sync->SetSyncSetupCompleted();
129 [AppController updateSigninItem:syncMenuItem
130 shouldShow:YES
131 currentProfile:profile_];
132 EXPECT_TRUE([[syncMenuItem title] isEqualTo:alreadySignedIn]);
133 EXPECT_FALSE([syncMenuItem isHidden]);
134 }
135
136 TEST_F(AppControllerTest, TestSigninMenuItemAuthError) {
137 base::scoped_nsobject<NSMenuItem> syncMenuItem(
138 [[NSMenuItem alloc] initWithTitle:@""
139 action:@selector(commandDispatch)
140 keyEquivalent:@""]);
141 [syncMenuItem setTag:IDC_SHOW_SYNC_SETUP];
142
143 // Now sign in.
144 std::string username = "foo@example.com";
145 SigninManager* signin = SigninManagerFactory::GetForProfile(profile_);
146 signin->SetAuthenticatedAccountInfo(username, username);
147 ProfileSyncService* sync = ProfileSyncServiceFactory::GetForProfile(profile_);
148 sync->SetSyncSetupCompleted();
149 // Force an auth error.
150 FakeAuthStatusProvider provider(
151 SigninErrorControllerFactory::GetForProfile(profile_));
152 GoogleServiceAuthError error(
153 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS);
154 provider.SetAuthError("user@gmail.com", error);
155 [AppController updateSigninItem:syncMenuItem
156 shouldShow:YES
157 currentProfile:profile_];
158 NSString* authError =
159 l10n_util::GetNSStringWithFixup(IDS_SYNC_SIGN_IN_ERROR_WRENCH_MENU_ITEM);
160 EXPECT_TRUE([[syncMenuItem title] isEqualTo:authError]);
161 EXPECT_FALSE([syncMenuItem isHidden]);
162 }
163
164 // If there's a separator after the signin menu item, make sure it is hidden/
165 // shown when the signin menu item is.
166 TEST_F(AppControllerTest, TestSigninMenuItemWithSeparator) {
167 base::scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]);
168 NSMenuItem* signinMenuItem = [menu addItemWithTitle:@""
169 action:@selector(commandDispatch)
170 keyEquivalent:@""];
171 [signinMenuItem setTag:IDC_SHOW_SYNC_SETUP];
172 NSMenuItem* followingSeparator = [NSMenuItem separatorItem];
173 [menu addItem:followingSeparator];
174 [signinMenuItem setHidden:NO];
175 [followingSeparator setHidden:NO];
176
177 [AppController updateSigninItem:signinMenuItem
178 shouldShow:NO
179 currentProfile:profile_];
180
181 EXPECT_FALSE([followingSeparator isEnabled]);
182 EXPECT_TRUE([signinMenuItem isHidden]);
183 EXPECT_TRUE([followingSeparator isHidden]);
184
185 [AppController updateSigninItem:signinMenuItem
186 shouldShow:YES
187 currentProfile:profile_];
188
189 EXPECT_FALSE([followingSeparator isEnabled]);
190 EXPECT_FALSE([signinMenuItem isHidden]);
191 EXPECT_FALSE([followingSeparator isHidden]);
192 }
193
194 // If there's a non-separator item after the signin menu item, it should not
195 // change state when the signin menu item is hidden/shown.
196 TEST_F(AppControllerTest, TestSigninMenuItemWithNonSeparator) {
197 base::scoped_nsobject<NSMenu> menu([[NSMenu alloc] initWithTitle:@""]);
198 NSMenuItem* signinMenuItem = [menu addItemWithTitle:@""
199 action:@selector(commandDispatch)
200 keyEquivalent:@""];
201 [signinMenuItem setTag:IDC_SHOW_SYNC_SETUP];
202 NSMenuItem* followingNonSeparator =
203 [menu addItemWithTitle:@""
204 action:@selector(commandDispatch)
205 keyEquivalent:@""];
206 [signinMenuItem setHidden:NO];
207 [followingNonSeparator setHidden:NO];
208
209 [AppController updateSigninItem:signinMenuItem
210 shouldShow:NO
211 currentProfile:profile_];
212
213 EXPECT_TRUE([followingNonSeparator isEnabled]);
214 EXPECT_TRUE([signinMenuItem isHidden]);
215 EXPECT_FALSE([followingNonSeparator isHidden]);
216
217 [followingNonSeparator setHidden:YES];
218 [AppController updateSigninItem:signinMenuItem
219 shouldShow:YES
220 currentProfile:profile_];
221
222 EXPECT_TRUE([followingNonSeparator isEnabled]);
223 EXPECT_FALSE([signinMenuItem isHidden]);
224 EXPECT_TRUE([followingNonSeparator isHidden]);
225 }
OLDNEW
« no previous file with comments | « chrome/browser/app_controller_mac.mm ('k') | chrome/browser/signin/signin_global_error.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698