| 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 <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
| 6 | 6 |
| 7 #include "base/compiler_specific.h" | 7 #include "base/compiler_specific.h" |
| 8 #include "base/file_path.h" | 8 #include "base/file_path.h" |
| 9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/json/json_file_value_serializer.h" | 10 #include "base/json/json_file_value_serializer.h" |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 protected: | 102 protected: |
| 103 int proceed_count_; | 103 int proceed_count_; |
| 104 int abort_count_; | 104 int abort_count_; |
| 105 }; | 105 }; |
| 106 | 106 |
| 107 // Test that we can load the two kinds of prompts correctly, that the outlets | 107 // Test that we can load the two kinds of prompts correctly, that the outlets |
| 108 // are hooked up, and that the dialog calls cancel when cancel is pressed. | 108 // are hooked up, and that the dialog calls cancel when cancel is pressed. |
| 109 TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalCancel) { | 109 TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalCancel) { |
| 110 MockExtensionInstallPromptDelegate delegate; | 110 MockExtensionInstallPromptDelegate delegate; |
| 111 | 111 |
| 112 ExtensionInstallPrompt::Prompt prompt(ExtensionInstallPrompt::INSTALL_PROMPT); | 112 ExtensionInstallPrompt::Prompt prompt( |
| 113 NULL, ExtensionInstallPrompt::INSTALL_PROMPT); |
| 114 |
| 113 std::vector<string16> permissions; | 115 std::vector<string16> permissions; |
| 114 permissions.push_back(UTF8ToUTF16("warning 1")); | 116 permissions.push_back(UTF8ToUTF16("warning 1")); |
| 115 prompt.SetPermissions(permissions); | 117 prompt.SetPermissions(permissions); |
| 116 prompt.set_extension(extension_.get()); | 118 prompt.set_extension(extension_.get()); |
| 117 prompt.set_icon(icon_); | 119 prompt.set_icon(icon_); |
| 118 | 120 |
| 119 scoped_nsobject<ExtensionInstallDialogController> | 121 scoped_nsobject<ExtensionInstallDialogController> |
| 120 controller([[ExtensionInstallDialogController alloc] | 122 controller([[ExtensionInstallDialogController alloc] |
| 121 initWithParentWindow:test_window() | 123 initWithParentWindow:test_window() |
| 122 navigator:browser() | 124 navigator:browser() |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 158 [controller cancel:nil]; | 160 [controller cancel:nil]; |
| 159 EXPECT_EQ(1, delegate.abort_count()); | 161 EXPECT_EQ(1, delegate.abort_count()); |
| 160 EXPECT_EQ(0, delegate.proceed_count()); | 162 EXPECT_EQ(0, delegate.proceed_count()); |
| 161 } | 163 } |
| 162 | 164 |
| 163 | 165 |
| 164 TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalOK) { | 166 TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalOK) { |
| 165 MockExtensionInstallPromptDelegate delegate; | 167 MockExtensionInstallPromptDelegate delegate; |
| 166 | 168 |
| 167 ExtensionInstallPrompt::Prompt prompt( | 169 ExtensionInstallPrompt::Prompt prompt( |
| 168 ExtensionInstallPrompt::INSTALL_PROMPT); | 170 NULL, ExtensionInstallPrompt::INSTALL_PROMPT); |
| 169 std::vector<string16> permissions; | 171 std::vector<string16> permissions; |
| 170 permissions.push_back(UTF8ToUTF16("warning 1")); | 172 permissions.push_back(UTF8ToUTF16("warning 1")); |
| 171 prompt.SetPermissions(permissions); | 173 prompt.SetPermissions(permissions); |
| 172 prompt.set_extension(extension_.get()); | 174 prompt.set_extension(extension_.get()); |
| 173 prompt.set_icon(icon_); | 175 prompt.set_icon(icon_); |
| 174 | 176 |
| 175 scoped_nsobject<ExtensionInstallDialogController> | 177 scoped_nsobject<ExtensionInstallDialogController> |
| 176 controller([[ExtensionInstallDialogController alloc] | 178 controller([[ExtensionInstallDialogController alloc] |
| 177 initWithParentWindow:test_window() | 179 initWithParentWindow:test_window() |
| 178 navigator:browser() | 180 navigator:browser() |
| 179 delegate:&delegate | 181 delegate:&delegate |
| 180 prompt:prompt]); | 182 prompt:prompt]); |
| 181 | 183 |
| 182 [controller window]; // force nib load | 184 [controller window]; // force nib load |
| 183 [controller ok:nil]; | 185 [controller ok:nil]; |
| 184 | 186 |
| 185 EXPECT_EQ(0, delegate.abort_count()); | 187 EXPECT_EQ(0, delegate.abort_count()); |
| 186 EXPECT_EQ(1, delegate.proceed_count()); | 188 EXPECT_EQ(1, delegate.proceed_count()); |
| 187 } | 189 } |
| 188 | 190 |
| 189 // Test that controls get repositioned when there are two warnings vs one | 191 // Test that controls get repositioned when there are two warnings vs one |
| 190 // warning. | 192 // warning. |
| 191 TEST_F(ExtensionInstallDialogControllerTest, MultipleWarnings) { | 193 TEST_F(ExtensionInstallDialogControllerTest, MultipleWarnings) { |
| 192 MockExtensionInstallPromptDelegate delegate1; | 194 MockExtensionInstallPromptDelegate delegate1; |
| 193 MockExtensionInstallPromptDelegate delegate2; | 195 MockExtensionInstallPromptDelegate delegate2; |
| 194 | 196 |
| 195 ExtensionInstallPrompt::Prompt one_warning_prompt( | 197 ExtensionInstallPrompt::Prompt one_warning_prompt( |
| 196 ExtensionInstallPrompt::INSTALL_PROMPT); | 198 NULL, ExtensionInstallPrompt::INSTALL_PROMPT); |
| 197 std::vector<string16> permissions; | 199 std::vector<string16> permissions; |
| 198 permissions.push_back(UTF8ToUTF16("warning 1")); | 200 permissions.push_back(UTF8ToUTF16("warning 1")); |
| 199 one_warning_prompt.SetPermissions(permissions); | 201 one_warning_prompt.SetPermissions(permissions); |
| 200 one_warning_prompt.set_extension(extension_.get()); | 202 one_warning_prompt.set_extension(extension_.get()); |
| 201 one_warning_prompt.set_icon(icon_); | 203 one_warning_prompt.set_icon(icon_); |
| 202 | 204 |
| 203 ExtensionInstallPrompt::Prompt two_warnings_prompt( | 205 ExtensionInstallPrompt::Prompt two_warnings_prompt( |
| 204 ExtensionInstallPrompt::INSTALL_PROMPT); | 206 NULL, ExtensionInstallPrompt::INSTALL_PROMPT); |
| 205 permissions.push_back(UTF8ToUTF16("warning 2")); | 207 permissions.push_back(UTF8ToUTF16("warning 2")); |
| 206 two_warnings_prompt.SetPermissions(permissions); | 208 two_warnings_prompt.SetPermissions(permissions); |
| 207 two_warnings_prompt.set_extension(extension_.get()); | 209 two_warnings_prompt.set_extension(extension_.get()); |
| 208 two_warnings_prompt.set_icon(icon_); | 210 two_warnings_prompt.set_icon(icon_); |
| 209 | 211 |
| 210 scoped_nsobject<ExtensionInstallDialogController> | 212 scoped_nsobject<ExtensionInstallDialogController> |
| 211 controller1([[ExtensionInstallDialogController alloc] | 213 controller1([[ExtensionInstallDialogController alloc] |
| 212 initWithParentWindow:test_window() | 214 initWithParentWindow:test_window() |
| 213 navigator:browser() | 215 navigator:browser() |
| 214 delegate:&delegate1 | 216 delegate:&delegate1 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 238 [[controller2 titleField] frame].origin.y); | 240 [[controller2 titleField] frame].origin.y); |
| 239 } | 241 } |
| 240 | 242 |
| 241 // Test that we can load the skinny prompt correctly, and that the outlets are | 243 // Test that we can load the skinny prompt correctly, and that the outlets are |
| 242 // are hooked up. | 244 // are hooked up. |
| 243 TEST_F(ExtensionInstallDialogControllerTest, BasicsSkinny) { | 245 TEST_F(ExtensionInstallDialogControllerTest, BasicsSkinny) { |
| 244 MockExtensionInstallPromptDelegate delegate; | 246 MockExtensionInstallPromptDelegate delegate; |
| 245 | 247 |
| 246 // No warnings should trigger skinny prompt. | 248 // No warnings should trigger skinny prompt. |
| 247 ExtensionInstallPrompt::Prompt no_warnings_prompt( | 249 ExtensionInstallPrompt::Prompt no_warnings_prompt( |
| 248 ExtensionInstallPrompt::INSTALL_PROMPT); | 250 NULL, ExtensionInstallPrompt::INSTALL_PROMPT); |
| 249 no_warnings_prompt.set_extension(extension_.get()); | 251 no_warnings_prompt.set_extension(extension_.get()); |
| 250 no_warnings_prompt.set_icon(icon_); | 252 no_warnings_prompt.set_icon(icon_); |
| 251 | 253 |
| 252 scoped_nsobject<ExtensionInstallDialogController> | 254 scoped_nsobject<ExtensionInstallDialogController> |
| 253 controller([[ExtensionInstallDialogController alloc] | 255 controller([[ExtensionInstallDialogController alloc] |
| 254 initWithParentWindow:test_window() | 256 initWithParentWindow:test_window() |
| 255 navigator:browser() | 257 navigator:browser() |
| 256 delegate:&delegate | 258 delegate:&delegate |
| 257 prompt:no_warnings_prompt]); | 259 prompt:no_warnings_prompt]); |
| 258 | 260 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 282 } | 284 } |
| 283 | 285 |
| 284 | 286 |
| 285 // Test that we can load the inline prompt correctly, and that the outlets are | 287 // Test that we can load the inline prompt correctly, and that the outlets are |
| 286 // are hooked up. | 288 // are hooked up. |
| 287 TEST_F(ExtensionInstallDialogControllerTest, BasicsInline) { | 289 TEST_F(ExtensionInstallDialogControllerTest, BasicsInline) { |
| 288 MockExtensionInstallPromptDelegate delegate; | 290 MockExtensionInstallPromptDelegate delegate; |
| 289 | 291 |
| 290 // No warnings should trigger skinny prompt. | 292 // No warnings should trigger skinny prompt. |
| 291 ExtensionInstallPrompt::Prompt inline_prompt( | 293 ExtensionInstallPrompt::Prompt inline_prompt( |
| 292 ExtensionInstallPrompt::INLINE_INSTALL_PROMPT); | 294 NULL, ExtensionInstallPrompt::INLINE_INSTALL_PROMPT); |
| 293 inline_prompt.SetInlineInstallWebstoreData("1,000", 3.5, 200); | 295 inline_prompt.SetInlineInstallWebstoreData("1,000", 3.5, 200); |
| 294 inline_prompt.set_extension(extension_.get()); | 296 inline_prompt.set_extension(extension_.get()); |
| 295 inline_prompt.set_icon(icon_); | 297 inline_prompt.set_icon(icon_); |
| 296 | 298 |
| 297 scoped_nsobject<ExtensionInstallDialogController> | 299 scoped_nsobject<ExtensionInstallDialogController> |
| 298 controller([[ExtensionInstallDialogController alloc] | 300 controller([[ExtensionInstallDialogController alloc] |
| 299 initWithParentWindow:test_window() | 301 initWithParentWindow:test_window() |
| 300 navigator:browser() | 302 navigator:browser() |
| 301 delegate:&delegate | 303 delegate:&delegate |
| 302 prompt:inline_prompt]); | 304 prompt:inline_prompt]); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 | 366 |
| 365 [controller window]; // force nib load | 367 [controller window]; // force nib load |
| 366 NSOutlineView* outlineView = [controller outlineView]; | 368 NSOutlineView* outlineView = [controller outlineView]; |
| 367 EXPECT_TRUE(outlineView != nil); | 369 EXPECT_TRUE(outlineView != nil); |
| 368 EXPECT_EQ(4, [outlineView numberOfRows]); | 370 EXPECT_EQ(4, [outlineView numberOfRows]); |
| 369 EXPECT_NSEQ([[outlineView dataSource] outlineView:outlineView | 371 EXPECT_NSEQ([[outlineView dataSource] outlineView:outlineView |
| 370 objectValueForTableColumn:nil | 372 objectValueForTableColumn:nil |
| 371 byItem:[outlineView itemAtRow:3]], | 373 byItem:[outlineView itemAtRow:3]], |
| 372 base::SysUTF16ToNSString(prompt.GetOAuthIssue(0).description)); | 374 base::SysUTF16ToNSString(prompt.GetOAuthIssue(0).description)); |
| 373 } | 375 } |
| OLD | NEW |