| Index: chrome/browser/chromeos/notifications/system_notification_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/notifications/system_notification_browsertest.cc b/chrome/browser/chromeos/notifications/system_notification_browsertest.cc
|
| deleted file mode 100644
|
| index ab511128fd713c712c960d19e23b2cf34c55cb25..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/chromeos/notifications/system_notification_browsertest.cc
|
| +++ /dev/null
|
| @@ -1,154 +0,0 @@
|
| -// Copyright (c) 2012 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.
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/message_loop.h"
|
| -#include "base/string16.h"
|
| -#include "base/string_util.h"
|
| -#include "base/stringprintf.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "chrome/browser/browser_process.h"
|
| -#include "chrome/browser/chromeos/notifications/system_notification_factory.h"
|
| -#include "chrome/browser/notifications/notification_test_util.h"
|
| -#include "chrome/browser/notifications/notification_ui_manager.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/common/chrome_notification_types.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| -#include "chrome/test/base/ui_test_utils.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "ui/base/x/x11_util.h"
|
| -
|
| -#if defined(USE_AURA)
|
| -#include "chrome/browser/chromeos/notifications/balloon_collection_impl_aura.h"
|
| -#include "ui/aura/root_window.h"
|
| -#else
|
| -#include "chrome/browser/chromeos/notifications/balloon_collection_impl.h"
|
| -#endif
|
| -
|
| -#if defined(USE_AURA)
|
| -typedef class chromeos::BalloonCollectionImplAura BalloonCollectionImplType;
|
| -#else
|
| -typedef class chromeos::BalloonCollectionImpl BalloonCollectionImplType;
|
| -#endif
|
| -
|
| -namespace chromeos {
|
| -
|
| -class SystemNotificationTest : public InProcessBrowserTest {
|
| - public:
|
| - SystemNotificationTest() {}
|
| -
|
| - void HandleWebUIMessage(const ListValue* value) {
|
| - MessageLoop::current()->Quit();
|
| - }
|
| -
|
| - protected:
|
| - virtual void SetUp() {
|
| - InProcessBrowserTest::SetUp();
|
| - }
|
| -
|
| - BalloonCollectionImplType* GetBalloonCollectionImpl() {
|
| - return static_cast<BalloonCollectionImplType*>(
|
| - g_browser_process->notification_ui_manager()->balloon_collection());
|
| - }
|
| -
|
| - Notification NewMockNotification(const std::string& id) {
|
| - return NewMockNotification(new MockNotificationDelegate(id));
|
| - }
|
| -
|
| - Notification NewMockNotification(NotificationDelegate* delegate) {
|
| - std::string text = delegate->id();
|
| - return SystemNotificationFactory::Create(
|
| - GURL(), ASCIIToUTF16(text.c_str()), ASCIIToUTF16(text.c_str()),
|
| - delegate);
|
| - }
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(SystemNotificationTest);
|
| -};
|
| -
|
| -IN_PROC_BROWSER_TEST_F(SystemNotificationTest, TestSystemNotification) {
|
| - BalloonCollectionImplType* collection = GetBalloonCollectionImpl();
|
| - scoped_refptr<MockNotificationDelegate> delegate(
|
| - new MockNotificationDelegate("power"));
|
| -
|
| - EXPECT_EQ(0, collection->count());
|
| -
|
| - Notification notify = NewMockNotification(delegate.get());
|
| - collection->AddSystemNotification(notify, browser()->profile(), true);
|
| -
|
| - EXPECT_EQ(1, collection->count());
|
| -
|
| - Notification update = SystemNotificationFactory::Create(
|
| - GURL(), ASCIIToUTF16("Title"), ASCIIToUTF16("updated"), delegate.get());
|
| - collection->UpdateNotification(update);
|
| -
|
| - EXPECT_EQ(1, collection->count());
|
| -
|
| - Notification update_and_show = SystemNotificationFactory::Create(
|
| - GURL(), ASCIIToUTF16("Title"), ASCIIToUTF16("updated and shown"),
|
| - delegate.get());
|
| - collection->UpdateAndShowNotification(update_and_show);
|
| -
|
| - EXPECT_EQ(1, collection->count());
|
| -
|
| - // Dismiss the notification.
|
| - collection->RemoveById(delegate->id());
|
| - ui_test_utils::RunAllPendingInMessageLoop();
|
| -
|
| - EXPECT_EQ(0, collection->count());
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(SystemNotificationTest, TestAddWebUIMessageCallback) {
|
| - BalloonCollectionImplType* collection = GetBalloonCollectionImpl();
|
| - Profile* profile = browser()->profile();
|
| -
|
| - collection->AddSystemNotification(
|
| - NewMockNotification("1"), profile, false);
|
| -
|
| - EXPECT_TRUE(collection->AddWebUIMessageCallback(
|
| - NewMockNotification("1"),
|
| - "test",
|
| - base::Bind(&SystemNotificationTest::HandleWebUIMessage,
|
| - base::Unretained(static_cast<SystemNotificationTest*>(this)))));
|
| -
|
| - // Adding callback for the same message twice should fail.
|
| - EXPECT_FALSE(collection->AddWebUIMessageCallback(
|
| - NewMockNotification("1"),
|
| - "test",
|
| - base::Bind(&SystemNotificationTest::HandleWebUIMessage,
|
| - base::Unretained(static_cast<SystemNotificationTest*>(this)))));
|
| -
|
| - // Adding callback to nonexistent notification should fail.
|
| - EXPECT_FALSE(collection->AddWebUIMessageCallback(
|
| - NewMockNotification("2"),
|
| - "test1",
|
| - base::Bind(&SystemNotificationTest::HandleWebUIMessage,
|
| - base::Unretained(static_cast<SystemNotificationTest*>(this)))));
|
| -}
|
| -
|
| -// Occasional crash: http://crbug.com/96461
|
| -IN_PROC_BROWSER_TEST_F(SystemNotificationTest, TestWebUIMessageCallback) {
|
| - BalloonCollectionImplType* collection = GetBalloonCollectionImpl();
|
| - Profile* profile = browser()->profile();
|
| - // A notification that sends 'test' WebUI message back to chrome.
|
| - const GURL content_url(
|
| - "data:text/html;charset=utf-8,"
|
| - "<html><script>function send() { chrome.send('test', ['']); }</script>"
|
| - "<body onload='send()'></body></html>");
|
| - collection->AddSystemNotification(
|
| - Notification(GURL(), content_url, string16(), string16(),
|
| - new MockNotificationDelegate("1")),
|
| - profile,
|
| - false);
|
| - EXPECT_TRUE(collection->AddWebUIMessageCallback(
|
| - NewMockNotification("1"),
|
| - "test",
|
| - base::Bind(&SystemNotificationTest::HandleWebUIMessage,
|
| - base::Unretained(static_cast<SystemNotificationTest*>(this)))));
|
| - MessageLoop::current()->Run();
|
| -}
|
| -
|
| -} // namespace chromeos
|
|
|