<!doctype html>
<title>WebSockets: 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+'/protocol', 'foobar');

  ws.onmessage = t.step_func(function(e) {
    assert_equals(ws.protocol, 'foobar');
    ws.onclose = t.step_func(function(e) {
      ws.onclose = t.step_func(function() {assert_unreached()});
      setTimeout(t.step_func(function() {t.done()}), 50);
    })
    ws.close();
  })
  ws.onerror = t.step_func(function() {assert_unreached()});
});
</script>
