summaryrefslogtreecommitdiffstats
path: root/ash/system/chromeos/tray_display_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ash/system/chromeos/tray_display_unittest.cc')
-rw-r--r--ash/system/chromeos/tray_display_unittest.cc38
1 files changed, 37 insertions, 1 deletions
diff --git a/ash/system/chromeos/tray_display_unittest.cc b/ash/system/chromeos/tray_display_unittest.cc
index 5a284ab..1abbbd2 100644
--- a/ash/system/chromeos/tray_display_unittest.cc
+++ b/ash/system/chromeos/tray_display_unittest.cc
@@ -116,7 +116,8 @@ void TrayDisplayTest::CloseNotification() {
}
bool TrayDisplayTest::IsDisplayVisibleInTray() const {
- return tray_display_->default_view() &&
+ return tray_->HasSystemBubble() &&
+ tray_display_->default_view() &&
tray_display_->default_view()->visible();
}
@@ -351,6 +352,41 @@ TEST_F(TrayDisplayTest, OverscanDisplay) {
GetTrayDisplayTooltipText());
}
+TEST_F(TrayDisplayTest, UpdateDuringDisplayConfigurationChange) {
+ tray()->ShowDefaultView(BUBBLE_USE_EXISTING);
+ EXPECT_FALSE(IsDisplayVisibleInTray());
+
+ UpdateDisplay("400x400@1.5");
+ EXPECT_TRUE(tray()->HasSystemBubble());
+ EXPECT_TRUE(IsDisplayVisibleInTray());
+ base::string16 internal_info = l10n_util::GetStringFUTF16(
+ IDS_ASH_STATUS_TRAY_DISPLAY_SINGLE_DISPLAY,
+ GetFirstDisplayName(), UTF8ToUTF16("600x600"));
+ EXPECT_EQ(internal_info, GetTrayDisplayText());
+ EXPECT_EQ(GetTooltipText(base::string16(), GetFirstDisplayName(), "600x600",
+ base::string16(), std::string()),
+ GetTrayDisplayTooltipText());
+
+ UpdateDisplay("400x400,200x200");
+ EXPECT_TRUE(tray()->HasSystemBubble());
+ EXPECT_TRUE(IsDisplayVisibleInTray());
+ base::string16 expected = l10n_util::GetStringUTF16(
+ IDS_ASH_STATUS_TRAY_DISPLAY_EXTENDED_NO_INTERNAL);
+ base::string16 first_name = GetFirstDisplayName();
+ EXPECT_EQ(expected, GetTrayDisplayText());
+ EXPECT_EQ(GetTooltipText(expected, GetFirstDisplayName(), "400x400",
+ GetSecondDisplayName(), "200x200"),
+ GetTrayDisplayTooltipText());
+
+ UpdateDisplay("400x400@1.5");
+ tray()->ShowDefaultView(BUBBLE_USE_EXISTING);
+
+ // Back to the default state, the display tray item should disappear.
+ UpdateDisplay("400x400");
+ EXPECT_TRUE(tray()->HasSystemBubble());
+ EXPECT_FALSE(IsDisplayVisibleInTray());
+}
+
TEST_F(TrayDisplayTest, DisplayNotifications) {
test::TestSystemTrayDelegate* tray_delegate =
static_cast<test::TestSystemTrayDelegate*>(