You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
2.6 KiB

import { parse, VERSION } from '../src';
import QUnit from 'qunit';
QUnit.dump.maxDepth = Infinity;
// manifests
import vttCodecsTemplate from './manifests/vtt_codecs.mpd';
import maatVttSegmentTemplate from './manifests/maat_vtt_segmentTemplate.mpd';
import segmentBaseTemplate from './manifests/segmentBase.mpd';
import segmentListTemplate from './manifests/segmentList.mpd';
import locationTemplate from './manifests/location.mpd';
import locationsTemplate from './manifests/locations.mpd';
import multiperiod from './manifests/multiperiod.mpd';
import webmsegments from './manifests/webmsegments.mpd';
import multiperiodDynamic from './manifests/multiperiod-dynamic.mpd';
import {
parsedManifest as maatVttSegmentTemplateManifest
} from './manifests/maat_vtt_segmentTemplate.js';
import {
parsedManifest as segmentBaseManifest
} from './manifests/segmentBase.js';
import {
parsedManifest as segmentListManifest
} from './manifests/segmentList.js';
import {
parsedManifest as multiperiodManifest
} from './manifests/multiperiod.js';
import {
parsedManifest as webmsegmentsManifest
} from './manifests/webmsegments.js';
import {
parsedManifest as multiperiodDynamicManifest
} from './manifests/multiperiod-dynamic.js';
import {
parsedManifest as locationManifest
} from './manifests/location.js';
import {
parsedManifest as locationsManifest
} from './manifests/locations.js';
import {
parsedManifest as vttCodecsManifest
} from './manifests/vtt_codecs.js';
QUnit.module('mpd-parser');
QUnit.test('has VERSION', function(assert) {
assert.ok(VERSION);
});
QUnit.test('has parse', function(assert) {
assert.ok(parse);
});
[{
name: 'maat_vtt_segmentTemplate',
input: maatVttSegmentTemplate,
expected: maatVttSegmentTemplateManifest
}, {
name: 'segmentBase',
input: segmentBaseTemplate,
expected: segmentBaseManifest
}, {
name: 'segmentList',
input: segmentListTemplate,
expected: segmentListManifest
}, {
name: 'multiperiod',
input: multiperiod,
expected: multiperiodManifest
}, {
name: 'webmsegments',
input: webmsegments,
expected: webmsegmentsManifest
}, {
name: 'multiperiod_dynamic',
input: multiperiodDynamic,
expected: multiperiodDynamicManifest
}, {
name: 'location',
input: locationTemplate,
expected: locationManifest
}, {
name: 'locations',
input: locationsTemplate,
expected: locationsManifest
}, {
name: 'vtt_codecs',
input: vttCodecsTemplate,
expected: vttCodecsManifest
}].forEach(({ name, input, expected }) => {
QUnit.test(`${name} test manifest`, function(assert) {
const actual = parse(input);
assert.deepEqual(actual, expected);
});
});