<!doctype html>
<title>WebSockets: protocol in response but no requested protocol</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');
  ws.onerror = ws.onmessage = ws.onclose = t.step_func(function(e) {assert_unreached(e.type)});
  ws.onopen = t.step_func(function(e) {
    ws.onclose = t.step_func(function(e) {
      ws.onclose = t.step_func(function(e) {assert_unreached(e.type)});
      setTimeout(t.step_func(function() {t.done();}), 50);
    })
    ws.close();
  })
});
</script>

