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

Unified Diff: chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc

Issue 2410553002: Show Media Router toolbar icon ephemerally for MR dialogs (Closed)
Patch Set: DISALLOW_COPY_AND_ASSIGN MockMediaRouterActionController Created 4 years, 1 month 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/toolbar/media_router_action_controller_unittest.cc
diff --git a/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc b/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc
index 6f25b895dd61e4b76709547829ab0b8f3b7a583f..4aaba37d5c50bde5cc3fd142d484db8b23f01138 100644
--- a/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc
+++ b/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc
@@ -8,7 +8,7 @@
#include "chrome/browser/media/router/mock_media_router.h"
#include "chrome/browser/ui/toolbar/component_toolbar_actions_factory.h"
#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
-#include "chrome/browser/ui/webui/media_router/media_router_test.h"
+#include "chrome/browser/ui/webui/media_router/media_router_web_ui_test.h"
#include "chrome/common/pref_names.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -43,7 +43,7 @@ class FakeComponentActionDelegate
bool has_media_router_action_ = false;
};
-class MediaRouterActionControllerUnitTest : public MediaRouterTest {
+class MediaRouterActionControllerUnitTest : public MediaRouterWebUITest {
public:
MediaRouterActionControllerUnitTest()
: issue_(media_router::Issue(
@@ -60,9 +60,9 @@ class MediaRouterActionControllerUnitTest : public MediaRouterTest {
~MediaRouterActionControllerUnitTest() override {}
- // MediaRouterTest:
+ // MediaRouterWebUITest:
void SetUp() override {
- MediaRouterTest::SetUp();
+ MediaRouterWebUITest::SetUp();
router_.reset(new media_router::MockMediaRouter());
component_action_delegate_.reset(new FakeComponentActionDelegate());
@@ -90,7 +90,7 @@ class MediaRouterActionControllerUnitTest : public MediaRouterTest {
component_migration_helper_.reset();
component_action_delegate_.reset();
router_.reset();
- MediaRouterTest::TearDown();
+ MediaRouterWebUITest::TearDown();
}
bool ActionExists() {
@@ -137,7 +137,7 @@ class MediaRouterActionControllerUnitTest : public MediaRouterTest {
DISALLOW_COPY_AND_ASSIGN(MediaRouterActionControllerUnitTest);
};
-TEST_F(MediaRouterActionControllerUnitTest, EphemeralIcon) {
+TEST_F(MediaRouterActionControllerUnitTest, EphemeralIconForRoutesAndIssues) {
EXPECT_FALSE(ActionExists());
// Creating a local route should show the action icon.
@@ -172,6 +172,43 @@ TEST_F(MediaRouterActionControllerUnitTest, EphemeralIcon) {
EXPECT_FALSE(ActionExists());
}
+TEST_F(MediaRouterActionControllerUnitTest, EphemeralIconForDialog) {
+ EXPECT_FALSE(ActionExists());
+
+ // Showing a dialog should show the icon.
+ controller()->OnDialogShown();
+ EXPECT_TRUE(ActionExists());
+ // Showing and hiding a dialog shouldn't hide the icon as long as we have a
+ // positive number of dialogs.
+ controller()->OnDialogShown();
+ EXPECT_TRUE(ActionExists());
+ controller()->OnDialogHidden();
+ EXPECT_TRUE(ActionExists());
+ // When we have zero dialogs, the icon should be hidden.
+ controller()->OnDialogHidden();
+ EXPECT_FALSE(ActionExists());
+
+ controller()->OnDialogShown();
+ EXPECT_TRUE(ActionExists());
+ controller()->OnRoutesUpdated(local_display_route_list(),
+ empty_route_id_list());
+ // Hiding the dialog while there are local routes shouldn't hide the icon.
+ controller()->OnDialogHidden();
+ EXPECT_TRUE(ActionExists());
+ controller()->OnRoutesUpdated(non_local_display_route_list(),
+ empty_route_id_list());
+ EXPECT_FALSE(ActionExists());
+
+ controller()->OnDialogShown();
+ EXPECT_TRUE(ActionExists());
+ controller()->OnIssueUpdated(issue());
+ // Hiding the dialog while there is an issue shouldn't hide the icon.
+ controller()->OnDialogHidden();
+ EXPECT_TRUE(ActionExists());
+ controller()->OnIssueUpdated(nullptr);
+ EXPECT_FALSE(ActionExists());
+}
+
TEST_F(MediaRouterActionControllerUnitTest, ObserveAlwaysShowPrefChange) {
EXPECT_FALSE(ActionExists());
« no previous file with comments | « chrome/browser/ui/toolbar/media_router_action_controller.cc ('k') | chrome/browser/ui/toolbar/media_router_action_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698