Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Unified Diff: ui/message_center/views/message_center_view_unittest.cc

Issue 2478843003: Remove stl_util's deletion function use from message_center views. (Closed)
Patch Set: almost Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/message_center/views/message_center_view_unittest.cc
diff --git a/ui/message_center/views/message_center_view_unittest.cc b/ui/message_center/views/message_center_view_unittest.cc
index 268d5bdcd9291d202cb54884e4bdad81e69d9e8a..2ccdbb70756b48b7912a600cf72ef0e1e780978d 100644
--- a/ui/message_center/views/message_center_view_unittest.cc
+++ b/ui/message_center/views/message_center_view_unittest.cc
@@ -10,6 +10,7 @@
#include "base/logging.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -121,7 +122,7 @@ class MessageCenterViewTest : public views::ViewsTestBase,
public MessageCenterController {
public:
// Expose the private enum class MessageCenter::Mode for this test.
- typedef MessageCenterView::Mode Mode;
+ using Mode = MessageCenterView::Mode;
MessageCenterViewTest();
~MessageCenterViewTest() override;
@@ -129,6 +130,7 @@ class MessageCenterViewTest : public views::ViewsTestBase,
void SetUp() override;
void TearDown() override;
+ NotificationList::Notifications Notifications();
MessageCenterView* GetMessageCenterView();
MessageListView* GetMessageListView();
FakeMessageCenterImpl* GetMessageCenter() const;
@@ -169,7 +171,8 @@ class MessageCenterViewTest : public views::ViewsTestBase,
private:
views::View* MakeParent(views::View* child1, views::View* child2);
- NotificationList::Notifications notifications_;
+ // The ownership map of notifications; the key is the id.
+ std::map<std::string, std::unique_ptr<Notification>> notifications_;
std::unique_ptr<views::Widget> widget_;
std::unique_ptr<MessageCenterView> message_center_view_;
std::unique_ptr<FakeMessageCenterImpl> message_center_;
@@ -190,31 +193,32 @@ void MessageCenterViewTest::SetUp() {
message_center_.reset(new FakeMessageCenterImpl());
// Create a dummy notification.
- Notification* notification1 = new Notification(
+ std::unique_ptr<Notification> notification1 = base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId1),
base::UTF8ToUTF16("title"), base::UTF8ToUTF16("message1"), gfx::Image(),
base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL);
+ message_center::RichNotificationData(), nullptr);
- Notification* notification2 = new Notification(
+ std::unique_ptr<Notification> notification2 = base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId2),
base::UTF8ToUTF16("title2"), base::UTF8ToUTF16("message2"), gfx::Image(),
base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL);
+ message_center::RichNotificationData(), nullptr);
// ...and a list for it.
- notifications_.insert(notification1);
- notifications_.insert(notification2);
- message_center_->SetVisibleNotifications(notifications_);
+ notifications_[std::string(kNotificationId1)] = std::move(notification1);
+ notifications_[std::string(kNotificationId2)] = std::move(notification2);
+ NotificationList::Notifications notifications = Notifications();
+ message_center_->SetVisibleNotifications(notifications);
// Then create a new MessageCenterView with that single notification.
message_center_view_.reset(new MessageCenterView(
message_center_.get(), NULL, 100, false, /*top_down =*/false));
GetMessageListView()->quit_message_loop_after_animation_for_test_ = true;
GetMessageCenterView()->SetBounds(0, 0, 380, 600);
- message_center_view_->SetNotifications(notifications_);
+ message_center_view_->SetNotifications(notifications);
message_center_view_->set_owned_by_client();
widget_.reset(new views::Widget());
@@ -237,10 +241,18 @@ void MessageCenterViewTest::TearDown() {
widget_->CloseNow();
widget_.reset();
message_center_view_.reset();
- base::STLDeleteElements(&notifications_);
+ notifications_.clear();
views::ViewsTestBase::TearDown();
}
+NotificationList::Notifications MessageCenterViewTest::Notifications() {
+ NotificationList::Notifications result;
+ for (const auto& notification_pair : notifications_)
+ result.insert(notification_pair.second.get());
+
+ return result;
+}
+
MessageCenterView* MessageCenterViewTest::GetMessageCenterView() {
return message_center_view_.get();
}
@@ -291,39 +303,27 @@ void MessageCenterViewTest::ClickOnNotification(
void MessageCenterViewTest::AddNotification(
std::unique_ptr<Notification> notification) {
std::string notification_id = notification->id();
- notifications_.insert(notification.release());
- message_center_->SetVisibleNotifications(notifications_);
+ notifications_[notification_id] = std::move(notification);
+ message_center_->SetVisibleNotifications(Notifications());
message_center_view_->OnNotificationAdded(notification_id);
}
void MessageCenterViewTest::UpdateNotification(
const std::string& notification_id,
std::unique_ptr<Notification> notification) {
- for (auto it = notifications_.begin(); it != notifications_.end(); it++) {
- if ((*it)->id() == notification_id) {
- delete *it;
- notifications_.erase(it);
- break;
- }
- }
- // |notifications| is a "set" container so we don't need to be aware the
- // order.
- notifications_.insert(notification.release());
- message_center_->SetVisibleNotifications(notifications_);
+ DCHECK_EQ(notification_id, notification->id());
+ notifications_[notification_id] = std::move(notification);
+
+ message_center_->SetVisibleNotifications(Notifications());
message_center_view_->OnNotificationUpdated(notification_id);
}
void MessageCenterViewTest::RemoveNotification(
const std::string& notification_id,
bool by_user) {
- for (auto it = notifications_.begin(); it != notifications_.end(); it++) {
- if ((*it)->id() == notification_id) {
- delete *it;
- notifications_.erase(it);
- break;
- }
- }
- message_center_->SetVisibleNotifications(notifications_);
+ notifications_.erase(notification_id);
+
+ message_center_->SetVisibleNotifications(Notifications());
message_center_view_->OnNotificationRemoved(notification_id, by_user);
}
@@ -419,13 +419,13 @@ TEST_F(MessageCenterViewTest, SizeAfterUpdate) {
int width =
GetMessageListView()->width() - GetMessageListView()->GetInsets().width();
- std::unique_ptr<Notification> notification(new Notification(
+ std::unique_ptr<Notification> notification = base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId2),
base::UTF8ToUTF16("title2"),
base::UTF8ToUTF16("message\nwhich\nis\nvertically\nlong\n."),
gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL));
+ message_center::RichNotificationData(), nullptr);
EXPECT_EQ(
GetMessageListView()->height(),
@@ -487,13 +487,13 @@ TEST_F(MessageCenterViewTest, PositionAfterUpdate) {
GetMessageListView()->SetRepositionTargetForTest(
GetNotificationView(kNotificationId1)->bounds());
- std::unique_ptr<Notification> notification(new Notification(
+ std::unique_ptr<Notification> notification = base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId2),
base::UTF8ToUTF16("title2"),
base::UTF8ToUTF16("message\nwhich\nis\nvertically\nlong\n."),
gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL));
+ message_center::RichNotificationData(), nullptr);
UpdateNotification(kNotificationId2, std::move(notification));
// Wait until the animation finishes if available.
@@ -613,32 +613,28 @@ TEST_F(MessageCenterViewTest, CloseButtonEnablity) {
message_center::RichNotificationData(), NULL);
pinned_notification2.set_pinned(true);
- AddNotification(
- std::unique_ptr<Notification>(new Notification(normal_notification1)));
+ AddNotification(base::MakeUnique<Notification>(normal_notification1));
// There should be 1 non-pinned notification.
EXPECT_EQ(1u, GetMessageCenter()->GetVisibleNotifications().size());
EXPECT_TRUE(close_button->enabled());
- UpdateNotification(
- kNotificationId1,
- std::unique_ptr<Notification>(new Notification(pinned_notification1)));
+ UpdateNotification(kNotificationId1,
+ base::MakeUnique<Notification>(pinned_notification1));
// There should be 1 pinned notification.
EXPECT_EQ(1u, GetMessageCenter()->GetVisibleNotifications().size());
EXPECT_FALSE(close_button->enabled());
// Adds 1 pinned notification.
- AddNotification(
- std::unique_ptr<Notification>(new Notification(pinned_notification2)));
+ AddNotification(base::MakeUnique<Notification>(pinned_notification2));
// There should be 1 pinned notification.
EXPECT_EQ(2u, GetMessageCenter()->GetVisibleNotifications().size());
EXPECT_FALSE(close_button->enabled());
- UpdateNotification(
- kNotificationId1,
- std::unique_ptr<Notification>(new Notification(normal_notification1)));
+ UpdateNotification(kNotificationId1,
+ base::MakeUnique<Notification>(normal_notification1));
// There should be 1 normal notification and 1 pinned notification.
EXPECT_EQ(2u, GetMessageCenter()->GetVisibleNotifications().size());
@@ -656,8 +652,7 @@ TEST_F(MessageCenterViewTest, CloseButtonEnablity) {
EXPECT_EQ(0u, GetMessageCenter()->GetVisibleNotifications().size());
EXPECT_FALSE(close_button->enabled());
- AddNotification(
- std::unique_ptr<Notification>(new Notification(pinned_notification2)));
+ AddNotification(base::MakeUnique<Notification>(pinned_notification2));
// There should be 1 pinned notification.
EXPECT_EQ(1u, GetMessageCenter()->GetVisibleNotifications().size());
@@ -685,15 +680,13 @@ TEST_F(MessageCenterViewTest, CheckModeWithRemovingAndAddingNotifications) {
EXPECT_EQ(Mode::BUTTONS_ONLY, GetMessageCenterViewInternalMode());
// Add a notification.
- Notification normal_notification(
+ AddNotification(base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId1),
base::UTF8ToUTF16("title2"),
base::UTF8ToUTF16("message\nwhich\nis\nvertically\nlong\n."),
gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL);
- AddNotification(
- std::unique_ptr<Notification>(new Notification(normal_notification)));
+ message_center::RichNotificationData(), nullptr));
EXPECT_EQ(Mode::NOTIFICATIONS, GetMessageCenterViewInternalMode());
}
@@ -742,15 +735,13 @@ TEST_F(MessageCenterViewTest,
EXPECT_EQ(Mode::SETTINGS, GetMessageCenterViewInternalMode());
// Add a notification during settings is visible.
- Notification normal_notification(
+ AddNotification(base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId1),
base::UTF8ToUTF16("title2"),
base::UTF8ToUTF16("message\nwhich\nis\nvertically\nlong\n."),
gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL);
- AddNotification(
- std::unique_ptr<Notification>(new Notification(normal_notification)));
+ message_center::RichNotificationData(), nullptr));
EXPECT_EQ(Mode::SETTINGS, GetMessageCenterViewInternalMode());
// Hide the settings.
@@ -783,13 +774,12 @@ TEST_F(MessageCenterViewTest, LockScreen) {
GetMessageCenterView()->SizeToPreferredSize();
EXPECT_EQ(kLockedMessageCenterViewHeight, GetMessageCenterView()->height());
- AddNotification(std::unique_ptr<Notification>(new Notification(
+ AddNotification(base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId1),
- base::UTF8ToUTF16("title1"),
- base::UTF8ToUTF16("message"),
- gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
+ base::UTF8ToUTF16("title1"), base::UTF8ToUTF16("message"), gfx::Image(),
+ base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL)));
+ message_center::RichNotificationData(), nullptr));
EXPECT_FALSE(GetNotificationView(kNotificationId1)->IsDrawn());
GetMessageCenterView()->SizeToPreferredSize();
@@ -824,13 +814,12 @@ TEST_F(MessageCenterViewTest, NoNotification) {
GetMessageCenterView()->SizeToPreferredSize();
EXPECT_EQ(kEmptyMessageCenterViewHeight, GetMessageCenterView()->height());
- AddNotification(std::unique_ptr<Notification>(new Notification(
+ AddNotification(base::MakeUnique<Notification>(
NOTIFICATION_TYPE_SIMPLE, std::string(kNotificationId1),
- base::UTF8ToUTF16("title1"),
- base::UTF8ToUTF16("message"),
- gfx::Image(), base::UTF8ToUTF16("display source"), GURL(),
+ base::UTF8ToUTF16("title1"), base::UTF8ToUTF16("message"), gfx::Image(),
+ base::UTF8ToUTF16("display source"), GURL(),
NotifierId(NotifierId::APPLICATION, "extension_id"),
- message_center::RichNotificationData(), NULL)));
+ message_center::RichNotificationData(), nullptr));
GetMessageCenterView()->SizeToPreferredSize();
EXPECT_NE(kEmptyMessageCenterViewHeight, GetMessageCenterView()->height());
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698