| Index: chrome/browser/chromeos/extensions/file_browser_notifications_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/extensions/file_browser_notifications_browsertest.cc b/chrome/browser/chromeos/extensions/file_browser_notifications_browsertest.cc
|
| index bd11e45ad6f44535a5c106776563ef99b12e592d..c8ed2a45b6fb7b3dc0eb566061d87488b12ee85c 100644
|
| --- a/chrome/browser/chromeos/extensions/file_browser_notifications_browsertest.cc
|
| +++ b/chrome/browser/chromeos/extensions/file_browser_notifications_browsertest.cc
|
| @@ -13,6 +13,8 @@
|
| #include "chrome/browser/notifications/notification_ui_manager.h"
|
| #include "chrome/test/base/in_process_browser_test.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| +#include "grit/generated_resources.h"
|
| +#include "ui/base/l10n/l10n_util.h"
|
|
|
| namespace chromeos {
|
|
|
| @@ -43,26 +45,26 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, TestBasic) {
|
| // Showing a notification adds a new notification.
|
| notifications_->ShowNotification(FileBrowserNotifications::DEVICE, "path");
|
| EXPECT_EQ(1u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
|
|
| // Updating the same notification maintains the same count.
|
| notifications_->ShowNotification(FileBrowserNotifications::DEVICE, "path");
|
| EXPECT_EQ(1u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
|
|
| // A new notification increases the count.
|
| notifications_->ShowNotification(FileBrowserNotifications::DEVICE_FAIL,
|
| "path");
|
| EXPECT_EQ(2u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("DFpath"));
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_TRUE(FindNotification("DeviceFail_path"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
|
|
| // Hiding a notification removes it from our data.
|
| notifications_->HideNotification(FileBrowserNotifications::DEVICE_FAIL,
|
| "path");
|
| EXPECT_EQ(1u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_FALSE(FindNotification("DFpath"));
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_FALSE(FindNotification("DeviceFail_path"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
| };
|
|
|
| // Note: Delayed tests use a delay time of 0 so that tasks wille execute
|
| @@ -74,12 +76,12 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, ShowDelayedTest) {
|
| "path",
|
| base::TimeDelta::FromSeconds(0));
|
| EXPECT_EQ(0u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_FALSE(FindNotification("Dpath"));
|
| + EXPECT_FALSE(FindNotification("Device_path"));
|
|
|
| // Running the message loop should create the notification.
|
| content::RunAllPendingInMessageLoop();
|
| EXPECT_EQ(1u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
|
|
| // Showing a notification both immediately and delayed results in one
|
| // additional notification.
|
| @@ -89,13 +91,13 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, ShowDelayedTest) {
|
| notifications_->ShowNotification(FileBrowserNotifications::DEVICE_FAIL,
|
| "path");
|
| EXPECT_EQ(2u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("DFpath"));
|
| + EXPECT_TRUE(FindNotification("DeviceFail_path"));
|
|
|
| // When the delayed notification is processed, it's an update, so we still
|
| // only have two notifications.
|
| content::RunAllPendingInMessageLoop();
|
| EXPECT_EQ(2u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("DFpath"));
|
| + EXPECT_TRUE(FindNotification("DeviceFail_path"));
|
|
|
| // If we schedule a show for later, then hide before it becomes visible,
|
| // the notification should not be added.
|
| @@ -105,16 +107,16 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, ShowDelayedTest) {
|
| notifications_->HideNotification(FileBrowserNotifications::FORMAT_FAIL,
|
| "path");
|
| EXPECT_EQ(2u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| - EXPECT_TRUE(FindNotification("DFpath"));
|
| - EXPECT_FALSE(FindNotification("Fpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
| + EXPECT_TRUE(FindNotification("DeviceFail_path"));
|
| + EXPECT_FALSE(FindNotification("Format_path"));
|
|
|
| // Even after processing messages, no new notification should be added.
|
| content::RunAllPendingInMessageLoop();
|
| EXPECT_EQ(2u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| - EXPECT_TRUE(FindNotification("DFpath"));
|
| - EXPECT_FALSE(FindNotification("Fpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
| + EXPECT_TRUE(FindNotification("DeviceFail_path"));
|
| + EXPECT_FALSE(FindNotification("Format_path"));
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, HideDelayedTest) {
|
| @@ -125,7 +127,7 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, HideDelayedTest) {
|
| "path",
|
| base::TimeDelta::FromSeconds(0));
|
| EXPECT_EQ(1u, notifications_->GetNotificationCountForTest());
|
| - EXPECT_TRUE(FindNotification("Dpath"));
|
| + EXPECT_TRUE(FindNotification("Device_path"));
|
|
|
| // Running pending messges should remove the notification.
|
| content::RunAllPendingInMessageLoop();
|
| @@ -147,4 +149,31 @@ IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, HideDelayedTest) {
|
| EXPECT_EQ(0u, notifications_->GetNotificationCountForTest());
|
| }
|
|
|
| +// Tests that showing two notifications with the same notification ids and
|
| +// different messages results in showing the second notification's message.
|
| +// This situation can be encountered while showing notifications for
|
| +// MountCompletedEvent.
|
| +IN_PROC_BROWSER_TEST_F(FileBrowserNotificationsTest, IdenticalNotificationIds) {
|
| + InitNotifications();
|
| + notifications_->RegisterDevice("path");
|
| +
|
| + notifications_->ManageNotificationsOnMountCompleted("path", "", false, false,
|
| + false);
|
| + content::RunAllPendingInMessageLoop();
|
| +
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_DEVICE_UNKNOWN_DEFAULT_MESSAGE),
|
| + notifications_->GetNotificationMessageForTest("DeviceFail_path"));
|
| +
|
| + notifications_->ManageNotificationsOnMountCompleted("path", "", false, false,
|
| + false);
|
| + content::RunAllPendingInMessageLoop();
|
| +
|
| + EXPECT_EQ(
|
| + l10n_util::GetStringUTF16(IDS_MULTIPART_DEVICE_UNSUPPORTED_DEFAULT_MESSAGE),
|
| + notifications_->GetNotificationMessageForTest("DeviceFail_path"));
|
| +
|
| + notifications_->UnregisterDevice("path");
|
| +}
|
| +
|
| } // namespace chromeos.
|
|
|