content/media/test/test_bug493187.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 <!--
     4 https://bugzilla.mozilla.org/show_bug.cgi?id=493187
     5 -->
     7 <head>
     8   <title>Bug 493187 - enter HAVE_FUTURE_DATA when seeking within buffered data even if new data isn't arriving</title>
     9   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
    10   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
    11   <script type="text/javascript" src="manifest.js"></script>
    12 </head>
    13 <body>
    14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=493187">Mozilla Bug 493187</a>
    15 <pre id="test">
    16 <script class="testbody" type="text/javascript">
    18 SimpleTest.expectAssertions(0, 2);
    20 var manager = new MediaTestManager;
    22 function start(e) {
    23   e.target.currentTime = e.target.duration / 4;
    24 }
    26 function startSeeking(e) {
    27   e.target._seeked = true;
    28 }
    30 function canPlayThrough(e) {
    31   var v = e.target;
    32   if (v._seeked && !v._finished) {
    33     ok(true, "Got canplaythrough after seek for " + v._name);
    34     v._finished = true;
    35     v.parentNode.removeChild(v);
    36     v.src = "";
    37     manager.finished(v.token);
    38   }
    39 }
    41 function startTest(test, token) {
    42   // TODO: Bug 568402, there's a bug in the WAV backend where we sometimes
    43   // don't send canplaythrough events after seeking. Once that is fixed,
    44   // we should remove this guard below so that we run this test for audio.
    45   var type = getMajorMimeType(test.type);
    46   if (type != "video")
    47     return;
    49   var v = document.createElement('video');
    50   v.token = token;
    51   manager.started(token);
    53   v.src = test.name;
    54   v._name = test.name;
    55   v._seeked = false;
    56   v._finished = false;
    57   v.preload = "auto";
    58   v.addEventListener("loadedmetadata", start, false);
    59   v.addEventListener("canplaythrough", canPlayThrough, false);
    60   v.addEventListener("seeking", startSeeking, false);
    61   document.body.appendChild(v);
    62 }
    64 SimpleTest.waitForExplicitFinish();
    65 SpecialPowers.pushPrefEnv({"set": [["media.cache_size", 40000]]}, beginTest);
    66 function beginTest() {
    67   manager.runTests(gSeekTests, startTest);
    68 }
    69 </script>
    70 </pre>
    71 </body>
    72 </html>

mercurial