<!
DOCTYPE HTML>
<
html>
<
head>
<
title>Invalid formats raise decode errors with default messages for CORS cross-origin media</
title>
<
script src=
"/tests/SimpleTest/SimpleTest.js"></
script>
<
link rel=
"stylesheet" type=
"text/css" href=
"/tests/SimpleTest/test.css" />
<
script type=
"text/javascript" src=
"manifest.js"></
script>
</
head>
<
body>
<
pre id=
"test">
<
script class=
"testbody" type=
"text/javascript">
const manager = new MediaTestManager;
let gotErrSrcNotSupported = false;
let gotErrDecode = false;
function startTest(test, token) {
const is = function(a, b, name) {
SimpleTest.is(a, b, `${test.name}: ${name}`);
};
const v = document.createElement(
"video");
manager.started(token);
v.addEventListener(
"error", () => {
if (v.readyState == v.HAVE_NOTHING) {
is(v.error.
code, MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,
"Expected code for a load error");
is(v.error.message,
"Failed to open media",
"Expected message for a load error");
gotErrSrcNotSupported = true;
} else {
is(v.error.
code, MediaError.MEDIA_ERR_DECODE,
"Expected code for a decode error");
is(v.error.message,
"Failed to decode media",
"Expected message for a decode error");
gotErrDecode = true;
}
manager.finished(token);
});
v.autoplay = true;
// CORS-cross-origin URL.
v.src = `
http://example.com/tests/dom/media/test/${test.name}`;
}
gTestPrefs.push([
"media.cache_size", 40000]);
manager.onFinished = () => {
ok(gotErrSrcNotSupported,
"At least one test led to src-not-supported");
ok(gotErrDecode,
"At least one test led to a decode error");
};
manager.runTests(gErrorTests, startTest);
</
script>
</
pre>
</
body>
</
html>