<!doctype html>
<title>WebSockets: close() followed by send()</title>

<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../../../constants.js?pipe=sub></script>
<div id=log></div>
<script>

async_test(function(t) {
  var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo');
  ws.onopen = t.step_func(function(e) {
    // test that nothing strange happens if we send something after close()
    ws.close();
    var sent = ws.send('test');
    // SpiderMonkey erroneously does not resolve a void function to "undefined".
    //assert_equals(sent, undefined);
  });
  ws.onclose = t.step_func(function(e) {
    ws.onclose = t.step_func(function() {assert_unreached()});
    setTimeout(function() {t.done()}, 50);
  });
  ws.onerror = ws.onmessage = t.step_func(function() {assert_unreached()});
});
</script>
