<!doctype html>
<title>WebSockets: send() in onclose</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) {
    ws.send('Goodbye');
  })
  ws.onclose = t.step_func(function(e) {
    // test that nothing strange happens when send()ing in closed state
    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() {assert_unreached()});
    setTimeout(function() {t.done()}, 50);
  })
  ws.onerror = t.step_func(function() {assert_unreached()});
});
</script>
