content/media/test/test_seekable1.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

michael@0 1 <!DOCTYPE HTML>
michael@0 2 <html>
michael@0 3 <head>
michael@0 4 <title>Test seekable member for media elements</title>
michael@0 5 <script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
michael@0 6 <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
michael@0 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
michael@0 8 <script type="text/javascript" src="manifest.js"></script>
michael@0 9 </head>
michael@0 10 <body>
michael@0 11 <pre id='test'>
michael@0 12 <script class="testbody" type='application/javascript;version=1.8'>
michael@0 13
michael@0 14 let manager = new MediaTestManager;
michael@0 15
michael@0 16 function finish_test(element) {
michael@0 17 if (element.parentNode)
michael@0 18 element.parentNode.removeChild(element);
michael@0 19 element.src="";
michael@0 20 manager.finished(element.token);
michael@0 21 }
michael@0 22
michael@0 23 var tests = [
michael@0 24 // Test using a finite media stream, and a server supporting range requests
michael@0 25 {
michael@0 26 setup : function(element) {
michael@0 27 is(element.seekable.length, 0, "seekable.length should be initialy 0.");
michael@0 28 element.addEventListener("loadedmetadata", function() {
michael@0 29 is(element.seekable.length, 1, "seekable.length should be 1 for a server supporting range requests.");
michael@0 30
michael@0 31 is(element.seekable.start(0), 0.0, "The start of the first range should be the initialTime.");
michael@0 32 is(element.seekable.end(0), element.duration, "The end of the first range should be the duration.")
michael@0 33 finish_test(element);
michael@0 34 }, false);
michael@0 35 }
michael@0 36 }
michael@0 37 ];
michael@0 38
michael@0 39 function createTestArray() {
michael@0 40 var A = [];
michael@0 41 for (var k=0; k < gProgressTests.length; k++) {
michael@0 42 var t = new Object();
michael@0 43 t.setup = tests[0].setup;
michael@0 44 t.name = gProgressTests[k].name;
michael@0 45 t.type = gProgressTests[k].type;
michael@0 46 A.push(t);
michael@0 47 }
michael@0 48 return A;
michael@0 49 }
michael@0 50
michael@0 51 function startTest(test, token) {
michael@0 52 var elemType = getMajorMimeType(test.type);
michael@0 53 var element = document.createElement(elemType);
michael@0 54 element.preload = "auto";
michael@0 55 element.src = test.name;
michael@0 56 element.token = token;
michael@0 57 test.setup(element);
michael@0 58 manager.started(token);
michael@0 59 }
michael@0 60
michael@0 61 manager.runTests(createTestArray(), startTest);
michael@0 62
michael@0 63 </script>
michael@0 64 </pre>
michael@0 65 </body>
michael@0 66 </html>

mercurial