|
1 let port, es; |
|
2 |
|
3 let url = "https://example.com/browser/toolkit/components/social/test/browser/eventsource.resource"; |
|
4 |
|
5 function ok(a, msg) { |
|
6 port.postMessage({topic: "eventSourceTest", |
|
7 result: {ok: a, msg: msg}}); |
|
8 } |
|
9 |
|
10 function is(a, b, msg) { |
|
11 port.postMessage({topic: "eventSourceTest", |
|
12 result: {is: a, match: b, msg: msg}}); |
|
13 } |
|
14 |
|
15 function esListener(e) { |
|
16 esListener.msg_ok = true; |
|
17 } |
|
18 |
|
19 function esOnmessage(e) { |
|
20 ok(true, "onmessage test"); |
|
21 ok(esListener.msg_ok, "listener test"); |
|
22 es.close(); |
|
23 port.postMessage({topic: "pong"}); |
|
24 } |
|
25 |
|
26 function doTest() { |
|
27 try { |
|
28 es = new EventSource(url); |
|
29 is(es.url, url, "eventsource.resource accessed", "we can create an eventsource instance"); |
|
30 es.addEventListener('test-message', esListener, true); |
|
31 es.onmessage = esOnmessage; |
|
32 } catch (e) {} |
|
33 ok(!!es, "we can create an eventsource instance"); |
|
34 } |
|
35 |
|
36 onconnect = function(e) { |
|
37 port = e.ports[0]; |
|
38 port.onmessage = function(e) { |
|
39 if (e.data.topic == "ping") { |
|
40 doTest(); |
|
41 } |
|
42 } |
|
43 } |