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

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: 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_equals(reason.name, 'DisabledError');
22 test.done();
23 }));
15 24
16 evalAndLog("serviceWorker.postMessage({port: messageChannel.port2}, [mes sageChannel.port2])"); 25 var result = [];
17 evalAndLog("serviceWorker.postMessage({value: 1})"); 26 var expected = [
18 evalAndLog("serviceWorker.postMessage({value: 2})"); 27 'Acking value: 1',
19 evalAndLog("serviceWorker.postMessage({done: true})"); 28 'Acking value: 2',
20 }, 29 ];
21 function(reason) {
22 testFailed(reason.name);
23 finishJSTest();
24 });
25 30
26 function onMessageHandler(e) { 31 function onMessage(e) {
27 message = e.data; 32 var message = e.data;
28 debug(""); 33 if (message === 'quit') {
29 debug("onMessageHandler: " + JSON.stringify(message)); 34 assert_array_equals(result, expected);
30 35 test.done();
31 if (message === "quit") 36 } else {
32 finishJSTest(); 37 result.push(message);
33 } 38 }
39 };
40 });
34 </script> 41 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698