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

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

Issue 1534123002: [Extensions] Migrate ExtensionInstallPrompt::Delegate to be a callback (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_dialog_controller. h" 5 #import "chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller. h"
6 6
7 #include "chrome/browser/extensions/extension_install_prompt_show_params.h" 7 #include "chrome/browser/extensions/extension_install_prompt_show_params.h"
8 #include "chrome/browser/extensions/extension_install_prompt_test_helper.h"
8 #include "chrome/browser/ui/browser.h" 9 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_co ntroller.h" 10 #include "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_co ntroller.h"
10 #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils. h" 11 #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils. h"
11 #import "chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h" 12 #import "chrome/browser/ui/cocoa/extensions/extension_install_view_controller.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 13 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/test/base/in_process_browser_test.h" 14 #include "chrome/test/base/in_process_browser_test.h"
14 #include "extensions/common/extension.h" 15 #include "extensions/common/extension.h"
15 16
16 using extensions::Extension; 17 using extensions::Extension;
17 18
18 class ExtensionInstallDialogControllerTest : public InProcessBrowserTest { 19 class ExtensionInstallDialogControllerTest : public InProcessBrowserTest {
19 public: 20 public:
20 ExtensionInstallDialogControllerTest() {} 21 ExtensionInstallDialogControllerTest() {}
21 22
22 void SetUpOnMainThread() override { 23 void SetUpOnMainThread() override {
23 extension_ = chrome::LoadInstallPromptExtension(); 24 extension_ = chrome::LoadInstallPromptExtension();
24 } 25 }
25 26
26 protected: 27 protected:
27 scoped_refptr<Extension> extension_; 28 scoped_refptr<Extension> extension_;
28 }; 29 };
29 30
30 IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogControllerTest, BasicTest) { 31 IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogControllerTest, BasicTest) {
31 content::WebContents* tab = browser()->tab_strip_model()->GetWebContentsAt(0); 32 content::WebContents* tab = browser()->tab_strip_model()->GetWebContentsAt(0);
32 ExtensionInstallPromptShowParams show_params(tab); 33 ExtensionInstallPromptShowParams show_params(tab);
33 34
34 chrome::MockExtensionInstallPromptDelegate delegate; 35 ExtensionInstallPromptTestHelper test_helper;
35 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt = 36 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt =
36 chrome::BuildExtensionInstallPrompt(extension_.get()); 37 chrome::BuildExtensionInstallPrompt(extension_.get());
37 38
38 ExtensionInstallDialogController* controller = 39 ExtensionInstallDialogController* controller =
39 new ExtensionInstallDialogController(&show_params, &delegate, 40 new ExtensionInstallDialogController(&show_params,
41 test_helper.GetCallback(),
40 prompt.Pass()); 42 prompt.Pass());
41 43
42 base::scoped_nsobject<NSWindow> window( 44 base::scoped_nsobject<NSWindow> window(
43 [[[controller->view_controller() view] window] retain]); 45 [[[controller->view_controller() view] window] retain]);
44 EXPECT_TRUE([window isVisible]); 46 EXPECT_TRUE([window isVisible]);
45 47
46 // Press cancel to close the window 48 // Press cancel to close the window.
47 [[controller->view_controller() cancelButton] performClick:nil]; 49 [[controller->view_controller() cancelButton] performClick:nil];
48 50
49 // Wait for the window to finish closing. 51 // Wait for the window to finish closing.
50 EXPECT_FALSE([window isVisible]); 52 EXPECT_FALSE([window isVisible]);
53
54 EXPECT_EQ(ExtensionInstallPrompt::Result::USER_CANCELED,
55 test_helper.result());
51 } 56 }
52 57
53 IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogControllerTest, 58 IN_PROC_BROWSER_TEST_F(ExtensionInstallDialogControllerTest,
54 DISABLED_Permissions) { 59 DISABLED_Permissions) {
55 content::WebContents* tab = browser()->tab_strip_model()->GetWebContentsAt(0); 60 content::WebContents* tab = browser()->tab_strip_model()->GetWebContentsAt(0);
56 ExtensionInstallPromptShowParams show_params(tab); 61 ExtensionInstallPromptShowParams show_params(tab);
57 62
58 chrome::MockExtensionInstallPromptDelegate delegate; 63 ExtensionInstallPromptTestHelper test_helper;
59 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt = 64 scoped_ptr<ExtensionInstallPrompt::Prompt> prompt =
60 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get()); 65 chrome::BuildExtensionPostInstallPermissionsPrompt(extension_.get());
61 66
62 ExtensionInstallDialogController* controller = 67 ExtensionInstallDialogController* controller =
63 new ExtensionInstallDialogController(&show_params, &delegate, 68 new ExtensionInstallDialogController(&show_params,
69 test_helper.GetCallback(),
64 prompt.Pass()); 70 prompt.Pass());
65 71
66 base::scoped_nsobject<NSWindow> window( 72 base::scoped_nsobject<NSWindow> window(
67 [[[controller->view_controller() view] window] retain]); 73 [[[controller->view_controller() view] window] retain]);
68 EXPECT_TRUE([window isVisible]); 74 EXPECT_TRUE([window isVisible]);
69 75
70 // Press cancel to close the window 76 // Press cancel to close the window.
71 [[controller->view_controller() cancelButton] performClick:nil]; 77 [[controller->view_controller() cancelButton] performClick:nil];
72 78
73 // Wait for the window to finish closing. 79 // Wait for the window to finish closing.
74 EXPECT_FALSE([window isVisible]); 80 EXPECT_FALSE([window isVisible]);
81
82 EXPECT_EQ(ExtensionInstallPrompt::Result::USER_CANCELED,
83 test_helper.result());
75 } 84 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698