Index: chrome/browser/chromeos/system/tray_accessibility_browsertest.cc |
diff --git a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc |
index 029933c679280a56af03e2ba1cb4e7ecca2d84e1..4368cecb665a2a5ad2de0897fcbc9d1a0e0eaad7 100644 |
--- a/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc |
+++ b/chrome/browser/chromeos/system/tray_accessibility_browsertest.cc |
@@ -38,6 +38,7 @@ |
#include "components/session_manager/core/session_manager.h" |
#include "content/public/test/test_utils.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+#include "ui/message_center/message_center.h" |
#include "ui/views/controls/button/button.h" |
#include "ui/views/controls/button/custom_button.h" |
#include "ui/views/controls/label.h" |
@@ -46,6 +47,7 @@ |
using extensions::api::braille_display_private::BrailleObserver; |
using extensions::api::braille_display_private::DisplayState; |
using extensions::api::braille_display_private::MockBrailleController; |
+using message_center::MessageCenter; |
using testing::Return; |
using testing::_; |
using testing::WithParamInterface; |
@@ -340,18 +342,6 @@ class TrayAccessibilityTest |
views::Button::STATE_NORMAL; |
} |
- bool IsNotificationShown() const { |
- return (tray()->detailed_popup_ && |
- !tray()->detailed_popup_->GetWidget()->IsClosed()); |
- } |
- |
- base::string16 GetNotificationText() const { |
- if (IsNotificationShown()) |
- return tray()->detailed_popup_->label_for_test()->text(); |
- else |
- return base::string16(); |
- } |
- |
void SetBrailleConnected(bool connected) { |
braille_controller_.SetAvailable(connected); |
braille_controller_.GetObserver()->OnBrailleDisplayStateChanged( |
@@ -940,38 +930,52 @@ IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) { |
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowNotification) { |
const base::string16 BRAILLE_CONNECTED = |
base::ASCIIToUTF16("Braille display connected."); |
- const base::string16 CHROMEVOX_ENABLED = base::ASCIIToUTF16( |
- "ChromeVox (spoken feedback) is enabled.\nPress Ctrl+Alt+Z to disable."); |
- const base::string16 BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED( |
- BRAILLE_CONNECTED + base::ASCIIToUTF16(" ") + CHROMEVOX_ENABLED); |
+ const base::string16 CHROMEVOX_ENABLED_TITLE = |
+ base::ASCIIToUTF16("ChromeVox enabled"); |
+ const base::string16 CHROMEVOX_ENABLED = |
+ base::ASCIIToUTF16("Press Ctrl + Alt + Z to disable spoken feedback."); |
+ const base::string16 BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED_TITLE = |
+ base::ASCIIToUTF16("Braille and ChromeVox are enabled"); |
EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
// Enabling spoken feedback should show the notification. |
AccessibilityManager::Get()->EnableSpokenFeedback( |
true, ash::A11Y_NOTIFICATION_SHOW); |
- EXPECT_EQ(CHROMEVOX_ENABLED, GetNotificationText()); |
+ message_center::NotificationList::Notifications notifications = |
+ MessageCenter::Get()->GetVisibleNotifications(); |
+ EXPECT_EQ(1u, notifications.size()); |
+ EXPECT_EQ(CHROMEVOX_ENABLED_TITLE, (*notifications.begin())->title()); |
+ EXPECT_EQ(CHROMEVOX_ENABLED, (*notifications.begin())->message()); |
// Connecting a braille display when spoken feedback is already enabled |
// should only show the message about the braille display. |
SetBrailleConnected(true); |
- EXPECT_EQ(BRAILLE_CONNECTED, GetNotificationText()); |
+ notifications = MessageCenter::Get()->GetVisibleNotifications(); |
+ EXPECT_EQ(1u, notifications.size()); |
+ EXPECT_EQ(base::string16(), (*notifications.begin())->title()); |
+ EXPECT_EQ(BRAILLE_CONNECTED, (*notifications.begin())->message()); |
// Neither disconnecting a braille display, nor disabling spoken feedback |
// should show any notification. |
SetBrailleConnected(false); |
EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
- EXPECT_FALSE(IsNotificationShown()); |
+ notifications = MessageCenter::Get()->GetVisibleNotifications(); |
+ EXPECT_EQ(0u, notifications.size()); |
AccessibilityManager::Get()->EnableSpokenFeedback( |
false, ash::A11Y_NOTIFICATION_SHOW); |
- EXPECT_FALSE(IsNotificationShown()); |
+ notifications = MessageCenter::Get()->GetVisibleNotifications(); |
+ EXPECT_EQ(0u, notifications.size()); |
EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
// Connecting a braille display should enable spoken feedback and show |
// both messages. |
SetBrailleConnected(true); |
EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled()); |
- EXPECT_EQ(BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED, GetNotificationText()); |
+ notifications = MessageCenter::Get()->GetVisibleNotifications(); |
+ EXPECT_EQ(BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED_TITLE, |
+ (*notifications.begin())->title()); |
+ EXPECT_EQ(CHROMEVOX_ENABLED, (*notifications.begin())->message()); |
} |
IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) { |