Index: chrome/common/extensions/extension_action_unittest.cc |
=================================================================== |
--- chrome/common/extensions/extension_action_unittest.cc (revision 159746) |
+++ chrome/common/extensions/extension_action_unittest.cc (working copy) |
@@ -33,49 +33,67 @@ |
} |
TEST_F(ExtensionActionTest, Visibility) { |
- // Supports the icon animation. |
- MessageLoop message_loop; |
- |
ASSERT_FALSE(action.GetIsVisible(1)); |
- EXPECT_FALSE(action.GetIconAnimation(ExtensionAction::kDefaultTabId)); |
action.SetAppearance(ExtensionAction::kDefaultTabId, ExtensionAction::ACTIVE); |
ASSERT_TRUE(action.GetIsVisible(1)); |
ASSERT_TRUE(action.GetIsVisible(100)); |
- EXPECT_FALSE(action.GetIconAnimation(ExtensionAction::kDefaultTabId)); |
action.SetAppearance(ExtensionAction::kDefaultTabId, |
ExtensionAction::INVISIBLE); |
ASSERT_FALSE(action.GetIsVisible(1)); |
ASSERT_FALSE(action.GetIsVisible(100)); |
- EXPECT_FALSE(action.GetIconAnimation(100)); |
action.SetAppearance(100, ExtensionAction::ACTIVE); |
ASSERT_FALSE(action.GetIsVisible(1)); |
ASSERT_TRUE(action.GetIsVisible(100)); |
- EXPECT_TRUE(action.GetIconAnimation(100)); |
+ EXPECT_FALSE(action.GetIconAnimation(100)) |
+ << "Page actions should not animate."; |
action.ClearAllValuesForTab(100); |
ASSERT_FALSE(action.GetIsVisible(1)); |
ASSERT_FALSE(action.GetIsVisible(100)); |
- EXPECT_FALSE(action.GetIconAnimation(100)); |
} |
+TEST_F(ExtensionActionTest, ScriptBadgeAnimation) { |
+ // Supports the icon animation. |
+ MessageLoop message_loop; |
+ |
+ ExtensionAction script_badge("", ExtensionAction::TYPE_SCRIPT_BADGE); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(ExtensionAction::kDefaultTabId)); |
+ script_badge.SetAppearance(ExtensionAction::kDefaultTabId, |
+ ExtensionAction::ACTIVE); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(ExtensionAction::kDefaultTabId)) |
+ << "Showing the default tab should not animate script badges."; |
+ |
+ script_badge.SetAppearance(ExtensionAction::kDefaultTabId, |
+ ExtensionAction::INVISIBLE); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(1)) |
+ << "Making a script badge invisible should not show its animation."; |
+ script_badge.SetAppearance(1, ExtensionAction::ACTIVE); |
+ EXPECT_TRUE(script_badge.GetIconAnimation(1)) |
+ << "Making a script badge visible should show its animation."; |
+ |
+ script_badge.ClearAllValuesForTab(1); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(100)); |
+} |
+ |
TEST_F(ExtensionActionTest, GetAttention) { |
// Supports the icon animation. |
scoped_ptr<MessageLoop> message_loop(new MessageLoop); |
- EXPECT_FALSE(action.GetIsVisible(1)); |
- EXPECT_FALSE(action.GetIconAnimation(1)); |
- action.SetAppearance(1, ExtensionAction::WANTS_ATTENTION); |
- EXPECT_TRUE(action.GetIsVisible(1)); |
- EXPECT_TRUE(action.GetIconAnimation(1)); |
+ ExtensionAction script_badge("", ExtensionAction::TYPE_SCRIPT_BADGE); |
+ EXPECT_FALSE(script_badge.GetIsVisible(1)); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(1)); |
+ script_badge.SetAppearance(1, ExtensionAction::WANTS_ATTENTION); |
+ EXPECT_TRUE(script_badge.GetIsVisible(1)); |
+ EXPECT_TRUE(script_badge.GetIconAnimation(1)); |
// Simulate waiting long enough for the animation to end. |
message_loop.reset(); // Can't have 2 MessageLoops alive at once. |
message_loop.reset(new MessageLoop); |
- EXPECT_FALSE(action.GetIconAnimation(1)); // Sanity check. |
+ EXPECT_FALSE(script_badge.GetIconAnimation(1)); // Sanity check. |
- action.SetAppearance(1, ExtensionAction::ACTIVE); |
- EXPECT_FALSE(action.GetIconAnimation(1)) |
+ script_badge.SetAppearance(1, ExtensionAction::ACTIVE); |
+ EXPECT_FALSE(script_badge.GetIconAnimation(1)) |
<< "The animation should not play again if the icon was already visible."; |
} |