80d9768b84e04e06187057c05d1dcec4ff36c868
[platform/framework/web/crosswalk.git] / src / ui / message_center / cocoa / popup_controller_unittest.mm
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/base/test/ui_cocoa_test_helper.h"
12 #include "ui/message_center/notification.h"
13
14 using base::ASCIIToUTF16;
15
16 namespace message_center {
17
18 class PopupControllerTest : public ui::CocoaTest {
19 };
20
21 TEST_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