123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- 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 cc608CaptionsTemplate from './manifests/608-captions.mpd';
- import cc708CaptionsTemplate from './manifests/708-captions.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 multiperiodSegmentTemplate from './manifests/multiperiod-segment-template.mpd';
- import multiperiodSegmentList from './manifests/multiperiod-segment-list.mpd';
- import multiperiodDynamic from './manifests/multiperiod-dynamic.mpd';
- import audioOnly from './manifests/audio-only.mpd';
- import multiperiodStartnumber from './manifests/multiperiod-startnumber.mpd';
- import multiperiodStartnumberRemovedPeriods from
- './manifests/multiperiod-startnumber-removed-periods.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 cc608CaptionsManifest
- } from './manifests/608-captions.js';
- import {
- parsedManifest as cc708CaptionsManifest
- } from './manifests/708-captions.js';
- import {
- parsedManifest as multiperiodManifest
- } from './manifests/multiperiod.js';
- import {
- parsedManifest as webmsegmentsManifest
- } from './manifests/webmsegments.js';
- import {
- parsedManifest as multiperiodSegmentTemplateManifest
- } from './manifests/multiperiod-segment-template.js';
- import {
- parsedManifest as multiperiodSegmentListManifest
- } from './manifests/multiperiod-segment-list.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';
- import {
- parsedManifest as audioOnlyManifest
- } from './manifests/audio-only.js';
- import {
- parsedManifest as multiperiodStartnumberManifest
- } from './manifests/multiperiod-startnumber.js';
- import {
- parsedManifest as multiperiodStartnumberRemovedPeriodsManifest
- } from './manifests/multiperiod-startnumber-removed-periods.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: '608-captions',
- input: cc608CaptionsTemplate,
- expected: cc608CaptionsManifest
- }, {
- name: '708-captions',
- input: cc708CaptionsTemplate,
- expected: cc708CaptionsManifest
- }, {
- name: 'multiperiod',
- input: multiperiod,
- expected: multiperiodManifest
- }, {
- name: 'webmsegments',
- input: webmsegments,
- expected: webmsegmentsManifest
- }, {
- name: 'multiperiod_segment_template',
- input: multiperiodSegmentTemplate,
- expected: multiperiodSegmentTemplateManifest
- }, {
- name: 'multiperiod_segment_list',
- input: multiperiodSegmentList,
- expected: multiperiodSegmentListManifest
- }, {
- 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
- }, {
- name: 'audio-only',
- input: audioOnly,
- expected: audioOnlyManifest
- }, {
- name: 'multiperiod_startnumber',
- input: multiperiodStartnumber,
- expected: multiperiodStartnumberManifest
- }].forEach(({ name, input, expected }) => {
- QUnit.test(`${name} test manifest`, function(assert) {
- const actual = parse(input);
- assert.deepEqual(actual, expected);
- });
- });
- // this test is handled separately as a `previousManifest` needs to be parsed and provided
- QUnit.test('multiperiod_startnumber_removed_periods test manifest', function(assert) {
- const previousManifest = parse(multiperiodStartnumber);
- const actual = parse(multiperiodStartnumberRemovedPeriods, { previousManifest });
- assert.deepEqual(actual, multiperiodStartnumberRemovedPeriodsManifest);
- });
|