| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/notifications/extension_welcome_notification.h" | 5 #include "chrome/browser/notifications/extension_welcome_notification.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 } | 467 } |
| 468 | 468 |
| 469 // Simulate the passage of time when the welcome notification | 469 // Simulate the passage of time when the welcome notification |
| 470 // automatically dismisses. | 470 // automatically dismisses. |
| 471 TEST_F(ExtensionWelcomeNotificationTest, TimeExpiredNotification) { | 471 TEST_F(ExtensionWelcomeNotificationTest, TimeExpiredNotification) { |
| 472 StartPreferenceSyncing(); | 472 StartPreferenceSyncing(); |
| 473 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); | 473 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); |
| 474 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); | 474 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); |
| 475 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); | 475 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); |
| 476 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 0); | 476 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 0); |
| 477 EXPECT_TRUE(task_runner()->GetPendingTasks().empty()); | 477 EXPECT_FALSE(task_runner()->HasPendingTask()); |
| 478 | 478 |
| 479 ShowChromeNowNotification(); | 479 ShowChromeNowNotification(); |
| 480 | 480 |
| 481 base::TimeDelta requested_show_time = | 481 base::TimeDelta requested_show_time = |
| 482 base::TimeDelta::FromDays( | 482 base::TimeDelta::FromDays( |
| 483 ExtensionWelcomeNotification::kRequestedShowTimeDays); | 483 ExtensionWelcomeNotification::kRequestedShowTimeDays); |
| 484 | 484 |
| 485 EXPECT_EQ(task_runner()->GetPendingTasks().size(), 1U); | 485 EXPECT_EQ(task_runner()->GetPendingTasks().size(), 1U); |
| 486 EXPECT_EQ(task_runner()->NextPendingTaskDelay(), requested_show_time); | 486 EXPECT_EQ(task_runner()->NextPendingTaskDelay(), requested_show_time); |
| 487 | 487 |
| 488 EXPECT_EQ(message_center()->add_notification_calls(), 1); | 488 EXPECT_EQ(message_center()->add_notification_calls(), 1); |
| 489 EXPECT_EQ(message_center()->remove_notification_calls(), 0); | 489 EXPECT_EQ(message_center()->remove_notification_calls(), 0); |
| 490 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); | 490 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); |
| 491 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); | 491 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); |
| 492 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); | 492 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); |
| 493 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); | 493 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); |
| 494 EXPECT_EQ( | 494 EXPECT_EQ( |
| 495 GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), | 495 GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), |
| 496 (GetStartTime() + requested_show_time).ToInternalValue()); | 496 (GetStartTime() + requested_show_time).ToInternalValue()); |
| 497 | 497 |
| 498 SetElapsedTime(requested_show_time); | 498 SetElapsedTime(requested_show_time); |
| 499 task_runner()->RunPendingTasks(); | 499 task_runner()->RunPendingTasks(); |
| 500 | 500 |
| 501 EXPECT_TRUE(task_runner()->GetPendingTasks().empty()); | 501 EXPECT_FALSE(task_runner()->HasPendingTask()); |
| 502 EXPECT_EQ(message_center()->add_notification_calls(), 1); | 502 EXPECT_EQ(message_center()->add_notification_calls(), 1); |
| 503 EXPECT_EQ(message_center()->remove_notification_calls(), 1); | 503 EXPECT_EQ(message_center()->remove_notification_calls(), 1); |
| 504 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); | 504 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); |
| 505 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); | 505 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); |
| 506 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); | 506 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); |
| 507 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); | 507 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); |
| 508 EXPECT_EQ( | 508 EXPECT_EQ( |
| 509 GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), | 509 GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), |
| 510 (GetStartTime() + requested_show_time).ToInternalValue()); | 510 (GetStartTime() + requested_show_time).ToInternalValue()); |
| 511 } | 511 } |
| 512 | 512 |
| 513 // Simulate the passage of time after Chrome is closed and the welcome | 513 // Simulate the passage of time after Chrome is closed and the welcome |
| 514 // notification expiration elapses. | 514 // notification expiration elapses. |
| 515 TEST_F(ExtensionWelcomeNotificationTest, NotificationPreviouslyExpired) { | 515 TEST_F(ExtensionWelcomeNotificationTest, NotificationPreviouslyExpired) { |
| 516 StartPreferenceSyncing(); | 516 StartPreferenceSyncing(); |
| 517 SetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp, true); | 517 SetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp, true); |
| 518 SetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp, 1); | 518 SetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp, 1); |
| 519 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); | 519 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); |
| 520 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); | 520 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); |
| 521 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); | 521 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); |
| 522 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 1); | 522 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 1); |
| 523 EXPECT_TRUE(task_runner()->GetPendingTasks().empty()); | 523 EXPECT_FALSE(task_runner()->HasPendingTask()); |
| 524 | 524 |
| 525 const base::TimeDelta requested_show_time = | 525 const base::TimeDelta requested_show_time = |
| 526 base::TimeDelta::FromDays( | 526 base::TimeDelta::FromDays( |
| 527 ExtensionWelcomeNotification::kRequestedShowTimeDays); | 527 ExtensionWelcomeNotification::kRequestedShowTimeDays); |
| 528 SetElapsedTime(requested_show_time); | 528 SetElapsedTime(requested_show_time); |
| 529 ShowChromeNowNotification(); | 529 ShowChromeNowNotification(); |
| 530 | 530 |
| 531 EXPECT_TRUE(task_runner()->GetPendingTasks().empty()); | 531 EXPECT_FALSE(task_runner()->HasPendingTask()); |
| 532 EXPECT_EQ(message_center()->add_notification_calls(), 0); | 532 EXPECT_EQ(message_center()->add_notification_calls(), 0); |
| 533 EXPECT_EQ(message_center()->remove_notification_calls(), 0); | 533 EXPECT_EQ(message_center()->remove_notification_calls(), 0); |
| 534 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); | 534 EXPECT_EQ(message_center()->notifications_with_shown_as_popup(), 0); |
| 535 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); | 535 EXPECT_FALSE(GetBooleanPref(prefs::kWelcomeNotificationDismissed)); |
| 536 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); | 536 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationDismissedLocal)); |
| 537 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); | 537 EXPECT_TRUE(GetBooleanPref(prefs::kWelcomeNotificationPreviouslyPoppedUp)); |
| 538 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 1); | 538 EXPECT_EQ(GetInt64Pref(prefs::kWelcomeNotificationExpirationTimestamp), 1); |
| 539 } | 539 } |
| OLD | NEW |