// 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.`);
}