OLD | NEW |
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" | 5 #import "chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h" |
6 | 6 |
7 #import <Cocoa/Cocoa.h> | 7 #import <Cocoa/Cocoa.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 MockExtensionInstallViewDelegate delegate; | 76 MockExtensionInstallViewDelegate delegate; |
77 | 77 |
78 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( | 78 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( |
79 chrome::BuildExtensionInstallPrompt(extension_.get())); | 79 chrome::BuildExtensionInstallPrompt(extension_.get())); |
80 ExtensionInstallPrompt::PermissionsType type = | 80 ExtensionInstallPrompt::PermissionsType type = |
81 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; | 81 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; |
82 | 82 |
83 PermissionMessages permissions; | 83 PermissionMessages permissions; |
84 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), | 84 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), |
85 PermissionIDSet())); | 85 PermissionIDSet())); |
86 prompt->SetPermissions(permissions, type); | 86 prompt->AddPermissions(permissions, type); |
87 base::string16 permissionString = prompt->GetPermission(0, type); | 87 base::string16 permissionString = prompt->GetPermission(0, type); |
88 | 88 |
89 base::scoped_nsobject<ExtensionInstallViewController> controller( | 89 base::scoped_nsobject<ExtensionInstallViewController> controller( |
90 [[ExtensionInstallViewController alloc] | 90 [[ExtensionInstallViewController alloc] |
91 initWithProfile:profile() | 91 initWithProfile:profile() |
92 navigator:browser() | 92 navigator:browser() |
93 delegate:&delegate | 93 delegate:&delegate |
94 prompt:std::move(prompt)]); | 94 prompt:std::move(prompt)]); |
95 | 95 |
96 [controller view]; // Force nib load. | 96 [controller view]; // Force nib load. |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 MockExtensionInstallViewDelegate delegate; | 134 MockExtensionInstallViewDelegate delegate; |
135 | 135 |
136 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( | 136 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( |
137 chrome::BuildExtensionInstallPrompt(extension_.get())); | 137 chrome::BuildExtensionInstallPrompt(extension_.get())); |
138 ExtensionInstallPrompt::PermissionsType type = | 138 ExtensionInstallPrompt::PermissionsType type = |
139 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; | 139 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; |
140 | 140 |
141 PermissionMessages permissions; | 141 PermissionMessages permissions; |
142 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), | 142 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), |
143 PermissionIDSet())); | 143 PermissionIDSet())); |
144 prompt->SetPermissions(permissions, type); | 144 prompt->AddPermissions(permissions, type); |
145 | 145 |
146 base::scoped_nsobject<ExtensionInstallViewController> controller( | 146 base::scoped_nsobject<ExtensionInstallViewController> controller( |
147 [[ExtensionInstallViewController alloc] | 147 [[ExtensionInstallViewController alloc] |
148 initWithProfile:profile() | 148 initWithProfile:profile() |
149 navigator:browser() | 149 navigator:browser() |
150 delegate:&delegate | 150 delegate:&delegate |
151 prompt:std::move(prompt)]); | 151 prompt:std::move(prompt)]); |
152 | 152 |
153 [controller view]; // Force nib load. | 153 [controller view]; // Force nib load. |
154 [controller ok:nil]; | 154 [controller ok:nil]; |
155 | 155 |
156 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::OKAY, | 156 EXPECT_EQ(MockExtensionInstallViewDelegate::Action::OKAY, |
157 delegate.action()); | 157 delegate.action()); |
158 } | 158 } |
159 | 159 |
160 // 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 |
161 // warning. | 161 // warning. |
162 TEST_F(ExtensionInstallViewControllerTest, MultipleWarnings) { | 162 TEST_F(ExtensionInstallViewControllerTest, MultipleWarnings) { |
163 MockExtensionInstallViewDelegate delegate1; | 163 MockExtensionInstallViewDelegate delegate1; |
164 MockExtensionInstallViewDelegate delegate2; | 164 MockExtensionInstallViewDelegate delegate2; |
165 | 165 |
166 std::unique_ptr<ExtensionInstallPrompt::Prompt> one_warning_prompt( | 166 std::unique_ptr<ExtensionInstallPrompt::Prompt> one_warning_prompt( |
167 chrome::BuildExtensionInstallPrompt(extension_.get())); | 167 chrome::BuildExtensionInstallPrompt(extension_.get())); |
168 ExtensionInstallPrompt::PermissionsType type = | 168 ExtensionInstallPrompt::PermissionsType type = |
169 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; | 169 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; |
170 | 170 |
171 PermissionMessages permissions; | 171 PermissionMessages permissions; |
172 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), | 172 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), |
173 PermissionIDSet())); | 173 PermissionIDSet())); |
174 one_warning_prompt->SetPermissions(permissions, type); | 174 one_warning_prompt->AddPermissions(permissions, type); |
175 | 175 |
176 std::unique_ptr<ExtensionInstallPrompt::Prompt> two_warnings_prompt( | 176 std::unique_ptr<ExtensionInstallPrompt::Prompt> two_warnings_prompt( |
177 chrome::BuildExtensionInstallPrompt(extension_.get())); | 177 chrome::BuildExtensionInstallPrompt(extension_.get())); |
178 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 2"), | 178 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 2"), |
179 PermissionIDSet())); | 179 PermissionIDSet())); |
180 two_warnings_prompt->SetPermissions(permissions, type); | 180 two_warnings_prompt->AddPermissions(permissions, type); |
181 | 181 |
182 base::scoped_nsobject<ExtensionInstallViewController> controller1( | 182 base::scoped_nsobject<ExtensionInstallViewController> controller1( |
183 [[ExtensionInstallViewController alloc] | 183 [[ExtensionInstallViewController alloc] |
184 initWithProfile:profile() | 184 initWithProfile:profile() |
185 navigator:browser() | 185 navigator:browser() |
186 delegate:&delegate1 | 186 delegate:&delegate1 |
187 prompt:std::move(one_warning_prompt)]); | 187 prompt:std::move(one_warning_prompt)]); |
188 | 188 |
189 [controller1 view]; // Force nib load. | 189 [controller1 view]; // Force nib load. |
190 | 190 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 MockExtensionInstallViewDelegate delegate; | 315 MockExtensionInstallViewDelegate delegate; |
316 | 316 |
317 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( | 317 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( |
318 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get())); | 318 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get())); |
319 ExtensionInstallPrompt::PermissionsType type = | 319 ExtensionInstallPrompt::PermissionsType type = |
320 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; | 320 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; |
321 | 321 |
322 PermissionMessages permissions; | 322 PermissionMessages permissions; |
323 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), | 323 permissions.push_back(PermissionMessage(base::UTF8ToUTF16("warning 1"), |
324 PermissionIDSet())); | 324 PermissionIDSet())); |
325 prompt->SetPermissions(permissions, type); | 325 prompt->AddPermissions(permissions, type); |
326 | 326 |
327 base::scoped_nsobject<ExtensionInstallViewController> controller( | 327 base::scoped_nsobject<ExtensionInstallViewController> controller( |
328 [[ExtensionInstallViewController alloc] | 328 [[ExtensionInstallViewController alloc] |
329 initWithProfile:profile() | 329 initWithProfile:profile() |
330 navigator:browser() | 330 navigator:browser() |
331 delegate:&delegate | 331 delegate:&delegate |
332 prompt:std::move(prompt)]); | 332 prompt:std::move(prompt)]); |
333 | 333 |
334 [controller view]; // Force nib load. | 334 [controller view]; // Force nib load. |
335 | 335 |
(...skipping 12 matching lines...) Expand all Loading... |
348 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( | 348 std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt( |
349 chrome::BuildExtensionInstallPrompt(extension_.get())); | 349 chrome::BuildExtensionInstallPrompt(extension_.get())); |
350 ExtensionInstallPrompt::PermissionsType type = | 350 ExtensionInstallPrompt::PermissionsType type = |
351 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; | 351 ExtensionInstallPrompt::PermissionsType::REGULAR_PERMISSIONS; |
352 | 352 |
353 PermissionMessages permissions; | 353 PermissionMessages permissions; |
354 permissions.push_back(PermissionMessage( | 354 permissions.push_back(PermissionMessage( |
355 base::UTF8ToUTF16("warning 1"), | 355 base::UTF8ToUTF16("warning 1"), |
356 PermissionIDSet(), | 356 PermissionIDSet(), |
357 std::vector<base::string16>(1, base::UTF8ToUTF16("Detail 1")))); | 357 std::vector<base::string16>(1, base::UTF8ToUTF16("Detail 1")))); |
358 prompt->SetPermissions(permissions, type); | 358 prompt->AddPermissions(permissions, type); |
359 prompt->SetIsShowingDetails( | 359 prompt->SetIsShowingDetails( |
360 ExtensionInstallPrompt::PERMISSIONS_DETAILS, 0, true); | 360 ExtensionInstallPrompt::PERMISSIONS_DETAILS, 0, true); |
361 base::string16 permissionString = prompt->GetPermissionsDetails(0, type); | 361 base::string16 permissionString = prompt->GetPermissionsDetails(0, type); |
362 | 362 |
363 base::scoped_nsobject<ExtensionInstallViewController> controller( | 363 base::scoped_nsobject<ExtensionInstallViewController> controller( |
364 [[ExtensionInstallViewController alloc] | 364 [[ExtensionInstallViewController alloc] |
365 initWithProfile:profile() | 365 initWithProfile:profile() |
366 navigator:browser() | 366 navigator:browser() |
367 delegate:&delegate | 367 delegate:&delegate |
368 prompt:std::move(prompt)]); | 368 prompt:std::move(prompt)]); |
369 | 369 |
370 [controller view]; // Force nib load. | 370 [controller view]; // Force nib load. |
371 | 371 |
372 NSOutlineView* outlineView = [controller outlineView]; | 372 NSOutlineView* outlineView = [controller outlineView]; |
373 EXPECT_TRUE(outlineView); | 373 EXPECT_TRUE(outlineView); |
374 EXPECT_EQ(4, [outlineView numberOfRows]); | 374 EXPECT_EQ(4, [outlineView numberOfRows]); |
375 EXPECT_NSEQ(base::SysUTF16ToNSString(permissionString), | 375 EXPECT_NSEQ(base::SysUTF16ToNSString(permissionString), |
376 [[outlineView dataSource] outlineView:outlineView | 376 [[outlineView dataSource] outlineView:outlineView |
377 objectValueForTableColumn:nil | 377 objectValueForTableColumn:nil |
378 byItem:[outlineView itemAtRow:2]]); | 378 byItem:[outlineView itemAtRow:2]]); |
379 } | 379 } |
OLD | NEW |