| Index: chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller_unittest.mm
|
| ===================================================================
|
| --- chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller_unittest.mm (revision 99418)
|
| +++ chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller_unittest.mm (working copy)
|
| @@ -104,8 +104,7 @@
|
| // Test that we can load the two kinds of prompts correctly, that the outlets
|
| // are hooked up, and that the dialog calls cancel when cancel is pressed.
|
| TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalCancel) {
|
| - scoped_ptr<MockExtensionInstallUIDelegate> delegate(
|
| - new MockExtensionInstallUIDelegate);
|
| + MockExtensionInstallUIDelegate delegate;
|
|
|
| ExtensionInstallUI::Prompt prompt(ExtensionInstallUI::INSTALL_PROMPT);
|
| std::vector<string16> permissions;
|
| @@ -117,7 +116,7 @@
|
| initWithParentWindow:test_window()
|
| profile:helper_.profile()
|
| extension:extension_.get()
|
| - delegate:delegate.get()
|
| + delegate:&delegate
|
| icon:&icon_
|
| prompt:prompt]);
|
|
|
| @@ -144,8 +143,6 @@
|
| EXPECT_NSEQ([[controller warningsField] stringValue],
|
| base::SysUTF16ToNSString(prompt.GetPermission(0)));
|
|
|
| - EXPECT_TRUE([controller warningsBox] != nil);
|
| -
|
| EXPECT_TRUE([controller cancelButton] != nil);
|
| EXPECT_NE(0u, [[[controller cancelButton] stringValue] length]);
|
| EXPECT_NE('^', [[[controller cancelButton] stringValue] characterAtIndex:0]);
|
| @@ -156,14 +153,13 @@
|
|
|
| // Test that cancel calls our delegate.
|
| [controller cancel:nil];
|
| - EXPECT_EQ(1, delegate->abort_count());
|
| - EXPECT_EQ(0, delegate->proceed_count());
|
| + EXPECT_EQ(1, delegate.abort_count());
|
| + EXPECT_EQ(0, delegate.proceed_count());
|
| }
|
|
|
|
|
| TEST_F(ExtensionInstallDialogControllerTest, BasicsNormalOK) {
|
| - scoped_ptr<MockExtensionInstallUIDelegate> delegate(
|
| - new MockExtensionInstallUIDelegate);
|
| + MockExtensionInstallUIDelegate delegate;
|
|
|
| ExtensionInstallUI::Prompt prompt(ExtensionInstallUI::INSTALL_PROMPT);
|
| std::vector<string16> permissions;
|
| @@ -175,24 +171,22 @@
|
| initWithParentWindow:test_window()
|
| profile:helper_.profile()
|
| extension:extension_.get()
|
| - delegate:delegate.get()
|
| + delegate:&delegate
|
| icon:&icon_
|
| prompt:prompt]);
|
|
|
| [controller window]; // force nib load
|
| [controller ok:nil];
|
|
|
| - EXPECT_EQ(0, delegate->abort_count());
|
| - EXPECT_EQ(1, delegate->proceed_count());
|
| + EXPECT_EQ(0, delegate.abort_count());
|
| + EXPECT_EQ(1, delegate.proceed_count());
|
| }
|
|
|
| // Test that controls get repositioned when there are two warnings vs one
|
| // warning.
|
| TEST_F(ExtensionInstallDialogControllerTest, MultipleWarnings) {
|
| - scoped_ptr<MockExtensionInstallUIDelegate> delegate1(
|
| - new MockExtensionInstallUIDelegate);
|
| - scoped_ptr<MockExtensionInstallUIDelegate> delegate2(
|
| - new MockExtensionInstallUIDelegate);
|
| + MockExtensionInstallUIDelegate delegate1;
|
| + MockExtensionInstallUIDelegate delegate2;
|
|
|
| ExtensionInstallUI::Prompt one_warning_prompt(
|
| ExtensionInstallUI::INSTALL_PROMPT);
|
| @@ -210,7 +204,7 @@
|
| initWithParentWindow:test_window()
|
| profile:helper_.profile()
|
| extension:extension_.get()
|
| - delegate:delegate1.get()
|
| + delegate:&delegate1
|
| icon:&icon_
|
| prompt:one_warning_prompt]);
|
|
|
| @@ -221,7 +215,7 @@
|
| initWithParentWindow:test_window()
|
| profile:helper_.profile()
|
| extension:extension_.get()
|
| - delegate:delegate2.get()
|
| + delegate:&delegate2
|
| icon:&icon_
|
| prompt:two_warnings_prompt]);
|
|
|
| @@ -236,12 +230,6 @@
|
| ASSERT_LT([[controller1 warningsField] frame].size.height,
|
| [[controller2 warningsField] frame].size.height);
|
|
|
| - ASSERT_LT([[controller1 warningsBox] frame].size.height,
|
| - [[controller2 warningsBox] frame].size.height);
|
| -
|
| - ASSERT_EQ([[controller1 warningsBox] frame].origin.y,
|
| - [[controller2 warningsBox] frame].origin.y);
|
| -
|
| ASSERT_LT([[controller1 subtitleField] frame].origin.y,
|
| [[controller2 subtitleField] frame].origin.y);
|
|
|
| @@ -252,21 +240,18 @@
|
| // Test that we can load the skinny prompt correctly, and that the outlets are
|
| // are hooked up.
|
| TEST_F(ExtensionInstallDialogControllerTest, BasicsSkinny) {
|
| - scoped_ptr<MockExtensionInstallUIDelegate> delegate(
|
| - new MockExtensionInstallUIDelegate);
|
| + MockExtensionInstallUIDelegate delegate;
|
|
|
| // No warnings should trigger skinny prompt.
|
| ExtensionInstallUI::Prompt no_warnings_prompt(
|
| ExtensionInstallUI::INSTALL_PROMPT);
|
|
|
| - std::vector<string16> warnings;
|
| -
|
| scoped_nsobject<ExtensionInstallDialogController>
|
| controller([[ExtensionInstallDialogController alloc]
|
| initWithParentWindow:test_window()
|
| profile:helper_.profile()
|
| extension:extension_.get()
|
| - delegate:delegate.get()
|
| + delegate:&delegate
|
| icon:&icon_
|
| prompt:no_warnings_prompt]);
|
|
|
| @@ -294,5 +279,63 @@
|
|
|
| EXPECT_TRUE([controller subtitleField] == nil);
|
| EXPECT_TRUE([controller warningsField] == nil);
|
| - EXPECT_TRUE([controller warningsBox] == nil);
|
| }
|
| +
|
| +
|
| +// Test that we can load the inline prompt correctly, and that the outlets are
|
| +// are hooked up.
|
| +TEST_F(ExtensionInstallDialogControllerTest, BasicsInline) {
|
| + MockExtensionInstallUIDelegate delegate;
|
| +
|
| + // No warnings should trigger skinny prompt.
|
| + ExtensionInstallUI::Prompt inline_prompt(
|
| + ExtensionInstallUI::INLINE_INSTALL_PROMPT);
|
| + inline_prompt.SetInlineInstallWebstoreData("1,000", 3.5, 200);
|
| +
|
| + scoped_nsobject<ExtensionInstallDialogController>
|
| + controller([[ExtensionInstallDialogController alloc]
|
| + initWithParentWindow:test_window()
|
| + profile:helper_.profile()
|
| + extension:extension_.get()
|
| + delegate:&delegate
|
| + icon:&icon_
|
| + prompt:inline_prompt]);
|
| +
|
| + [controller window]; // force nib load
|
| +
|
| + // Test the right nib loaded.
|
| + EXPECT_NSEQ(@"ExtensionInstallPromptInline", [controller windowNibName]);
|
| +
|
| + // Check all the controls.
|
| + EXPECT_TRUE([controller iconView] != nil);
|
| + EXPECT_TRUE([[controller iconView] image] != nil);
|
| +
|
| + EXPECT_TRUE([controller titleField] != nil);
|
| + EXPECT_NE(0u, [[[controller titleField] stringValue] length]);
|
| +
|
| + EXPECT_TRUE([controller cancelButton] != nil);
|
| + EXPECT_NE(0u, [[[controller cancelButton] stringValue] length]);
|
| + EXPECT_NE('^', [[[controller cancelButton] stringValue] characterAtIndex:0]);
|
| +
|
| + EXPECT_TRUE([controller okButton] != nil);
|
| + EXPECT_NE(0u, [[[controller okButton] stringValue] length]);
|
| + EXPECT_NE('^', [[[controller okButton] stringValue] characterAtIndex:0]);
|
| +
|
| + EXPECT_TRUE([controller ratingStars] != nil);
|
| + EXPECT_EQ(5u, [[[controller ratingStars] subviews] count]);
|
| +
|
| + EXPECT_TRUE([controller ratingCountField] != nil);
|
| + EXPECT_NE(0u, [[[controller ratingCountField] stringValue] length]);
|
| +
|
| + EXPECT_TRUE([controller userCountField] != nil);
|
| + EXPECT_NE(0u, [[[controller userCountField] stringValue] length]);
|
| +
|
| + // Though we have no permissions warnings, these should still be hooked up,
|
| + // just invisible.
|
| + EXPECT_TRUE([controller subtitleField] != nil);
|
| + EXPECT_TRUE([[controller subtitleField] isHidden]);
|
| + EXPECT_TRUE([controller warningsField] != nil);
|
| + EXPECT_TRUE([[controller warningsField] isHidden]);
|
| + EXPECT_TRUE([controller warningsSeparator] != nil);
|
| + EXPECT_TRUE([[controller warningsSeparator] isHidden]);
|
| +}
|
|
|