// META: title=`Origin.from(HTMLHyperlinkElementUtils)` // META: script=resources/serializations.js test(t => { const invalid = document.createElement("a"); assert_throws_js(TypeError, _ => Origin.from(invalid)); }, `Origin.from() throws.`); test(t => { const invalid = document.createElement("area"); assert_throws_js(TypeError, _ => Origin.from(invalid)); }, `Origin.from() throws.`); for (const opaque of urls.opaque) { // test(t => { const a = document.createElement("a"); a.href = opaque; const origin = Origin.from(a); assert_true(!!origin); assert_true(origin.opaque); }, `Origin.from() returns an opaque origin.`); // test(t => { const area = document.createElement("area"); area.href = opaque; const origin = Origin.from(area); assert_true(!!origin); assert_true(origin.opaque); }, `Origin.from() returns an opaque origin.`); } for (const tuple of urls.tuple) { // test(t => { const a = document.createElement("a"); a.href = tuple; const origin = Origin.from(a); assert_true(!!origin); assert_false(origin.opaque); }, `Origin.from() returns a tuple origin.`); // test(t => { const area = document.createElement("area"); area.href = tuple; const origin = Origin.from(area); assert_true(!!origin); assert_false(origin.opaque); }, `Origin.from() returns a tuple origin.`); }