<!doctype html>
<title>WebSockets: Set-Cookie in response</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>
var cookie_id = ((new Date())-0) + '.' + Math.random();
async_test(function(t) {
  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+'/set-cookie?'+cookie_id);
  ws.onopen = t.step_func(function(e) {
    assert_regexp_match(document.cookie, 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>
