Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: chrome/browser/extensions/api/notification_provider/notification_provider_apitest.cc

Issue 416423006: Add a browser test for functions in notification provider API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed comments Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/notification_provider/basic_usage/background.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/scoped_ptr.h"
6 #include "chrome/browser/extensions/api/notification_provider/notification_provi der_api.h" 5 #include "chrome/browser/extensions/api/notification_provider/notification_provi der_api.h"
7 #include "chrome/browser/extensions/chrome_extension_function.h" 6 #include "chrome/browser/extensions/chrome_extension_function.h"
8 #include "chrome/browser/extensions/extension_apitest.h" 7 #include "chrome/browser/extensions/extension_apitest.h"
9 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/common/extensions/api/notification_provider.h" 9 #include "chrome/common/extensions/api/notification_provider.h"
11 10
12 typedef ExtensionApiTest NotificationProviderApiTest; 11 typedef ExtensionApiTest NotificationProviderApiTest;
13 12
13 namespace {
14
15 void CreateNotificationOptionsForTest(
16 extensions::api::notifications::NotificationOptions* options) {
17 options->type = extensions::api::notifications::ParseTemplateType("basic");
18 options->icon_url = scoped_ptr<std::string>(new std::string("icon.png"));
19 options->title = scoped_ptr<std::string>(new std::string("Title"));
20 options->message =
21 scoped_ptr<std::string>(new std::string("Here goes the message"));
22 return;
23 }
24
25 } // namespace
26
14 IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, Events) { 27 IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, Events) {
15 std::string sender_id1 = "SenderId1"; 28 std::string sender_id1 = "SenderId1";
16 std::string notification_id1 = "NotificationId1"; 29 std::string notification_id1 = "NotificationId1";
17 30
18 extensions::api::notifications::NotificationOptions options; 31 scoped_ptr<extensions::api::notifications::NotificationOptions> options(
19 options.type = extensions::api::notifications::ParseTemplateType("basic"); 32 new extensions::api::notifications::NotificationOptions());
20 options.icon_url = scoped_ptr<std::string>(new std::string("icon.png")); 33 CreateNotificationOptionsForTest(options.get());
21 options.title = scoped_ptr<std::string>(new std::string("Title"));
22 options.message =
23 scoped_ptr<std::string>(new std::string("Here goes the message"));
24 34
25 ResultCatcher catcher; 35 ResultCatcher catcher;
26 catcher.RestrictToProfile(browser()->profile()); 36 catcher.RestrictToProfile(browser()->profile());
27 37
28 // Test notification provider extension 38 // Test notification provider extension
29 const extensions::Extension* extension = 39 const extensions::Extension* extension =
30 LoadExtension(test_data_dir_.AppendASCII("notification_provider/events")); 40 LoadExtension(test_data_dir_.AppendASCII("notification_provider/events"));
31 ASSERT_TRUE(extension); 41 ASSERT_TRUE(extension);
32 42
33 scoped_ptr<extensions::NotificationProviderEventRouter> event_router( 43 scoped_ptr<extensions::NotificationProviderEventRouter> event_router(
34 new extensions::NotificationProviderEventRouter(browser()->profile())); 44 new extensions::NotificationProviderEventRouter(browser()->profile()));
35 45
36 event_router->CreateNotification( 46 event_router->CreateNotification(
37 extension->id(), sender_id1, notification_id1, options); 47 extension->id(), sender_id1, notification_id1, *options.get());
38 event_router->UpdateNotification( 48 event_router->UpdateNotification(
39 extension->id(), sender_id1, notification_id1, options); 49 extension->id(), sender_id1, notification_id1, *options.release());
40 event_router->ClearNotification( 50 event_router->ClearNotification(
41 extension->id(), sender_id1, notification_id1); 51 extension->id(), sender_id1, notification_id1);
42 52
43 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 53 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
44 } 54 }
55
56 IN_PROC_BROWSER_TEST_F(NotificationProviderApiTest, TestBasicUsage) {
57 // set up content of a notification
58 std::string sender_id1 = "SenderId";
59 std::string notification_id1 = "NotificationId";
60
61 scoped_ptr<extensions::api::notifications::NotificationOptions> options(
62 new extensions::api::notifications::NotificationOptions());
63 CreateNotificationOptionsForTest(options.get());
64
65 ResultCatcher catcher;
66 catcher.RestrictToProfile(browser()->profile());
67
68 // Test notification provider extension
69 const extensions::Extension* extension = LoadExtension(
70 test_data_dir_.AppendASCII("notification_provider/basic_usage"));
71 ASSERT_TRUE(extension);
72
73 scoped_ptr<extensions::NotificationProviderEventRouter> event_router(
74 new extensions::NotificationProviderEventRouter(browser()->profile()));
75
76 event_router->CreateNotification(
77 extension->id(), sender_id1, notification_id1, *options.release());
Adam Rice 2014/08/06 07:11:49 lol. no.
78
79 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
80 }
OLDNEW
« no previous file with comments | « no previous file | chrome/test/data/extensions/api_test/notification_provider/basic_usage/background.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698