Commit df79c4b0 authored by Maja Kabus's avatar Maja Kabus Committed by Commit Bot

Replaced HTML*Element tests with two generic test files

HTML*Element href and src test files merged into two
HTMLElement-generic test files.

Bug: 739170
Change-Id: I3cf49c9d72540c7f51439fb157f1d201048a349e
Reviewed-on: https://chromium-review.googlesource.com/1146567
Commit-Queue: Mike West <mkwst@chromium.org>
Reviewed-by: default avatarMike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582550}
parent ecdeaeda
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<body>
<script>
//helper function for the tests
function testHref(str, url) {
var a = document.createElement('a');
a.href = url;
assert_equals(a.href, str);
}
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "a.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "a.href = URLS.safe, TrustedURL.unsafelyCreate");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<body>
<map>
<script>
//helper function for the tests
function testHref(str, url) {
var area = document.createElement('area');
area.href = url;
area.alt = "Area";
assert_equals(area.href, str);
}
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "area.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "area.href = URLS.safe, TrustedURL.unsafelyCreate");
</script>
</map>
</body>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<script>
//helper function for the tests
function testHref(str, url) {
var base = document.createElement('base');
base.href = url;
assert_equals(base.href, str);
}
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "base.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "base.href = URLS.safe, TrustedURL.unsafelyCreate");
</script>
</head>
<!DOCTYPE html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
</head>
<body>
<script>
//TrustedURL Assignments
let testCases = [
[ 'a', 'href' ],
[ 'area', 'href' ],
[ 'base', 'href' ],
[ 'frame', 'src' ],
[ 'iframe', 'src' ],
[ 'img', 'src' ],
[ 'input', 'src' ],
[ 'link', 'href' ],
[ 'video', 'src' ],
[ 'object', 'data' ],
[ 'object', 'codeBase' ],
[ 'source', 'src' ],
[ 'track', 'src' ]
];
testCases.forEach(c => {
test(t => {
assert_accepts_trusted_url(c[0], c[1]);
}, c[0] + "." + c[1] + " accepts TrustedURL");
});
//TrustedScriptURL Assignments
let scriptTestCases = [
[ 'embed', 'src' ],
[ 'script', 'src' ]
];
scriptTestCases.forEach(c => {
test(t => {
assert_accepts_trusted_script_url(c[0], c[1]);
}, c[0] + "." + c[1] + " accepts TrustedScriptURL");
});
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('image');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('image');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<body>
<script>
//helper function for the tests
function testHref(str, url) {
var link = document.createElement('link');
link.href = url;
assert_equals(link.href, str);
}
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "link.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "link.href = URLS.safe, TrustedURL.unsafelyCreate");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('video');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('video');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<body>
<script>
//helper function for the tests
function testData(str, url) {
var objectElement = document.createElement('object');
objectElement.data = url;
objectElement.codeBase = url;
assert_equals(objectElement.data, str);
assert_equals(objectElement.codeBase,str);
}
test(t => {
testData(URLS.safe, TrustedURL.create(URLS.safe));
}, "Basic processing: safe URL, safe construction.");
test(t => {
testData(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "Basic processing: safe URL, unsafe construction.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('source');
d.src = url;
assert_equals(d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('source');
d.src = url;
assert_equals(d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
//helper function for the tests
function testHref(str, url) {
var a = document.createElement('a');
a.href = url;
assert_equals(a.href, str);
}
//URL assignments do not throw.
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "a.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "a.href = URLS.safe, TrustedURL.unsafelyCreate");
// String assignments throw.
test(t => {
var a = document.createElement('a');
assert_throws(new TypeError(), _ => {
a.href = "A string";
});
}, "`a.href = string` throws");
//Null assignment throws.
test(t => {
var a = document.createElement('a');
assert_throws(new TypeError(), _ => {
a.href = null;
});
}, "`a.href = null` throws");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<map>
<script>
//helper function for the tests
function testHref(str, url) {
var area = document.createElement('area');
area.href = url;
area.alt = "Area";
assert_equals(area.href, str);
}
//URL assignments do not throw.
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "area.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "area.href = URLS.safe, TrustedURL.unsafelyCreate");
// String assignments throw.
test(t => {
var area = document.createElement('area');
assert_throws(new TypeError(), _ => {
area.href = "A string";
});
}, "`area.href = string` throws");
//Null assignment throws.
test(t => {
var area = document.createElement('area');
assert_throws(new TypeError(), _ => {
area.href = null;
});
}, "`area.href = null` throws");
</script>
</map>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<script>
//helper function for the tests
function testHref(str, url) {
var base = document.createElement('base');
base.href = url;
assert_equals(base.href, str);
}
//URL assignments do not throw.
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "base.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "base.href = URLS.safe, TrustedURL.unsafelyCreate");
// String assignments throw.
test(t => {
var base = document.createElement('base');
assert_throws(new TypeError(), _ => {
base.href = "A string";
});
}, "`base.href = string` throws");
//Null assignment throws.
test(t => {
var base = document.createElement('base');
assert_throws(new TypeError(), _ => {
base.href = null;
});
}, "`base.href = null` throws");
</script>
</head>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
//TrustedURL Assignments
let testCases = [
[ 'a', 'href' ],
[ 'area', 'href' ],
[ 'base', 'href' ],
[ 'frame', 'src' ],
[ 'iframe', 'src' ],
[ 'img', 'src' ],
[ 'input', 'src' ],
[ 'link', 'href' ],
[ 'video', 'src' ],
[ 'object', 'data' ],
[ 'object', 'codeBase' ],
[ 'source', 'src' ],
[ 'track', 'src' ]
];
testCases.forEach(c => {
test(t => {
assert_accepts_trusted_url(c[0], c[1]);
assert_throws_no_trusted_type(c[0], c[1], 'A string');
assert_throws_no_trusted_type(c[0], c[1], null);
}, c[0] + "." + c[1] + " accepts TrustedURL");
});
//TrustedScriptURL Assignments
let scriptTestCases = [
[ 'embed', 'src' ],
[ 'script', 'src' ]
];
scriptTestCases.forEach(c => {
test(t => {
assert_accepts_trusted_script_url(c[0], c[1]);
assert_throws_no_trusted_type(c[0], c[1], 'A string');
assert_throws_no_trusted_type(c[0], c[1], null);
}, c[0] + "." + c[1] + " accepts TrustedScriptURL");
});
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('iframe');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('iframe');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('img');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('img');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('img');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
//helper function for the tests
function testHref(str, url) {
var link = document.createElement('link');
link.href = url;
assert_equals(link.href, str);
}
//URL assignments do not throw.
test(t => {
testHref(URLS.safe, TrustedURL.create(URLS.safe));
}, "link.href = URLS.safe, TrustedURL.create");
test(t => {
testHref(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "link.href = URLS.safe, TrustedURL.unsafelyCreate");
// String assignments throw.
test(t => {
var link = document.createElement('link');
assert_throws(new TypeError(), _ => {
link.href = "A string";
});
}, "`link.href = string` throws");
//Null assignment throws.
test(t => {
var link = document.createElement('link');
assert_throws(new TypeError(), _ => {
link.href = null;
});
}, "`link.href = null` throws");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('video');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('video');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('video');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
//helper function for the tests
function testData(str, url) {
var objectElement = document.createElement('object');
objectElement.data = url;
objectElement.codeBase = url;
assert_equals(objectElement.data, str);
assert_equals(objectElement.codeBase, str);
}
//URL assignments do not throw
test(t => {
testData(URLS.safe, TrustedURL.create(URLS.safe));
}, "Basic processing: safe URL, safe construction.");
test(t => {
testData(URLS.safe, TrustedURL.unsafelyCreate(URLS.safe));
}, "Basic processing: safe URL, unsafe construction.");
//String assignments throw
test(t => {
var objectElement = document.createElement('object');
assert_throws(new TypeError(), _ => {
objectElement.data = "A string";
});
}, "`objectElement.data = string` throws");
test(t => {
var objectElement = document.createElement('object');
assert_throws(new TypeError(), _ => {
objectElement.codeBase = "A string";
});
}, "`objectElement.codeBase = string` throws");
//Null assignment throws.
test(t => {
var objectElement = document.createElement('object');
assert_throws(new TypeError(), _ => {
objectElement.data = null;
});
}, "`objectElement.data = null` throws");
//Null assignment throws.
test(t => {
var objectElement = document.createElement('object');
assert_throws(new TypeError(), _ => {
objectElement.codeBase = null;
});
}, "`objectElement.codeBase = null` throws");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('source');
d.src = url;
assert_equals(d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('source');
d.src = url;
assert_equals(d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var url = "Fail."
var d = document.createElement('source');
assert_throws(new TypeError(), _ => {
d.src = url;
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
// String assignments throw.
test(t => {
var s = document.createElement('embed');
assert_throws(new TypeError(), _ => {
s.src = "Fail.";
});
assert_equals('', s.src);
}, "src = 'string' assignment throws.");
// TrustedURL assignments throw.
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var s = document.createElement('embed');
assert_throws(new TypeError(), _ => {
s.src = url;
});
assert_equals('', s.src);
}, "src = TrustedURL.unsafelyCreate(URLS.safe) assignment throws");
// TrustedScriptURL assignments work.
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.safe);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.safe)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.javascript);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.javascript)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.external);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.external)");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('frame');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('input');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<html>
<head>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
</head>
<body>
<script>
// String assignments throw.
test(t => {
var s = document.createElement('script');
assert_throws(new TypeError(), _ => {
s.src = URLS.safe;
});
assert_equals('', s.src);
}, "'string'");
// TrustedURL assignments throw.
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var s = document.createElement('script');
assert_throws(new TypeError(), _ => {
s.src = url;
});
assert_equals('', s.src);
}, "TrustedURL(safe)");
// TrustedScriptURL assignments work.
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.safe);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
}, "TrustedScriptURL(safe)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.javascript);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
}, "TrustedScriptURL(javascript)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.external);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
}, "TrustedScriptURL(external)");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<meta http-equiv="Content-Security-Policy" content="require-trusted-types">
<body>
<script>
//URL assignments don't throw
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
//String assignment throws
test(t => {
var d = document.createElement('track');
assert_throws(new TypeError(), _ => {
d.src = "Fail.";
});
}, "'src = string' throws.");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.safe);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.safe)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.javascript);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.javascript)");
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.external);
var s = document.createElement('embed');
s.src = url;
assert_equals(url + '', s.src);
}, "src = TrustedScriptURL.unsafelyCreate(URLS.external)");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('frame');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('input');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.safe);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
});
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.javascript);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
});
test(t => {
var url = TrustedScriptURL.unsafelyCreate(URLS.external);
var s = document.createElement('script');
s.src = url;
assert_equals(url + '', s.src);
});
</script>
...@@ -45,3 +45,31 @@ function createFrameAndHref(href) { ...@@ -45,3 +45,31 @@ function createFrameAndHref(href) {
document.body.appendChild(i); document.body.appendChild(i);
}); });
} }
let trustedHTML = TrustedHTML.escape(STRINGS.unescapedHTML);
function assert_accepts_trusted_html(tag, attribute) {
let elem = document.createElement(tag);
elem[attribute] = trustedHTML;
assert_equals(elem[attribute] + "", STRINGS.unescapedHTML);
}
let trustedURL = TrustedURL.create(URLS.safe);
function assert_accepts_trusted_url(tag, attribute) {
let elem = document.createElement(tag);
elem[attribute] = trustedURL;
assert_equals(elem[attribute] + "", URLS.safe);
}
let trustedScriptURL = TrustedScriptURL.unsafelyCreate(URLS.safe);
function assert_accepts_trusted_script_url(tag, attribute) {
let elem = document.createElement(tag);
elem[attribute] = trustedScriptURL;
assert_equals(elem[attribute] + "", URLS.safe);
}
function assert_throws_no_trusted_type(tag, attribute, value) {
let elem = document.createElement(tag);
assert_throws(new TypeError(), _ => {
elem[attribute] = value;
});
}
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./support/helper.sub.js"></script>
<body>
<script>
test(t => {
var url = TrustedURL.create(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.create().");
test(t => {
var url = TrustedURL.unsafelyCreate(URLS.safe);
var d = document.createElement('track');
d.src = url;
assert_equals("" + d.src, URLS.safe);
}, "src = TrustedURL.unsafelyCreate().");
</script>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment