| 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.";
|
| }
|
|
|
|
|