content/media/test/test_media_sniffer.html

branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
equal deleted inserted replaced
-1:000000000000 0:70574fa31e10
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Media test: mozStopDownload</title>
5 <meta charset='utf-8'>
6 <script type="text/javascript" src="/MochiKit/Base.js"></script>
7 <script type="text/javascript" src="/MochiKit/DOM.js"></script>
8 <script type="text/javascript" src="/MochiKit/Style.js"></script>
9 <script type="text/javascript" src="/MochiKit/Signal.js"></script>
10 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
11 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
12 <script type="text/javascript" src="manifest.js"></script>
13 </head>
14 <body>
15 <pre id="test">
16 <script class="testbody" type="text/javascript">
17 var manager = new MediaTestManager;
18
19 function finish_test(element) {
20 element.removeEventListener("error", onerror, false);
21 removeNodeAndSource(element);
22 manager.finished(element.token);
23 }
24
25 function onApplicationOctetStreamLoaded(e) {
26 var t = e.target;
27 t.removeEventListener('loadedmetadata', onApplicationOctetStreamLoaded);
28 ok(true, "The media loads when served with application/octet-stream.");
29 finish_test(t);
30 }
31
32 function checkApplicationOctetStream(t) {
33 t.src = t.src.replace("&nomime", "&type=application/octet-stream");
34 t.addEventListener("loadedmetadata", onApplicationOctetStreamLoaded);
35 }
36
37 function onmetadataloaded(e) {
38 var t = e.target;
39 t.removeEventListener('loadedmetadata', onmetadataloaded)
40 ok(true, "The media loads when served without a Content-Type.");
41 checkApplicationOctetStream(t);
42 }
43
44 function onerror(e) {
45 var t = e.target;
46 t.removeEventListener('error', onerror);
47 ok(false, "The media could not be loaded." + t.src + "\n");
48 finish_test(t);
49 }
50
51 function startTest(test, token) {
52 var elemType = /^audio/.test(test.type) ? "audio" : "video";
53 var element = document.createElement(elemType);
54 // This .sjs file serve the media file without Content-Type header, or with a
55 // specific Content-Type header.
56 element.src = 'contentType.sjs?file=' + test.name + "&nomime";
57 element.token = token;
58 element.controls = true;
59 element.preload = "metadata";
60 document.body.appendChild(element);
61 manager.started(token);
62 element.addEventListener("loadedmetadata", onmetadataloaded);
63 element.addEventListener("error", onerror);
64 }
65
66 manager.runTests(gSnifferTests, startTest);
67 </script>
68 </pre>
69 </body>
70 </html>

mercurial