<!doctype html>
<title>WebSockets: protocol mismatch</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+'/handshake_protocol', 'FOOBAR');
  var gotOpen = false;
  var gotError = false;
  ws.onopen = t.step_func(function(e) {
    gotOpen = true;
  })
  ws.onerror = t.step_func(function(e) {
    gotError = true;
  })
  ws.onclose = t.step_func(function(e) {
    assert_true(gotOpen, 'got open');
    assert_true(gotError, 'got error');
    ws.onclose = t.step_func(function() {assert_unreached()});
    setTimeout(t.step_func(function() {t.done();}), 50);
  })
});
</script>
