• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#import "ui/message_center/cocoa/popup_controller.h"
6
7#include "base/mac/scoped_nsobject.h"
8#include "base/memory/scoped_ptr.h"
9#include "base/strings/sys_string_conversions.h"
10#include "base/strings/utf_string_conversions.h"
11#import "ui/gfx/test/ui_cocoa_test_helper.h"
12#include "ui/message_center/notification.h"
13
14using base::ASCIIToUTF16;
15
16namespace message_center {
17
18class PopupControllerTest : public ui::CocoaTest {
19};
20
21TEST_F(PopupControllerTest, Creation) {
22  scoped_ptr<message_center::Notification> notification(
23      new message_center::Notification(
24          message_center::NOTIFICATION_TYPE_SIMPLE,
25          "",
26          ASCIIToUTF16("Added to circles"),
27          ASCIIToUTF16("Jonathan and 5 others"),
28          gfx::Image(),
29          base::string16(),
30          message_center::NotifierId(),
31          message_center::RichNotificationData(),
32          NULL));
33
34  base::scoped_nsobject<MCPopupController> controller(
35      [[MCPopupController alloc] initWithNotification:notification.get()
36                                        messageCenter:nil
37                                      popupCollection:nil]);
38  // Add an extra ref count for scoped_nsobject since MCPopupController will
39  // release itself when it is being closed.
40  [controller retain];
41
42  EXPECT_TRUE([controller window]);
43  EXPECT_EQ(notification.get(), [controller notification]);
44
45  [controller showWindow:nil];
46  [controller close];
47}
48
49}  // namespace message_center
50