Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

// META: script=/fetch/orb/resources/utils.js
expected_block(
`${path}/font.ttf`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("font/ttf")),
message("ORB should block opaque font/ttf")));
expected_block(
`${path}/text.txt`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("text/plain")),
message("ORB should block opaque text/plain")));
expected_block(
`${path}/data.json`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB should block opaque application/json (non-empty)")));
expected_block(
`${path}/empty.json`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB should block opaque application/json (empty)")));
expected_block(
`${path}/data_non_ascii.json`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB should block opaque application/json which contains non ascii characters")));
expected_allow(
`${path}/image.png`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("image/png")),
message("ORB shouldn't block opaque image/png")),
{ skip: ["audio", "video", "script"] });
expected_allow(
`${path}/script.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("text/javascript")),
message("ORB shouldn't block opaque text/javascript")),
{ skip: ["image", "audio", "video"] });
// Test javascript validation can correctly decode the content with BOM.
expected_allow(
`${path}/script-utf16-bom.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB shouldn't block opaque text/javascript (utf16 encoded with BOM)")),
{ skip: ["image", "audio", "video"] });
// Test javascript validation can correctly decode the content with the http charset hint.
expected_allow(
`${path}/script-utf16-without-bom.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json; charset=utf-16")),
message("ORB shouldn't block opaque text/javascript (utf16 encoded without BOM but charset is provided in content-type)")),
{ skip: ["image", "audio", "video"] });
// Test javascript validation can correctly decode the content for iso-8559-1 (fallback decoder in Firefox).
expected_allow(
`${path}/script-iso-8559-1.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB shouldn't block opaque text/javascript (iso-8559-1 encoded)")),
{ skip: ["image", "audio", "video"] });
// Test javascript validation can correctly parse asm.js.
expected_allow(
`${path}/script-asm-js-valid.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB shouldn't block text/javascript with valid asm.js")),
{ skip: ["image", "audio", "video"] });
// Test javascript validation can correctly parse invalid asm.js with valid JS syntax.
expected_allow(
`${path}/script-asm-js-invalid.js`,
(orb_test, message) =>
promise_test(
t => orb_test(t, contentType("application/json")),
message("ORB shouldn't block text/javascript with invalid asm.js")),
{ skip: ["image", "audio", "video"] });