Index: chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc |
diff --git a/chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc b/chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc |
index 3ba54097478d91eb4020895d0ecd6c7706a42339..0e8ffb8e1e827e433b93494a35dbfe698e6db52f 100644 |
--- a/chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc |
+++ b/chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc |
@@ -2,7 +2,6 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "base/memory/scoped_ptr.h" |
#include "chrome/browser/extensions/api/notification_provider/notification_provider_api.h" |
#include "chrome/browser/extensions/chrome_extension_function.h" |
#include "chrome/browser/extensions/extension_apitest.h" |
@@ -11,16 +10,27 @@ |
typedef ExtensionApiTest NotificationProviderApiTest; |
+namespace { |
+ |
+void CreateNotificationOptionsForTest( |
+ extensions::api::notifications::NotificationOptions* options) { |
+ options->type = extensions::api::notifications::ParseTemplateType("basic"); |
+ options->icon_url = scoped_ptr<std::string>(new std::string("icon.png")); |
+ options->title = scoped_ptr<std::string>(new std::string("Title")); |
+ options->message = |
+ scoped_ptr<std::string>(new std::string("Here goes the message")); |
+ return; |
+} |
+ |
+} // namespace |
+ |
IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, Events) { |
std::string sender_id1 = "SenderId1"; |
std::string notification_id1 = "NotificationId1"; |
- extensions::api::notifications::NotificationOptions options; |
- options.type = extensions::api::notifications::ParseTemplateType("basic"); |
- options.icon_url = scoped_ptr<std::string>(new std::string("icon.png")); |
- options.title = scoped_ptr<std::string>(new std::string("Title")); |
- options.message = |
- scoped_ptr<std::string>(new std::string("Here goes the message")); |
+ scoped_ptr<extensions::api::notifications::NotificationOptions> options( |
+ new extensions::api::notifications::NotificationOptions()); |
+ CreateNotificationOptionsForTest(options.get()); |
ResultCatcher catcher; |
catcher.RestrictToProfile(browser()->profile()); |
@@ -34,11 +44,37 @@ IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, Events) { |
new extensions::NotificationProviderEventRouter(browser()->profile())); |
event_router->CreateNotification( |
- extension->id(), sender_id1, notification_id1, options); |
+ extension->id(), sender_id1, notification_id1, *options); |
event_router->UpdateNotification( |
- extension->id(), sender_id1, notification_id1, options); |
+ extension->id(), sender_id1, notification_id1, *options); |
event_router->ClearNotification( |
extension->id(), sender_id1, notification_id1); |
EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
} |
+ |
+IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, TestBasicUsage) { |
+ // set up content of a notification |
+ std::string sender_id1 = "SenderId"; |
+ std::string notification_id1 = "NotificationId"; |
+ |
+ scoped_ptr<extensions::api::notifications::NotificationOptions> options( |
+ new extensions::api::notifications::NotificationOptions()); |
+ CreateNotificationOptionsForTest(options.get()); |
+ |
+ ResultCatcher catcher; |
+ catcher.RestrictToProfile(browser()->profile()); |
+ |
+ // Test notification provider extension |
+ const extensions::Extension* extension = LoadExtension( |
+ test_data_dir_.AppendASCII("notification_provider/basic_usage")); |
+ ASSERT_TRUE(extension); |
+ |
+ scoped_ptr<extensions::NotificationProviderEventRouter> event_router( |
+ new extensions::NotificationProviderEventRouter(browser()->profile())); |
+ |
+ event_router->CreateNotification( |
+ extension->id(), sender_id1, notification_id1, *options); |
+ |
+ EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
+} |