1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_invalid_reject.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,53 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <meta charset="UTF-8" /> 1.8 + <title>Test rejection of invalid files</title> 1.9 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.10 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.11 + <script type="text/javascript" src="manifest.js"></script> 1.12 +</head> 1.13 +<body> 1.14 +<pre id="test"> 1.15 +<script class="testbody" type="text/javascript"> 1.16 + 1.17 +var manager = new MediaTestManager; 1.18 + 1.19 +function startTest(test, token) { 1.20 + var v = document.createElement('video'); 1.21 + manager.started(token); 1.22 + 1.23 + // Set up event handlers. Seeing any of these is a failure. 1.24 + function badEvent(type) { return function(e) { 1.25 + ok(false, test.name + " should not fire '" + type + "' event"); 1.26 + }}; 1.27 + var events = [ 1.28 + 'loadedmetadata', 'load', 1.29 + 'canplay', 'canplaythrough', 1.30 + 'playing' 1.31 + ]; 1.32 + events.forEach( function(e) { 1.33 + v.addEventListener(e, badEvent(e)); 1.34 + }); 1.35 + 1.36 + // Seeing a decoder error is a success. 1.37 + v.addEventListener("error", function(e) { 1.38 + is(v.error.code, v.error.MEDIA_ERR_DECODE, 1.39 + "decoder should reject " + test.name); 1.40 + v.removeEventListener('error', arguments.callee, false); 1.41 + manager.finished(token); 1.42 + }); 1.43 + 1.44 + // Now try to load and play the file, which should result in the 1.45 + // error event handler above being called, terminating the test. 1.46 + document.body.appendChild(v); 1.47 + v.src = test.name; 1.48 + v.play(); 1.49 +} 1.50 + 1.51 +manager.runTests(gInvalidTests, startTest); 1.52 + 1.53 +</script> 1.54 +</pre> 1.55 +</body> 1.56 +</html>