<!doctype html>
<title>WebSockets: protocol array</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.sub.js></script>
<meta name="variant" content="">
<meta name="variant" content="?wss">
<meta name="variant" content="?wpt_flags=h2">
<div id=log></div>
<script>
async_test(function(t) {
  var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/protocol_array',['foobar','foobar2']);
  ws.onmessage = t.step_func(function(e) {
    assert_equals(ws.protocol, 'foobar');
    ws.onclose = t.step_func(function(e) {
      ws.onclose = t.unreached_func();
      t.step_timeout(() => t.done(), 50);
    });
    ws.close();
  });
  ws.onerror = t.unreached_func();
});
</script>
