| OLD | NEW |
| (Empty) | |
| 1 importScripts('worker-testharness.js'); |
| 2 importScripts('/resources/testharness-helpers.js'); |
| 3 |
| 4 var active = new Promise(function(resolve, reject) { |
| 5 self.addEventListener('activate', function() { |
| 6 resolve(); |
| 7 }); |
| 8 }); |
| 9 |
| 10 |
| 11 // This can't be run in parallel with other successful openWindow tests. |
| 12 promise_test(function(t) { |
| 13 function messagePromise() { |
| 14 return new Promise(function(resolve, reject) { |
| 15 self.onmessage = function(e) { |
| 16 self.onmessage = null; |
| 17 resolve(e.data); |
| 18 }; |
| 19 }); |
| 20 } |
| 21 |
| 22 var client_url = 'serviceworkerclients-openwindow-client.html'; |
| 23 var client; |
| 24 var clients; |
| 25 return active |
| 26 .then(function() { |
| 27 return self.clients.getAll(); |
| 28 }) |
| 29 .then(function(clients) { |
| 30 assert_equals(clients.length, 0, |
| 31 'Should have no clients before opening'); |
| 32 }) |
| 33 .then(function() { |
| 34 return self.clients.openWindow(client_url); |
| 35 }) |
| 36 .then(function(result) { |
| 37 client = result; |
| 38 return self.clients.getAll(); |
| 39 }) |
| 40 .then(function(result) { |
| 41 clients = result; |
| 42 assert_equals(clients.length, 1, |
| 43 'Should have 1 client after constructing'); |
| 44 assert_equals(clients[0].url, |
| 45 String(new URL(client_url, self.location)), |
| 46 'Enumerated client URL should match'); |
| 47 |
| 48 client.postMessage('message one'); |
| 49 return messagePromise(); |
| 50 }) |
| 51 .then(function(response) { |
| 52 assert_equals(response, 'ack: message one - 1'); |
| 53 |
| 54 clients[0].postMessage('message two'); |
| 55 return messagePromise(); |
| 56 }) |
| 57 .then(function(response) { |
| 58 assert_equals(response, 'ack: message two - 2'); |
| 59 }); |
| 60 }, 'ServiceWorkerClients openWindow() vs. getAll()'); |
| OLD | NEW |