<!doctype html>
<title>WebSockets: getting readyState in closed</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.onclose = t.step_func(function(e) {
      assert_equals(ws.readyState, ws.CLOSED);
      t.done();
    })
    ws.close();
  });
  ws.onerror = ws.onmessage = ws.onclose = t.step_func(function() {assert_unreached()});
});
</script>
