<!doctype html>
<title>WebSockets: Cookie in request</title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src=../constants.js?pipe=sub></script>
<meta name="variant" content="">
<meta name="variant" content="?wss">
<div id=log></div>
<script>
var cookie_id = ((new Date())-0) + '.' + Math.random();
async_test(function(t) {
  if (window.WebSocket) {
    document.cookie = 'ws_test_'+cookie_id+'=test; Path=/';
  }
  t.add_cleanup(function() {
    // remove cookie
    document.cookie = 'ws_test_'+cookie_id+'=; Path=/; Expires=Sun, 06 Nov 1994 08:49:37 GMT';
  });
  var ws = new WebSocket(SCHEME_DOMAIN_PORT+'/echo-cookie');
  ws.onmessage = t.step_func(function(e) {
    assert_regexp_match(e.data, new RegExp('ws_test_'+cookie_id+'=test'));
    ws.close();
    t.done();
  });
  ws.onerror = ws.onclose = t.step_func(function(e) {assert_unreached(e.type)});
});
</script>
