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

Side by Side Diff: LayoutTests/http/tests/serviceworker/postmessage.html

Issue 231513003: Convert Service Worker layout tests to W3C testharness-style tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Review feedback Created 6 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
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <script src="/js-test-resources/js-test.js"></script> 2 <title>Service Worker: postMessage</title>
3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script>
3 <script> 5 <script>
6 var test = async_test('postMessage to a ServiceWorker (and back via MessagePort) ');
7 test.step(function() {
4 8
5 description("Tests postMessage to and from a ServiceWorker"); 9 navigator.serviceWorker.register('resources/postmessage-worker.js').then(
6 var jsTestIsAsync = true; 10 test.step_func(function(worker) {
11 var messageChannel = new MessageChannel();
12 messageChannel.port1.onmessage = test.step_func(onMessage);
7 13
8 evalAndLog("messageChannel = new MessageChannel()"); 14 worker.postMessage({port: messageChannel.port2}, [messageChannel.por t2]);
9 evalAndLog("messageChannel.port1.onmessage = onMessageHandler");
10 15
11 debug(""); 16 worker.postMessage({value: 1});
12 evalAndLog("navigator.serviceWorker.register('postmessage-worker.js')").then( 17 worker.postMessage({value: 2});
13 function(result) { 18 worker.postMessage({done: true});
14 serviceWorker = result; 19 }),
20 test.step_func(function(reason) {
21 assert_unreached('Registration should succeed, but failed: ' + reaso n.name);
22 }));
15 23
16 evalAndLog("serviceWorker.postMessage({port: messageChannel.port2}, [mes sageChannel.port2])"); 24 var result = [];
17 evalAndLog("serviceWorker.postMessage({value: 1})"); 25 var expected = [
18 evalAndLog("serviceWorker.postMessage({value: 2})"); 26 'Acking value: 1',
19 evalAndLog("serviceWorker.postMessage({done: true})"); 27 'Acking value: 2',
20 }, 28 ];
21 function(reason) {
22 testFailed(reason.name);
23 finishJSTest();
24 });
25 29
26 function onMessageHandler(e) { 30 function onMessage(e) {
27 message = e.data; 31 var message = e.data;
28 debug(""); 32 if (message === 'quit') {
29 debug("onMessageHandler: " + JSON.stringify(message)); 33 assert_array_equals(result, expected, 'Worker should post back expec ted values.');
30 34 test.done();
31 if (message === "quit") 35 } else {
32 finishJSTest(); 36 result.push(message);
33 } 37 }
38 };
39 });
34 </script> 40 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698