<!DOCTYPE html> <html> <head> <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> </head> <body> <p id="display"> </p> <div id="content" style="display: none"> </div> <pre id="test"> <script class="testbody" type="text/javascript"> function startsWith(target, prefix) { return target.indexOf(prefix) === 0; } function distinctBytes() { var array = new Array(); for (var i = 0; i < 256; ++i) array[i] = i; // Concatenates chars into a single binary string return String.fromCharCode.apply(null, array); } var filesToCreate = [ {name: "hellofile", data: "Hello, world!"}, {name: "emptyfile"}, {name: "allchars", data: distinctBytes()}, ]; SpecialPowers.createFiles(filesToCreate, function (files) { var ws = new WebSocket("ws://mochi.test:8888/tests/dom/base/test/websocket_hybi/file_check-binary-messages"); var closeEvent; ws.onopen = function() { ws.send(files[0]); ws.send(files[1]); ws.send(files[2]); }; ws.onmessage = function(event) { var message = event.data; if (startsWith(message, "PASS")) ok(true, message); else ok(false, message); }; ws.onclose = function(event) { ok(event.wasClean, "should have closed cleanly"); SimpleTest.finish(); }; }, function (msg) { ok(false, "Failed to create files: " + msg); SimpleTest.finish(); }); SimpleTest.waitForExplicitFinish(); </script> </body> </html>