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

Unified Diff: chrome/browser/ui/cocoa/extensions/extension_install_dialog_controller_unittest.mm

Issue 7835039: Implement the inline extensions/apps install UI for Cocoa. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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 side-by-side diff with in-line comments
Download patch
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]);
+}

Powered by Google App Engine
This is Rietveld 408576698