seek_support.js (1627B)
1 // This file expects manifest.js to be included in the same scope. 2 /* import-globals-from manifest.js */ 3 // This file expects SEEK_TEST_NUMBER to be defined by the test. 4 /* global SEEK_TEST_NUMBER */ 5 var manager = new MediaTestManager(); 6 7 function createTestArray() { 8 var tests = []; 9 var tmpVid = document.createElement("video"); 10 11 for (var testNum = 0; testNum < gSeekTests.length; testNum++) { 12 var test = gSeekTests[testNum]; 13 if (!tmpVid.canPlayType(test.type)) { 14 continue; 15 } 16 17 var t = {}; 18 t.name = test.name; 19 t.type = test.type; 20 t.duration = test.duration; 21 t.number = SEEK_TEST_NUMBER; 22 tests.push(t); 23 } 24 return tests; 25 } 26 27 function startTest(test, token) { 28 var video = document.createElement("video"); 29 video.token = token += "-seek" + test.number + ".js"; 30 manager.started(video.token); 31 video.src = test.name; 32 video.preload = "metadata"; 33 document.body.appendChild(video); 34 var name = test.name + " seek test " + test.number; 35 var localIs = (function (n) { 36 return function (a, b, msg) { 37 is(a, b, n + ": " + msg); 38 }; 39 })(name); 40 var localOk = (function (n) { 41 return function (a, msg) { 42 ok(a, n + ": " + msg); 43 }; 44 })(name); 45 var localFinish = (function (v, m) { 46 return function () { 47 v.onerror = null; 48 removeNodeAndSource(v); 49 dump("SEEK-TEST: Finished " + name + " token: " + v.token + "\n"); 50 m.finished(v.token); 51 }; 52 })(video, manager); 53 dump("SEEK-TEST: Started " + name + "\n"); 54 window["test_seek" + test.number]( 55 video, 56 test.duration / 2, 57 localIs, 58 localOk, 59 localFinish 60 ); 61 }