<!doctype html>
<title>WebSockets: data after closing handshake</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_close_data');
  ws.onmessage = ws.onerror = t.step_func(function() {assert_unreached()});

  ws.onopen = t.step_func(function(e) {
    ws.send('Goodbye');
  })

  ws.onclose = t.step_func(function(e) {
    assert_equals(e.wasClean, true);
    ws.onclose = t.step_func(function() {assert_unreached()});
    setTimeout(t.step_func(function() {t.done()}), 50);
  })
});
</script>
