<!doctype html>
<title>WebSockets: close() when connecting</title>
<meta name=timeout content=long>
<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+'/sleep_10_v13');
  setTimeout(t.step_func(function() {
    assert_equals(ws.readyState, ws.CONNECTING);
    ws.close();
    assert_equals(ws.readyState, ws.CLOSING);
    ws.onclose = t.step_func(function(e) {
      assert_equals(ws.readyState, ws.CLOSED);
      assert_equals(e.wasClean, false);
      t.done();
    });
  }), 1000);
  ws.onopen = ws.onclose = t.step_func(assert_unreached);
}, undefined, {timeout:12000});
</script>
