test_invalid_reject.html (1609B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 <title>Test rejection of invalid files</title> 6 <script src="/tests/SimpleTest/SimpleTest.js"></script> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 8 <script type="text/javascript" src="manifest.js"></script> 9 </head> 10 <body> 11 <pre id="test"> 12 <script class="testbody" type="text/javascript"> 13 14 var manager = new MediaTestManager; 15 16 function startTest(test, token) { 17 var v = document.createElement('video'); 18 manager.started(token); 19 20 // Set up event handlers. Seeing any of these is a failure. 21 function badEvent(type) { return function() { 22 ok(false, test.name + " should not fire '" + type + "' event"); 23 }}; 24 var events = [ 25 'loadeddata', 'load', 26 'canplay', 'canplaythrough', 27 'playing' 28 ]; 29 events.forEach( function(e) { 30 v.addEventListener(e, badEvent(e)); 31 }); 32 33 // Seeing a decoder error is a success. 34 v.addEventListener("error", function onerror() { 35 if (v.readyState == v.HAVE_NOTHING) { 36 is(v.error.code, v.error.MEDIA_ERR_SRC_NOT_SUPPORTED, 37 "decoder should reject " + test.name); 38 } else { 39 is(v.error.code, v.error.MEDIA_ERR_DECODE, 40 "decoder should reject " + test.name); 41 } 42 v.removeEventListener('error', onerror); 43 manager.finished(token); 44 }); 45 46 // Now try to load and play the file, which should result in the 47 // error event handler above being called, terminating the test. 48 document.body.appendChild(v); 49 v.src = test.name; 50 v.play(); 51 } 52 53 manager.runTests(gInvalidTests, startTest); 54 55 </script> 56 </pre> 57 </body> 58 </html>