Index: chrome/browser/extensions/extension_message_bubble_controller_unittest.cc |
diff --git a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc |
index 40f7c48061ac185f1dd3d9d5067e0ed2c8861679..cea9196b0332cef68208fa589fff8b7bc55c4d92 100644 |
--- a/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc |
+++ b/chrome/browser/extensions/extension_message_bubble_controller_unittest.cc |
@@ -207,39 +207,29 @@ class FakeExtensionMessageBubble : public ExtensionMessageBubble { |
BUBBLE_ACTION_CLICK_LINK, |
}; |
- FakeExtensionMessageBubble() {} |
+ FakeExtensionMessageBubble() : controller_(nullptr) {} |
void set_action_on_show(ExtensionBubbleAction action) { |
action_ = action; |
} |
+ void set_controller(ExtensionMessageBubbleController* controller) { |
+ controller_ = controller; |
+ } |
void Show() override { |
if (action_ == BUBBLE_ACTION_CLICK_ACTION_BUTTON) |
- action_callback_.Run(); |
+ controller_->OnBubbleAction(); |
else if (action_ == BUBBLE_ACTION_CLICK_DISMISS_BUTTON) |
- dismiss_callback_.Run(); |
+ controller_->OnBubbleDismiss(); |
else if (action_ == BUBBLE_ACTION_CLICK_LINK) |
- link_callback_.Run(); |
- } |
- |
- void OnActionButtonClicked(const base::Closure& callback) override { |
- action_callback_ = callback; |
- } |
- |
- void OnDismissButtonClicked(const base::Closure& callback) override { |
- dismiss_callback_ = callback; |
- } |
- |
- void OnLinkClicked(const base::Closure& callback) override { |
- link_callback_ = callback; |
+ controller_->OnLinkClicked(); |
} |
private: |
ExtensionBubbleAction action_; |
+ ExtensionMessageBubbleController* controller_; |
- base::Closure action_callback_; |
- base::Closure dismiss_callback_; |
- base::Closure link_callback_; |
+ DISALLOW_COPY_AND_ASSIGN(FakeExtensionMessageBubble); |
}; |
class ExtensionMessageBubbleTest : public testing::Test { |
@@ -430,14 +420,9 @@ class ExtensionMessageBubbleTest : public testing::Test { |
DISALLOW_COPY_AND_ASSIGN(ExtensionMessageBubbleTest); |
}; |
-// The feature this is meant to test is only implemented on Windows. |
-#if defined(OS_WIN) |
-#define MAYBE_WipeoutControllerTest WipeoutControllerTest |
-#else |
-#define MAYBE_WipeoutControllerTest DISABLED_WipeoutControllerTest |
-#endif |
- |
-TEST_F(ExtensionMessageBubbleTest, MAYBE_WipeoutControllerTest) { |
+// The feature this is meant to test is only enacted on Windows, but it should |
+// pass on all platforms. |
+TEST_F(ExtensionMessageBubbleTest, WipeoutControllerTest) { |
Init(); |
// Add three extensions, and control two of them in this test (extension 1 |
// and 2). |
@@ -474,6 +459,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_WipeoutControllerTest) { |
suspicious_extensions = controller->GetExtensionList(); |
ASSERT_EQ(1U, suspicious_extensions.size()); |
EXPECT_TRUE(base::ASCIIToUTF16("Extension 1") == suspicious_extensions[0]); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(1U, controller->dismiss_click_count()); |
@@ -497,20 +483,16 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_WipeoutControllerTest) { |
ASSERT_EQ(2U, suspicious_extensions.size()); |
EXPECT_TRUE(base::ASCIIToUTF16("Extension 1") == suspicious_extensions[1]); |
EXPECT_TRUE(base::ASCIIToUTF16("Extension 2") == suspicious_extensions[0]); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(1U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->dismiss_click_count()); |
EXPECT_TRUE(controller->delegate()->HasBubbleInfoBeenAcknowledged(kId1)); |
} |
-// The feature this is meant to test is only implemented on Windows. |
-#if defined(OS_WIN) |
-#define MAYBE_DevModeControllerTest DevModeControllerTest |
-#else |
-#define MAYBE_DevModeControllerTest DISABLED_DevModeControllerTest |
-#endif |
- |
-TEST_F(ExtensionMessageBubbleTest, MAYBE_DevModeControllerTest) { |
+// The feature this is meant to test is only enacted on Windows, but it should |
+// pass on all platforms. |
+TEST_F(ExtensionMessageBubbleTest, DevModeControllerTest) { |
FeatureSwitch::ScopedOverride force_dev_mode_highlighting( |
FeatureSwitch::force_dev_mode_highlighting(), true); |
Init(); |
@@ -539,6 +521,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_DevModeControllerTest) { |
FakeExtensionMessageBubble bubble; |
bubble.set_action_on_show( |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -556,6 +539,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_DevModeControllerTest) { |
EXPECT_TRUE(controller->ShouldShow()); |
dev_mode_extensions = controller->GetExtensionList(); |
EXPECT_EQ(2U, dev_mode_extensions.size()); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(1U, controller->action_click_count()); |
@@ -576,6 +560,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_DevModeControllerTest) { |
EXPECT_TRUE(controller->ShouldShow()); |
dev_mode_extensions = controller->GetExtensionList(); |
EXPECT_EQ(2U, dev_mode_extensions.size()); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(1U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -643,7 +628,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_SettingsApiControllerTest) { |
profile(), static_cast<SettingsApiOverrideType>(i))); |
// The list will contain one enabled unpacked extension (ext 2). |
- EXPECT_TRUE(controller->ShouldShow(kId2)); |
+ EXPECT_TRUE(controller->ShouldShow()); |
std::vector<base::string16> override_extensions = |
controller->GetExtensionList(); |
ASSERT_EQ(1U, override_extensions.size()); |
@@ -657,6 +642,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_SettingsApiControllerTest) { |
FakeExtensionMessageBubble bubble; |
bubble.set_action_on_show( |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -678,6 +664,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_SettingsApiControllerTest) { |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_LINK); |
controller.reset(new TestSettingsApiBubbleController( |
profile(), static_cast<SettingsApiOverrideType>(i))); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(1U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -698,9 +685,10 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_SettingsApiControllerTest) { |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_ACTION_BUTTON); |
controller.reset(new TestSettingsApiBubbleController( |
profile(), static_cast<SettingsApiOverrideType>(i))); |
- EXPECT_TRUE(controller->ShouldShow(kId2)); |
+ EXPECT_TRUE(controller->ShouldShow()); |
override_extensions = controller->GetExtensionList(); |
EXPECT_EQ(1U, override_extensions.size()); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(1U, controller->action_click_count()); |
@@ -730,14 +718,9 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_SettingsApiControllerTest) { |
} |
} |
-// The feature this is meant to test is only implemented on Windows. |
-#if defined(OS_WIN) |
-#define MAYBE_NtpOverriddenControllerTest NtpOverriddenControllerTest |
-#else |
-#define MAYBE_NtpOverriddenControllerTest DISABLED_NtpOverriddenControllerTest |
-#endif |
- |
-TEST_F(ExtensionMessageBubbleTest, MAYBE_NtpOverriddenControllerTest) { |
+// The feature this is meant to test is only enacted on Windows, but it should |
+// pass on all platforms. |
+TEST_F(ExtensionMessageBubbleTest, NtpOverriddenControllerTest) { |
Init(); |
// Load two extensions overriding new tab page and one overriding something |
// unrelated (to check for interference). Extension 2 should still win |
@@ -765,6 +748,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_NtpOverriddenControllerTest) { |
bubble.set_action_on_show( |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON); |
EXPECT_TRUE(controller->ShouldShow(kId2)); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -786,6 +770,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_NtpOverriddenControllerTest) { |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_LINK); |
controller.reset(new TestNtpOverriddenBubbleController(profile())); |
EXPECT_TRUE(controller->ShouldShow(kId2)); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(1U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -808,6 +793,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_NtpOverriddenControllerTest) { |
EXPECT_TRUE(controller->ShouldShow(kId2)); |
override_extensions = controller->GetExtensionList(); |
EXPECT_EQ(1U, override_extensions.size()); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(1U, controller->action_click_count()); |
@@ -895,6 +881,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_ProxyOverriddenControllerTest) { |
FakeExtensionMessageBubble bubble; |
bubble.set_action_on_show( |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_DISMISS_BUTTON); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -916,6 +903,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_ProxyOverriddenControllerTest) { |
FakeExtensionMessageBubble::BUBBLE_ACTION_CLICK_LINK); |
controller.reset(new TestProxyOverriddenBubbleController(profile())); |
EXPECT_TRUE(controller->ShouldShow(kId2)); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); |
EXPECT_EQ(1U, controller->link_click_count()); |
EXPECT_EQ(0U, controller->action_click_count()); |
@@ -938,6 +926,7 @@ TEST_F(ExtensionMessageBubbleTest, MAYBE_ProxyOverriddenControllerTest) { |
EXPECT_TRUE(controller->ShouldShow(kId2)); |
override_extensions = controller->GetExtensionList(); |
EXPECT_EQ(1U, override_extensions.size()); |
+ bubble.set_controller(controller.get()); |
controller->Show(&bubble); // Simulate showing the bubble. |
EXPECT_EQ(0U, controller->link_click_count()); |
EXPECT_EQ(1U, controller->action_click_count()); |