| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>test ws connection</title> | |
| <script type="text/javascript"> | |
| var pageConnection = new Promise((resolve, reject) => { | |
| var protocol = location.protocol.replace('http', 'ws'); | |
| var url = protocol + '//' + location.host + '/echo-with-no-extension'; | |
| var ws = new WebSocket(url); | |
| ws.onopen = resolve; | |
| ws.onclose = reject; | |
| }); | |
| var workerConnection = new Promise((resolve, reject) => { | |
| let worker = new Worker('./connect_check_worker.js'); | |
| worker.onmessage = event => { | |
| if (event.data === 'PASS') { | |
| resolve(); | |
| } else if (event.data === 'FAIL') { | |
| reject(); | |
| } | |
| }; | |
| // Start the worker. | |
| worker.postMessage(''); | |
| }); | |
| Promise.all([pageConnection, workerConnection]).then(() => { | |
| // Set document title to 'PASS'. The test observer catches this title changes | |
| // to know the result. | |
| document.title = 'PASS'; | |
| }, () => { | |
| // Set document title to 'FAIL'. | |
| document.title = 'FAIL'; | |
| }); | |
| </script> | |
| </head> | |
| </html> |