1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/media/test/test_media_sniffer.html Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,70 @@ 1.4 +<!DOCTYPE HTML> 1.5 +<html> 1.6 +<head> 1.7 + <title>Media test: mozStopDownload</title> 1.8 + <meta charset='utf-8'> 1.9 + <script type="text/javascript" src="/MochiKit/Base.js"></script> 1.10 + <script type="text/javascript" src="/MochiKit/DOM.js"></script> 1.11 + <script type="text/javascript" src="/MochiKit/Style.js"></script> 1.12 + <script type="text/javascript" src="/MochiKit/Signal.js"></script> 1.13 + <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script> 1.14 + <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 1.15 + <script type="text/javascript" src="manifest.js"></script> 1.16 +</head> 1.17 +<body> 1.18 +<pre id="test"> 1.19 +<script class="testbody" type="text/javascript"> 1.20 +var manager = new MediaTestManager; 1.21 + 1.22 +function finish_test(element) { 1.23 + element.removeEventListener("error", onerror, false); 1.24 + removeNodeAndSource(element); 1.25 + manager.finished(element.token); 1.26 +} 1.27 + 1.28 +function onApplicationOctetStreamLoaded(e) { 1.29 + var t = e.target; 1.30 + t.removeEventListener('loadedmetadata', onApplicationOctetStreamLoaded); 1.31 + ok(true, "The media loads when served with application/octet-stream."); 1.32 + finish_test(t); 1.33 +} 1.34 + 1.35 +function checkApplicationOctetStream(t) { 1.36 + t.src = t.src.replace("&nomime", "&type=application/octet-stream"); 1.37 + t.addEventListener("loadedmetadata", onApplicationOctetStreamLoaded); 1.38 +} 1.39 + 1.40 +function onmetadataloaded(e) { 1.41 + var t = e.target; 1.42 + t.removeEventListener('loadedmetadata', onmetadataloaded) 1.43 + ok(true, "The media loads when served without a Content-Type."); 1.44 + checkApplicationOctetStream(t); 1.45 +} 1.46 + 1.47 +function onerror(e) { 1.48 + var t = e.target; 1.49 + t.removeEventListener('error', onerror); 1.50 + ok(false, "The media could not be loaded." + t.src + "\n"); 1.51 + finish_test(t); 1.52 +} 1.53 + 1.54 +function startTest(test, token) { 1.55 + var elemType = /^audio/.test(test.type) ? "audio" : "video"; 1.56 + var element = document.createElement(elemType); 1.57 + // This .sjs file serve the media file without Content-Type header, or with a 1.58 + // specific Content-Type header. 1.59 + element.src = 'contentType.sjs?file=' + test.name + "&nomime"; 1.60 + element.token = token; 1.61 + element.controls = true; 1.62 + element.preload = "metadata"; 1.63 + document.body.appendChild(element); 1.64 + manager.started(token); 1.65 + element.addEventListener("loadedmetadata", onmetadataloaded); 1.66 + element.addEventListener("error", onerror); 1.67 +} 1.68 + 1.69 +manager.runTests(gSnifferTests, startTest); 1.70 +</script> 1.71 +</pre> 1.72 +</body> 1.73 +</html>