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

Side by Side Diff: LayoutTests/http/tests/notifications/serviceworkerregistration-get-from-service-worker.html

Issue 1056573002: Introduce layout tests for SWR.getNotifications() (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 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
OLDNEW
(Empty)
1 <!doctype html>
2 <html>
3 <head>
4 <title>Notifications: ServiceWorkerRegistration.getNotifications() when crea ted by the Service Worker.</title>
5 <script src="../resources/testharness.js"></script>
6 <script src="../resources/testharnessreport.js"></script>
7 <script src="../serviceworker/resources/test-helpers.js"></script>
8 <script src="resources/test-helpers.js"></script>
9 </head>
10 <body>
11 <script>
12 // Tests that the getNotifications() function when used in a document retu rns
13 // an array of the notifications which were previously displayed by the
14 // Service Worker.
15 async_test(function(test) {
16 var scope = 'resources/scope/' + location.pathname,
17 script = 'resources/instrumentation-service-worker.js';
18
19 testRunner.grantWebNotificationPermission(location.origin, true);
20
21 var info = null;
22 getActiveServiceWorkerWithMessagePort(test, script, scope).then(functi on(workerInfo) {
23 info = workerInfo;
24
25 // (1) Tell the Service Worker to display a new Notification and w ait for it
26 // to have been displayed to the user.
27 info.port.postMessage({
28 command: 'show',
29
30 title: scope,
31 options: { body: 'Hello, world!' }
32 });
33
34 return new Promise(function(resolve) {
35 info.port.addEventListener('message', function(event) {
36 if (typeof event.data != 'object' || !event.data.command) {
37 assert_unreached('Invalid message from the Service Wor ker.');
38 return;
39 }
40
41 assert_equals(event.data.command, 'show');
42 resolve();
43 });
44 });
45 }).then(function() {
46 // (2) Get a list of all notifications in the document.
47 return info.registration.getNotifications();
48 }).then(function(notifications) {
49 // (3) Verify that there's only one notification: the one we just showed.
50 assert_equals(notifications.length, 1);
51
52 assert_equals(notifications[0].title, scope);
53 assert_equals(notifications[0].body, 'Hello, world!');
54
55 test.done();
56
57 }).catch(unreached_rejection(test));
58
59 }, 'ServiceWorkerRegistration.getNotifications() when created by a Service Worker.');
60 </script>
61 </body>
62 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698