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

Unified Diff: ui/message_center/cocoa/tray_view_controller_unittest.mm

Issue 1334363002: [Eraser] First pass at removing the notification center panel. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: peter comments Created 5 years, 3 months 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
Index: ui/message_center/cocoa/tray_view_controller_unittest.mm
diff --git a/ui/message_center/cocoa/tray_view_controller_unittest.mm b/ui/message_center/cocoa/tray_view_controller_unittest.mm
deleted file mode 100644
index c8ed1573c3fc6c395372d4e6ff02e38da27893e1..0000000000000000000000000000000000000000
--- a/ui/message_center/cocoa/tray_view_controller_unittest.mm
+++ /dev/null
@@ -1,247 +0,0 @@
-// Copyright (c) 2013 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.
-
-#import "ui/message_center/cocoa/tray_view_controller.h"
-
-#include "base/mac/scoped_nsobject.h"
-#include "base/message_loop/message_loop.h"
-#include "base/run_loop.h"
-#include "base/strings/utf_string_conversions.h"
-#import "ui/gfx/test/ui_cocoa_test_helper.h"
-#include "ui/message_center/fake_notifier_settings_provider.h"
-#include "ui/message_center/message_center.h"
-#include "ui/message_center/message_center_impl.h"
-#include "ui/message_center/message_center_style.h"
-#include "ui/message_center/notification.h"
-#include "ui/message_center/notifier_settings.h"
-
-using base::ASCIIToUTF16;
-
-namespace message_center {
-
-class TrayViewControllerTest : public ui::CocoaTest {
- public:
- TrayViewControllerTest()
- : center_(NULL) {
- }
-
- void SetUp() override {
- ui::CocoaTest::SetUp();
- message_center::MessageCenter::Initialize();
- center_ = message_center::MessageCenter::Get();
- center_->DisableTimersForTest();
- tray_.reset([[MCTrayViewController alloc] initWithMessageCenter:center_]);
- [tray_ setAnimationDuration:0.002];
- [tray_ setAnimateClearingNextNotificationDelay:0.001];
- [tray_ setAnimationEndedCallback:^{
- if (nested_run_loop_.get())
- nested_run_loop_->Quit();
- }];
- [tray_ view]; // Create the view.
- }
-
- void TearDown() override {
- tray_.reset();
- message_center::MessageCenter::Shutdown();
- ui::CocoaTest::TearDown();
- }
-
- void WaitForAnimationEnded() {
- if (![tray_ isAnimating])
- return;
- nested_run_loop_.reset(new base::RunLoop());
- nested_run_loop_->Run();
- nested_run_loop_.reset();
- }
-
- protected:
- message_center::NotifierId DummyNotifierId() {
- return message_center::NotifierId();
- }
-
- message_center::MessageCenter* center_; // Weak, global.
-
- base::MessageLoopForUI message_loop_;
- scoped_ptr<base::RunLoop> nested_run_loop_;
- base::scoped_nsobject<MCTrayViewController> tray_;
-};
-
-TEST_F(TrayViewControllerTest, AddRemoveOne) {
- NSScrollView* view = [[tray_ scrollView] documentView];
- EXPECT_EQ(0u, [[view subviews] count]);
- scoped_ptr<message_center::Notification> notification_data;
- notification_data.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "1",
- ASCIIToUTF16("First notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification_data.Pass());
- [tray_ onMessageCenterTrayChanged];
- ASSERT_EQ(1u, [[view subviews] count]);
-
- // The view should have padding around it.
- NSView* notification = [[view subviews] objectAtIndex:0];
- NSRect notification_frame = [notification frame];
- EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems,
- NSHeight([view frame]) - NSHeight(notification_frame));
- EXPECT_CGFLOAT_EQ(2 * message_center::kMarginBetweenItems,
- NSWidth([view frame]) - NSWidth(notification_frame));
- EXPECT_GT(NSHeight([[tray_ view] frame]),
- NSHeight([[tray_ scrollView] frame]));
-
- center_->RemoveNotification("1", true);
- [tray_ onMessageCenterTrayChanged];
- EXPECT_EQ(0u, [[view subviews] count]);
- // The empty tray is now 100px tall to accommodate
- // the empty message.
- EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight,
- NSHeight([view frame]));
-}
-
-TEST_F(TrayViewControllerTest, AddThreeClearAll) {
- NSScrollView* view = [[tray_ scrollView] documentView];
- EXPECT_EQ(0u, [[view subviews] count]);
- scoped_ptr<message_center::Notification> notification;
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "1",
- ASCIIToUTF16("First notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "2",
- ASCIIToUTF16("Second notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "3",
- ASCIIToUTF16("Third notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- [tray_ onMessageCenterTrayChanged];
- ASSERT_EQ(3u, [[view subviews] count]);
-
- [tray_ clearAllNotifications:nil];
- WaitForAnimationEnded();
- [tray_ onMessageCenterTrayChanged];
-
- EXPECT_EQ(0u, [[view subviews] count]);
- // The empty tray is now 100px tall to accommodate
- // the empty message.
- EXPECT_CGFLOAT_EQ(message_center::kMinScrollViewHeight,
- NSHeight([view frame]));
-}
-
-TEST_F(TrayViewControllerTest, NoClearAllWhenNoNotifications) {
- EXPECT_TRUE([tray_ pauseButton]);
- EXPECT_TRUE([tray_ clearAllButton]);
-
- // With no notifications, the clear all button should be hidden.
- EXPECT_TRUE([[tray_ clearAllButton] isHidden]);
- EXPECT_LT(NSMinX([[tray_ clearAllButton] frame]),
- NSMinX([[tray_ pauseButton] frame]));
-
- // Add a notification.
- scoped_ptr<message_center::Notification> notification;
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "1",
- ASCIIToUTF16("First notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- [tray_ onMessageCenterTrayChanged];
-
- // Clear all should now be visible.
- EXPECT_FALSE([[tray_ clearAllButton] isHidden]);
- EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]),
- NSMinX([[tray_ pauseButton] frame]));
-
- // Adding a second notification should keep things still visible.
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "2",
- ASCIIToUTF16("Second notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- [tray_ onMessageCenterTrayChanged];
- EXPECT_FALSE([[tray_ clearAllButton] isHidden]);
- EXPECT_GT(NSMinX([[tray_ clearAllButton] frame]),
- NSMinX([[tray_ pauseButton] frame]));
-
- // Clear all notifications.
- [tray_ clearAllNotifications:nil];
- WaitForAnimationEnded();
- [tray_ onMessageCenterTrayChanged];
-
- // The button should be hidden again.
- EXPECT_TRUE([[tray_ clearAllButton] isHidden]);
- EXPECT_LT(NSMinX([[tray_ clearAllButton] frame]),
- NSMinX([[tray_ pauseButton] frame]));
-}
-
-namespace {
-
-Notifier* NewNotifier(const std::string& id,
- const std::string& title,
- bool enabled) {
- NotifierId notifier_id(NotifierId::APPLICATION, id);
- return new Notifier(notifier_id, base::UTF8ToUTF16(title), enabled);
-}
-
-} // namespace
-
-
-TEST_F(TrayViewControllerTest, Settings) {
- std::vector<Notifier*> notifiers;
- notifiers.push_back(NewNotifier("id", "title", /*enabled=*/true));
- notifiers.push_back(NewNotifier("id2", "other title", /*enabled=*/false));
-
- FakeNotifierSettingsProvider provider(notifiers);
- center_->SetNotifierSettingsProvider(&provider);
-
- CGFloat trayHeight = NSHeight([[tray_ view] frame]);
- EXPECT_EQ(0, provider.closed_called_count());
-
- [tray_ showSettings:nil];
- EXPECT_FALSE(center_->IsMessageCenterVisible());
-
- // There are 0 notifications, but 2 notifiers. The settings pane should be
- // higher than the empty tray bubble.
- EXPECT_LT(trayHeight, NSHeight([[tray_ view] frame]));
-
- [tray_ showMessages:nil];
- EXPECT_EQ(1, provider.closed_called_count());
- EXPECT_TRUE(center_->IsMessageCenterVisible());
-
- // The tray should be back at its previous height now.
- EXPECT_EQ(trayHeight, NSHeight([[tray_ view] frame]));
-
- // Clean up since this frame owns FakeNotifierSettingsProvider.
- center_->SetNotifierSettingsProvider(NULL);
-}
-
-TEST_F(TrayViewControllerTest, EmptyCenter) {
- EXPECT_FALSE([[tray_ emptyDescription] isHidden]);
-
- // With no notifications, the divider should be hidden.
- EXPECT_TRUE([[tray_ divider] isHidden]);
- EXPECT_TRUE([[tray_ scrollView] isHidden]);
-
- scoped_ptr<message_center::Notification> notification;
- notification.reset(new message_center::Notification(
- message_center::NOTIFICATION_TYPE_SIMPLE, "1",
- ASCIIToUTF16("First notification"),
- ASCIIToUTF16("This is a simple test."), gfx::Image(), base::string16(),
- GURL(), DummyNotifierId(), message_center::RichNotificationData(), NULL));
- center_->AddNotification(notification.Pass());
- [tray_ onMessageCenterTrayChanged];
-
- EXPECT_FALSE([[tray_ divider] isHidden]);
- EXPECT_FALSE([[tray_ scrollView] isHidden]);
- EXPECT_TRUE([[tray_ emptyDescription] isHidden]);
-}
-
-} // namespace message_center
« no previous file with comments | « ui/message_center/cocoa/tray_view_controller.mm ('k') | ui/message_center/fake_message_center_tray_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698