diff options
Diffstat (limited to 'dom/media/test/test_invalid_reject.html')
-rw-r--r-- | dom/media/test/test_invalid_reject.html | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/dom/media/test/test_invalid_reject.html b/dom/media/test/test_invalid_reject.html new file mode 100644 index 0000000000..583847fe12 --- /dev/null +++ b/dom/media/test/test_invalid_reject.html @@ -0,0 +1,58 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="UTF-8" /> + <title>Test rejection of invalid files</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"> + +var manager = new MediaTestManager; + +function startTest(test, token) { + var v = document.createElement('video'); + manager.started(token); + + // Set up event handlers. Seeing any of these is a failure. + function badEvent(type) { return function(e) { + ok(false, test.name + " should not fire '" + type + "' event"); + }}; + var events = [ + 'loadeddata', 'load', + 'canplay', 'canplaythrough', + 'playing' + ]; + events.forEach( function(e) { + v.addEventListener(e, badEvent(e)); + }); + + // Seeing a decoder error is a success. + v.addEventListener("error", function onerror(e) { + if (v.readyState == v.HAVE_NOTHING) { + is(v.error.code, v.error.MEDIA_ERR_SRC_NOT_SUPPORTED, + "decoder should reject " + test.name); + } else { + is(v.error.code, v.error.MEDIA_ERR_DECODE, + "decoder should reject " + test.name); + } + v.removeEventListener('error', onerror); + manager.finished(token); + }); + + // Now try to load and play the file, which should result in the + // error event handler above being called, terminating the test. + document.body.appendChild(v); + v.src = test.name; + v.play(); +} + +manager.runTests(gInvalidTests, startTest); + +</script> +</pre> +</body> +</html> |