diff options
Diffstat (limited to 'dom/media/test/test_decode_error_crossorigin.html')
-rw-r--r-- | dom/media/test/test_decode_error_crossorigin.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/dom/media/test/test_decode_error_crossorigin.html b/dom/media/test/test_decode_error_crossorigin.html new file mode 100644 index 0000000000..24c1430a5b --- /dev/null +++ b/dom/media/test/test_decode_error_crossorigin.html @@ -0,0 +1,54 @@ +<!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", event => { + 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> |