<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <title>Test rejection of invalid files</title> <script type="text/javascript" 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, false); 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>