| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="/js-test-resources/js-test.js"></script> |
| </head> |
| <body> |
| <script> |
| description("WebSocket message event origin attribute test (Blob message)"); |
| |
| window.jsTestIsAsync = true; |
| var data = ""; |
| var origin = ""; |
| |
| function startsWith(target, prefix) |
| { |
| return target.indexOf(prefix) === 0; |
| } |
| |
| function createBlobContainingHelloWorld() |
| { |
| return new Blob(["Hello, world!"]); |
| } |
| |
| function createEmptyBlob() |
| { |
| return new Blob([]); |
| } |
| |
| function createBlobContainingAllDistinctBytes() |
| { |
| var array = new Uint8Array(256); |
| for (var i = 0; i < 256; ++i) |
| array[i] = i; |
| return new Blob([array]); |
| } |
| |
| var url = "ws://127.0.0.1:8880/check-binary-messages"; |
| var ws = new WebSocket(url); |
| var closeEvent; |
| |
| ws.onopen = function() |
| { |
| ws.send(createBlobContainingHelloWorld()); |
| ws.send(createEmptyBlob()); |
| ws.send(createBlobContainingAllDistinctBytes()); |
| }; |
| |
| ws.onmessage = function(event) |
| { |
| var message = event.data; |
| if (startsWith(message, "PASS")) |
| testPassed(message); |
| else |
| testFailed(message); |
| origin = event.origin; |
| shouldBeEqualToString("origin", "ws://127.0.0.1:8880"); |
| }; |
| |
| ws.onclose = function(event) |
| { |
| closeEvent = event; |
| shouldBeTrue("closeEvent.wasClean"); |
| finishJSTest(); |
| }; |
| |
| </script> |
| </body> |
| </html> |