function ok(a, msg) { postMessage({type: 'status', status: !!a, msg: msg }); } onmessage = function(event) { // URL.href throws var url = new URL('http://www.example.com'); ok(url, "URL created"); var status = false; try { url.href = '42'; } catch(e) { status = true; } ok(status, "url.href = 42 should throw"); url.href = 'http://www.example.org'; ok(true, "url.href should not throw"); status = false try { new URL('42'); } catch(e) { status = true; } ok(status, "new URL(42) should throw"); status = false try { new URL('http://www.example.com', '42'); } catch(e) { status = true; } ok(status, "new URL(something, 42) should throw"); postMessage({type: 'finish' }); }