Index: ash/common/system/chromeos/session/tray_session_length_limit_unittest.cc |
diff --git a/ash/common/system/chromeos/session/tray_session_length_limit_unittest.cc b/ash/common/system/chromeos/session/tray_session_length_limit_unittest.cc |
deleted file mode 100644 |
index ec5f40aeee40aabc50673b82180800bcc0352338..0000000000000000000000000000000000000000 |
--- a/ash/common/system/chromeos/session/tray_session_length_limit_unittest.cc |
+++ /dev/null |
@@ -1,157 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ash/common/system/chromeos/session/tray_session_length_limit.h" |
- |
-#include "ash/common/system/tray/system_tray.h" |
-#include "ash/common/test/test_system_tray_delegate.h" |
-#include "ash/test/ash_test_base.h" |
-#include "base/memory/ptr_util.h" |
-#include "base/time/time.h" |
-#include "ui/message_center/message_center.h" |
-#include "ui/message_center/notification.h" |
-#include "ui/message_center/notification_types.h" |
- |
-namespace ash { |
-namespace test { |
- |
-class TraySessionLengthLimitTest : public AshTestBase { |
- public: |
- TraySessionLengthLimitTest() {} |
- ~TraySessionLengthLimitTest() override {} |
- |
- void SetUp() override { |
- AshTestBase::SetUp(); |
- SystemTray* system_tray = GetPrimarySystemTray(); |
- tray_session_length_limit_ = new TraySessionLengthLimit(system_tray); |
- system_tray->AddTrayItem(base::WrapUnique(tray_session_length_limit_)); |
- } |
- |
- void TearDown() override { |
- ClearSessionLengthLimit(); |
- AshTestBase::TearDown(); |
- } |
- |
- protected: |
- void UpdateSessionLengthLimitInMin(int mins) { |
- GetSystemTrayDelegate()->SetSessionLengthLimitForTest( |
- base::TimeDelta::FromMinutes(mins)); |
- tray_session_length_limit_->OnSessionLengthLimitChanged(); |
- } |
- |
- message_center::Notification* GetNotification() { |
- const message_center::NotificationList::Notifications& notifications = |
- message_center::MessageCenter::Get()->GetVisibleNotifications(); |
- for (message_center::NotificationList::Notifications::const_iterator iter = |
- notifications.begin(); |
- iter != notifications.end(); ++iter) { |
- if ((*iter)->id() == TraySessionLengthLimit::kNotificationId) |
- return *iter; |
- } |
- return nullptr; |
- } |
- |
- void ClearSessionLengthLimit() { |
- GetSystemTrayDelegate()->ClearSessionLengthLimit(); |
- tray_session_length_limit_->OnSessionLengthLimitChanged(); |
- } |
- |
- void RemoveNotification() { |
- message_center::MessageCenter::Get()->RemoveNotification( |
- TraySessionLengthLimit::kNotificationId, false /* by_user */); |
- } |
- |
- TraySessionLengthLimit* tray_session_length_limit() { |
- return tray_session_length_limit_; |
- } |
- |
- private: |
- // Weak reference, owned by the SystemTray. |
- TraySessionLengthLimit* tray_session_length_limit_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TraySessionLengthLimitTest); |
-}; |
- |
-TEST_F(TraySessionLengthLimitTest, Notification) { |
- // No notifications when no session limit. |
- EXPECT_FALSE(GetNotification()); |
- |
- // Limit is 15 min. |
- UpdateSessionLengthLimitInMin(15); |
- message_center::Notification* notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_EQ(message_center::SYSTEM_PRIORITY, notification->priority()); |
- base::string16 first_content = notification->message(); |
- // Should read the content. |
- EXPECT_TRUE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
- |
- // Limit is 10 min. |
- UpdateSessionLengthLimitInMin(10); |
- notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_EQ(message_center::SYSTEM_PRIORITY, notification->priority()); |
- // The content should be updated. |
- EXPECT_NE(first_content, notification->message()); |
- // Should NOT read, because just update the remaining time. |
- EXPECT_FALSE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
- |
- // Limit is 3 min. |
- UpdateSessionLengthLimitInMin(3); |
- notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_EQ(message_center::SYSTEM_PRIORITY, notification->priority()); |
- // Should read the content again because the state has changed. |
- EXPECT_TRUE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
- |
- // Session length limit is updated to longer: 15 min. |
- UpdateSessionLengthLimitInMin(15); |
- notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_EQ(message_center::SYSTEM_PRIORITY, notification->priority()); |
- // Should read again because an increase of the remaining time is noteworthy. |
- EXPECT_TRUE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
- |
- // Clears the limit: the notification should be gone. |
- ClearSessionLengthLimit(); |
- EXPECT_FALSE(GetNotification()); |
-} |
- |
-TEST_F(TraySessionLengthLimitTest, RemoveNotification) { |
- // Limit is 15 min. |
- UpdateSessionLengthLimitInMin(15); |
- EXPECT_TRUE(GetNotification()); |
- |
- // Removes the notification. |
- RemoveNotification(); |
- EXPECT_FALSE(GetNotification()); |
- |
- // Limit is 10 min. The notification should not re-appear. |
- UpdateSessionLengthLimitInMin(10); |
- EXPECT_FALSE(GetNotification()); |
- |
- // Limit is 3 min. The notification should re-appear and should be re-read |
- // because of state change. |
- UpdateSessionLengthLimitInMin(3); |
- message_center::Notification* notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_TRUE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
- |
- RemoveNotification(); |
- |
- // Session length limit is updated to longer state. Notification should |
- // re-appear and be re-read. |
- UpdateSessionLengthLimitInMin(15); |
- notification = GetNotification(); |
- EXPECT_TRUE(notification); |
- EXPECT_TRUE(notification->rich_notification_data() |
- .should_make_spoken_feedback_for_popup_updates); |
-} |
- |
-} // namespace test |
-} // namespace ash |