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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm

Issue 1579863003: Convert Pass()→std::move() for Mac build. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/extensions/extension_install_view_controller.h"
6
5 #import <Cocoa/Cocoa.h> 7 #import <Cocoa/Cocoa.h>
6 8
9 #include <utility>
10
7 #import "base/mac/scoped_nsobject.h" 11 #import "base/mac/scoped_nsobject.h"
8 #include "base/strings/sys_string_conversions.h" 12 #include "base/strings/sys_string_conversions.h"
9 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
10 #import "chrome/browser/extensions/extension_install_prompt.h" 14 #import "chrome/browser/extensions/extension_install_prompt.h"
11 #include "chrome/browser/ui/browser.h" 15 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h" 16 #include "chrome/browser/ui/cocoa/cocoa_profile_test.h"
13 #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils. h" 17 #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils. h"
14 #import "chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h"
15 #include "extensions/common/extension.h" 18 #include "extensions/common/extension.h"
16 #include "extensions/common/permissions/permission_message_provider.h" 19 #include "extensions/common/permissions/permission_message_provider.h"
17 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
18 #import "testing/gtest_mac.h" 21 #import "testing/gtest_mac.h"
19 22
20 using extensions::Extension; 23 using extensions::Extension;
21 using extensions::PermissionIDSet; 24 using extensions::PermissionIDSet;
22 using extensions::PermissionMessage; 25 using extensions::PermissionMessage;
23 using extensions::PermissionMessages; 26 using extensions::PermissionMessages;
24 27
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 ExtensionInstallPrompt::PermissionsType type = 80 ExtensionInstallPrompt::PermissionsType type =
78 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; 81 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS;
79 82
80 PermissionMessages permissions; 83 PermissionMessages permissions;
81 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), 84 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"),
82 PermissionIDSet())); 85 PermissionIDSet()));
83 prompt->SetPermissions(permissions, type); 86 prompt->SetPermissions(permissions, type);
84 base::string16 permissionString = prompt->GetPermission(0, type); 87 base::string16 permissionString = prompt->GetPermission(0, type);
85 88
86 base::scoped_nsobject<ExtensionInstallViewController> controller( 89 base::scoped_nsobject<ExtensionInstallViewController> controller(
87 [[ExtensionInstallViewController alloc] initWithProfile:profile() 90 [[ExtensionInstallViewController alloc]
88 navigator:browser() 91 initWithProfile:profile()
89 delegate:&delegate 92 navigator:browser()
90 prompt:prompt.Pass()]); 93 delegate:&delegate
94 prompt:std::move(prompt)]);
91 95
92 [controller view]; // Force nib load. 96 [controller view]; // Force nib load.
93 97
94 // Test the right nib loaded. 98 // Test the right nib loaded.
95 EXPECT_NSEQ(@"ExtensionInstallPrompt", [controller nibName]); 99 EXPECT_NSEQ(@"ExtensionInstallPrompt", [controller nibName]);
96 100
97 // Check all the controls. 101 // Check all the controls.
98 // Make sure everything is non-nil, and that the fields that are 102 // Make sure everything is non-nil, and that the fields that are
99 // auto-translated don't start with a caret (that would indicate that they 103 // auto-translated don't start with a caret (that would indicate that they
100 // were not translated). 104 // were not translated).
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 chrome::BuildExtensionInstallPrompt(extension_.get())); 137 chrome::BuildExtensionInstallPrompt(extension_.get()));
134 ExtensionInstallPrompt::PermissionsType type = 138 ExtensionInstallPrompt::PermissionsType type =
135 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; 139 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS;
136 140
137 PermissionMessages permissions; 141 PermissionMessages permissions;
138 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), 142 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"),
139 PermissionIDSet())); 143 PermissionIDSet()));
140 prompt->SetPermissions(permissions, type); 144 prompt->SetPermissions(permissions, type);
141 145
142 base::scoped_nsobject<ExtensionInstallViewController> controller( 146 base::scoped_nsobject<ExtensionInstallViewController> controller(
143 [[ExtensionInstallViewController alloc] initWithProfile:profile() 147 [[ExtensionInstallViewController alloc]
144 navigator:browser() 148 initWithProfile:profile()
145 delegate:&delegate 149 navigator:browser()
146 prompt:prompt.Pass()]); 150 delegate:&delegate
151 prompt:std::move(prompt)]);
147 152
148 [controller view]; // Force nib load. 153 [controller view]; // Force nib load.
149 [controller ok:nil]; 154 [controller ok:nil];
150 155
151 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::OKAY, 156 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::OKAY,
152 delegate.action()); 157 delegate.action());
153 } 158 }
154 159
155 // Test that controls get repositioned when there are two warnings vs one 160 // Test that controls get repositioned when there are two warnings vs one
156 // warning. 161 // warning.
(...skipping 15 matching lines...) Expand all
172 chrome::BuildExtensionInstallPrompt(extension_.get())); 177 chrome::BuildExtensionInstallPrompt(extension_.get()));
173 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 2"), 178 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 2"),
174 PermissionIDSet())); 179 PermissionIDSet()));
175 two_warnings_prompt->SetPermissions(permissions, type); 180 two_warnings_prompt->SetPermissions(permissions, type);
176 181
177 base::scoped_nsobject<ExtensionInstallViewController> controller1( 182 base::scoped_nsobject<ExtensionInstallViewController> controller1(
178 [[ExtensionInstallViewController alloc] 183 [[ExtensionInstallViewController alloc]
179 initWithProfile:profile() 184 initWithProfile:profile()
180 navigator:browser() 185 navigator:browser()
181 delegate:&delegate1 186 delegate:&delegate1
182 prompt:one_warning_prompt.Pass()]); 187 prompt:std::move(one_warning_prompt)]);
183 188
184 [controller1 view]; // Force nib load. 189 [controller1 view]; // Force nib load.
185 190
186 base::scoped_nsobject<ExtensionInstallViewController> controller2( 191 base::scoped_nsobject<ExtensionInstallViewController> controller2(
187 [[ExtensionInstallViewController alloc] 192 [[ExtensionInstallViewController alloc]
188 initWithProfile:profile() 193 initWithProfile:profile()
189 navigator:browser() 194 navigator:browser()
190 delegate:&delegate2 195 delegate:&delegate2
191 prompt:two_warnings_prompt.Pass()]); 196 prompt:std::move(two_warnings_prompt)]);
192 197
193 [controller2 view]; // Force nib load. 198 [controller2 view]; // Force nib load.
194 199
195 // Test control positioning. We don't test exact positioning because we don't 200 // Test control positioning. We don't test exact positioning because we don't
196 // want this to depend on string details and localization. But we do know the 201 // want this to depend on string details and localization. But we do know the
197 // relative effect that adding a second warning should have on the layout. 202 // relative effect that adding a second warning should have on the layout.
198 ASSERT_LT([[controller1 view] frame].size.height, 203 ASSERT_LT([[controller1 view] frame].size.height,
199 [[controller2 view] frame].size.height); 204 [[controller2 view] frame].size.height);
200 205
201 ASSERT_LT([[controller1 view] frame].size.height, 206 ASSERT_LT([[controller1 view] frame].size.height,
202 [[controller2 view] frame].size.height); 207 [[controller2 view] frame].size.height);
203 } 208 }
204 209
205 // Test that we can load the skinny prompt correctly, and that the outlets are 210 // Test that we can load the skinny prompt correctly, and that the outlets are
206 // are hooked up. 211 // are hooked up.
207 TEST_F(ExtensionInstallViewControllerTest, BasicsSkinny) { 212 TEST_F(ExtensionInstallViewControllerTest, BasicsSkinny) {
208 MockExtensionInstallViewDelegate delegate; 213 MockExtensionInstallViewDelegate delegate;
209 214
210 // No warnings should trigger skinny prompt. 215 // No warnings should trigger skinny prompt.
211 scoped_ptr<ExtensionInstallPrompt::Prompt> no_warnings_prompt( 216 scoped_ptr<ExtensionInstallPrompt::Prompt> no_warnings_prompt(
212 chrome::BuildExtensionInstallPrompt(extension_.get())); 217 chrome::BuildExtensionInstallPrompt(extension_.get()));
213 218
214 base::scoped_nsobject<ExtensionInstallViewController> controller( 219 base::scoped_nsobject<ExtensionInstallViewController> controller(
215 [[ExtensionInstallViewController alloc] 220 [[ExtensionInstallViewController alloc]
216 initWithProfile:profile() 221 initWithProfile:profile()
217 navigator:browser() 222 navigator:browser()
218 delegate:&delegate 223 delegate:&delegate
219 prompt:no_warnings_prompt.Pass()]); 224 prompt:std::move(no_warnings_prompt)]);
220 225
221 [controller view]; // Force nib load. 226 [controller view]; // Force nib load.
222 227
223 // Test the right nib loaded. 228 // Test the right nib loaded.
224 EXPECT_NSEQ(@"ExtensionInstallPromptNoWarnings", [controller nibName]); 229 EXPECT_NSEQ(@"ExtensionInstallPromptNoWarnings", [controller nibName]);
225 230
226 // Check all the controls. 231 // Check all the controls.
227 // In the skinny prompt, only the icon, title and buttons are non-nill. 232 // In the skinny prompt, only the icon, title and buttons are non-nill.
228 // Everything else is nil. 233 // Everything else is nil.
229 EXPECT_TRUE([controller iconView]); 234 EXPECT_TRUE([controller iconView]);
(...skipping 25 matching lines...) Expand all
255 ExtensionInstallPrompt::INLINE_INSTALL_PROMPT)); 260 ExtensionInstallPrompt::INLINE_INSTALL_PROMPT));
256 inline_prompt->SetWebstoreData("1,000", true, 3.5, 200); 261 inline_prompt->SetWebstoreData("1,000", true, 3.5, 200);
257 inline_prompt->set_extension(extension_.get()); 262 inline_prompt->set_extension(extension_.get());
258 inline_prompt->set_icon(chrome::LoadInstallPromptIcon()); 263 inline_prompt->set_icon(chrome::LoadInstallPromptIcon());
259 264
260 base::scoped_nsobject<ExtensionInstallViewController> controller( 265 base::scoped_nsobject<ExtensionInstallViewController> controller(
261 [[ExtensionInstallViewController alloc] 266 [[ExtensionInstallViewController alloc]
262 initWithProfile:profile() 267 initWithProfile:profile()
263 navigator:browser() 268 navigator:browser()
264 delegate:&delegate 269 delegate:&delegate
265 prompt:inline_prompt.Pass()]); 270 prompt:std::move(inline_prompt)]);
266 271
267 [controller view]; // Force nib load. 272 [controller view]; // Force nib load.
268 273
269 // Test the right nib loaded. 274 // Test the right nib loaded.
270 EXPECT_NSEQ(@"ExtensionInstallPromptWebstoreData", [controller nibName]); 275 EXPECT_NSEQ(@"ExtensionInstallPromptWebstoreData", [controller nibName]);
271 276
272 // Check all the controls. 277 // Check all the controls.
273 EXPECT_TRUE([controller iconView]); 278 EXPECT_TRUE([controller iconView]);
274 EXPECT_TRUE([[controller iconView] image]); 279 EXPECT_TRUE([[controller iconView] image]);
275 280
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get())); 318 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get()));
314 ExtensionInstallPrompt::PermissionsType type = 319 ExtensionInstallPrompt::PermissionsType type =
315 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; 320 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS;
316 321
317 PermissionMessages permissions; 322 PermissionMessages permissions;
318 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), 323 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"),
319 PermissionIDSet())); 324 PermissionIDSet()));
320 prompt->SetPermissions(permissions, type); 325 prompt->SetPermissions(permissions, type);
321 326
322 base::scoped_nsobject<ExtensionInstallViewController> controller( 327 base::scoped_nsobject<ExtensionInstallViewController> controller(
323 [[ExtensionInstallViewController alloc] initWithProfile:profile() 328 [[ExtensionInstallViewController alloc]
324 navigator:browser() 329 initWithProfile:profile()
325 delegate:&delegate 330 navigator:browser()
326 prompt:prompt.Pass()]); 331 delegate:&delegate
332 prompt:std::move(prompt)]);
327 333
328 [controller view]; // Force nib load. 334 [controller view]; // Force nib load.
329 335
330 EXPECT_TRUE([controller cancelButton]); 336 EXPECT_TRUE([controller cancelButton]);
331 EXPECT_FALSE([controller okButton]); 337 EXPECT_FALSE([controller okButton]);
332 338
333 [controller cancel:nil]; 339 [controller cancel:nil];
334 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::CANCEL, 340 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::CANCEL,
335 delegate.action()); 341 delegate.action());
336 } 342 }
(...skipping 11 matching lines...) Expand all
348 permissions.push_back(PermissionMessage( 354 permissions.push_back(PermissionMessage(
349 base::UTF8ToUTF16("warning 1"), 355 base::UTF8ToUTF16("warning 1"),
350 PermissionIDSet(), 356 PermissionIDSet(),
351 std::vector<base::string16>(1, base::UTF8ToUTF16("Detail 1")))); 357 std::vector<base::string16>(1, base::UTF8ToUTF16("Detail 1"))));
352 prompt->SetPermissions(permissions, type); 358 prompt->SetPermissions(permissions, type);
353 prompt->SetIsShowingDetails( 359 prompt->SetIsShowingDetails(
354 ExtensionInstallPrompt::PERMISSIONS_DETAILS, 0, true); 360 ExtensionInstallPrompt::PERMISSIONS_DETAILS, 0, true);
355 base::string16 permissionString = prompt->GetPermissionsDetails(0, type); 361 base::string16 permissionString = prompt->GetPermissionsDetails(0, type);
356 362
357 base::scoped_nsobject<ExtensionInstallViewController> controller( 363 base::scoped_nsobject<ExtensionInstallViewController> controller(
358 [[ExtensionInstallViewController alloc] initWithProfile:profile() 364 [[ExtensionInstallViewController alloc]
359 navigator:browser() 365 initWithProfile:profile()
360 delegate:&delegate 366 navigator:browser()
361 prompt:prompt.Pass()]); 367 delegate:&delegate
368 prompt:std::move(prompt)]);
362 369
363 [controller view]; // Force nib load. 370 [controller view]; // Force nib load.
364 371
365 NSOutlineView* outlineView = [controller outlineView]; 372 NSOutlineView* outlineView = [controller outlineView];
366 EXPECT_TRUE(outlineView); 373 EXPECT_TRUE(outlineView);
367 EXPECT_EQ(4, [outlineView numberOfRows]); 374 EXPECT_EQ(4, [outlineView numberOfRows]);
368 EXPECT_NSEQ(base::SysUTF16ToNSString(permissionString), 375 EXPECT_NSEQ(base::SysUTF16ToNSString(permissionString),
369 [[outlineView dataSource] outlineView:outlineView 376 [[outlineView dataSource] outlineView:outlineView
370 objectValueForTableColumn:nil 377 objectValueForTableColumn:nil
371 byItem:[outlineView itemAtRow:2]]); 378 byItem:[outlineView itemAtRow:2]]);
372 } 379 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698