blob: 393cefd5d30237141096b2b6d919396047fe545c [file] [log] [blame]
// META: global=window,worker
// META: script=/common/get-host-info.sub.js
const HOST = get_host_info().ORIGINAL_HOST;
const BAD_URLS = [
null,
'',
'no-scheme',
'https://example.com/' /* scheme is wrong */,
'quic-transport:///' /* no host specified */,
'quic-transport://example.com/#failing' /* has fragment */,
`quic-transport://${HOST}:999999/` /* invalid port */,
];
for (const url of BAD_URLS) {
test(() => {
assert_throws_dom('SyntaxError', () => new QuicTransport(url),
'constructor should throw');
}, `QuicTransport constructor should reject URL '${url}'`);
}
// TODO(ricea): Test CSP.
promise_test(t => {
const qt = new QuicTransport(`quic-transport://${HOST}:0/`);
return Promise.all([
promise_rejects_js(t, TypeError, qt.ready, 'ready promise rejects'),
promise_rejects_js(t, TypeError, qt.closed, 'closed promise rejects'),
]);
}, 'connection to port 0 should fail');