-
Notifications
You must be signed in to change notification settings - Fork 344
/
Copy pathqunit-isofile-tests.js
32 lines (30 loc) · 1.06 KB
/
qunit-isofile-tests.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
QUnit.module("Individual Box Parsing");
function makeBoxParsingTest(i) {
var boxtestIndex = i;
QUnit.asyncTest(boxtests[boxtestIndex].boxname, function( assert ) {
var timeout = window.setTimeout(function() { assert.ok(false, "Timeout"); QUnit.start(); }, TIMEOUT_MS);
var callback = function (buffer) {
var file;
var stream;
window.clearTimeout(timeout);
if (typeof MultiBufferStream !== "undefined") {
stream = new MultiBufferStream(buffer);
} else {
stream = new MP4BoxStream(buffer);
}
file = MP4Box.createFile(false, stream);
if (file.saveParsePosition) {
file.saveParsePosition();
}
file.parse();
checkBoxData(assert, file[boxtests[boxtestIndex].boxname], boxtests[boxtestIndex].data);
QUnit.start();
};
var rangeStart = boxtests[boxtestIndex].rangeStart || 0;
var rangeEnd = (boxtests[boxtestIndex].rangeSize+boxtests[boxtestIndex].rangeStart-1) || Infinity;
getFileRange(boxtests[boxtestIndex].url, rangeStart, rangeEnd, callback);
});
}
for (var i = 0; i < boxtests.length; i++) {
makeBoxParsingTest(i);
}