content/media/test/test_media_sniffer.html

Fri, 16 Jan 2015 04:50:19 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 04:50:19 +0100
branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
permissions
-rw-r--r--

Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32

     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;
    19 function finish_test(element) {
    20   element.removeEventListener("error", onerror, false);
    21   removeNodeAndSource(element);
    22   manager.finished(element.token);
    23 }
    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 }
    32 function checkApplicationOctetStream(t) {
    33   t.src = t.src.replace("&nomime", "&type=application/octet-stream");
    34   t.addEventListener("loadedmetadata", onApplicationOctetStreamLoaded);
    35 }
    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 }
    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 }
    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 }
    66 manager.runTests(gSnifferTests, startTest);
    67 </script>
    68 </pre>
    69 </body>
    70 </html>

mercurial