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 namespace message_center { 15 16 class PopupControllerTest : public ui::CocoaTest { 17 }; 18 19 TEST_F(PopupControllerTest, Creation) { 20 scoped_ptr<message_center::Notification> notification( 21 new message_center::Notification( 22 message_center::NOTIFICATION_TYPE_SIMPLE, 23 "", 24 ASCIIToUTF16("Added to circles"), 25 ASCIIToUTF16("Jonathan and 5 others"), 26 gfx::Image(), 27 string16(), 28 message_center::NotifierId(), 29 message_center::RichNotificationData(), 30 NULL)); 31 32 base::scoped_nsobject<MCPopupController> controller( 33 [[MCPopupController alloc] initWithNotification:notification.get() 34 messageCenter:nil 35 popupCollection:nil]); 36 // Add an extra ref count for scoped_nsobject since MCPopupController will 37 // release itself when it is being closed. 38 [controller retain]; 39 40 EXPECT_TRUE([controller window]); 41 EXPECT_EQ(notification.get(), [controller notification]); 42 43 [controller showWindow:nil]; 44 [controller close]; 45 } 46 47 } // namespace message_center 48