<!doctype html>
<title>WebSockets: new WebSocket(url, invalid protocol)</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>
// empty string
test(function() {
  assert_throws("SyntaxError", function() {
    new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message', "")
  })
});

// chars below U+0020 except U+0000; U+0000 is tested in a separate test
for (var i = 1; i < 0x20; ++i) {
  test(function() {
    assert_throws("SyntaxError", function() {
      new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message',
                    "a"+String.fromCharCode(i)+"b")
    }, 'char code '+i);
  })
}
// some chars above U+007E
for (var i = 0x7F; i < 0x100; ++i) {
  test(function() {
    assert_throws("SyntaxError", function() {
      new WebSocket(SCHEME_DOMAIN_PORT + '/empty-message',
                    "a"+String.fromCharCode(i)+"b")
    }, 'char code '+i);
  })
}
</script>
