mirror of
https://github.com/owncast/owncast.git
synced 2024-10-10 19:16:02 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
* Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265) * Trying a new github workflow to install javascript packages * Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266) Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4. - [Release notes](https://github.com/tailwindlabs/tailwindcss/releases) - [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md) - [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Commit updated Javascript packages * Bump preact from 10.5.4 to 10.5.5 in /build/javascript Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5. - [Release notes](https://github.com/preactjs/preact/releases) - [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Owncast <owncast@owncast.online> * Bump @justinribeiro/lite-youtube in /build/javascript Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/justinribeiro/lite-youtube/releases) - [Commits](https://github.com/justinribeiro/lite-youtube/commits) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Owncast <owncast@owncast.online> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Gabe Kangas <gabek@real-ity.com>
172 lines
3.5 KiB
JavaScript
172 lines
3.5 KiB
JavaScript
import QUnit from 'qunit';
|
|
import { forEachMediaGroup } from '../src/media-groups';
|
|
|
|
QUnit.module('forEachMediaGroup');
|
|
|
|
QUnit.test('runs callback for each audio media group', function(assert) {
|
|
const master = {
|
|
mediaGroups: {
|
|
AUDIO: {
|
|
au1: {
|
|
en: { en: 'en' },
|
|
es: { es: 'es' }
|
|
},
|
|
au2: {
|
|
de: { de: 'de' },
|
|
fr: { fr: 'fr' }
|
|
}
|
|
},
|
|
OTHER: {
|
|
other1: {
|
|
other11: { other11: 'other11' },
|
|
other12: { other12: 'other12' }
|
|
},
|
|
other2: {
|
|
other21: { other21: 'other21' },
|
|
other22: { other22: 'other22' }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const iteratedMediaGroups = [];
|
|
|
|
forEachMediaGroup(
|
|
master,
|
|
['AUDIO'],
|
|
(mediaGroup) => iteratedMediaGroups.push(mediaGroup)
|
|
);
|
|
|
|
assert.deepEqual(
|
|
iteratedMediaGroups,
|
|
[
|
|
{ en: 'en' },
|
|
{ es: 'es' },
|
|
{ de: 'de' },
|
|
{ fr: 'fr' }
|
|
],
|
|
'iterated audio media groups'
|
|
);
|
|
});
|
|
|
|
QUnit.test('runs callback for each subtitle media group', function(assert) {
|
|
const master = {
|
|
mediaGroups: {
|
|
SUBTITLES: {
|
|
sub1: {
|
|
en: { en: 'en' },
|
|
es: { es: 'es' }
|
|
},
|
|
sub2: {
|
|
de: { de: 'de' },
|
|
fr: { fr: 'fr' }
|
|
}
|
|
},
|
|
OTHER: {
|
|
other1: {
|
|
other11: { other11: 'other11' },
|
|
other12: { other12: 'other12' }
|
|
},
|
|
other2: {
|
|
other21: { other21: 'other21' },
|
|
other22: { other22: 'other22' }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const iteratedMediaGroups = [];
|
|
|
|
forEachMediaGroup(
|
|
master,
|
|
['SUBTITLES'],
|
|
(mediaGroup) => iteratedMediaGroups.push(mediaGroup)
|
|
);
|
|
|
|
assert.deepEqual(
|
|
iteratedMediaGroups,
|
|
[
|
|
{ en: 'en' },
|
|
{ es: 'es' },
|
|
{ de: 'de' },
|
|
{ fr: 'fr' }
|
|
],
|
|
'iterated subtitles media groups'
|
|
);
|
|
});
|
|
|
|
QUnit.test('runs callback for each audio and subtitles media group', function(assert) {
|
|
const master = {
|
|
mediaGroups: {
|
|
AUDIO: {
|
|
au1: {
|
|
en: { en: 'en' },
|
|
es: { es: 'es' }
|
|
},
|
|
au2: {
|
|
de: { de: 'de' },
|
|
fr: { fr: 'fr' }
|
|
}
|
|
},
|
|
SUBTITLES: {
|
|
sub1: {
|
|
enS: { enS: 'enS' },
|
|
esS: { esS: 'esS' }
|
|
},
|
|
sub2: {
|
|
deS: { deS: 'deS' },
|
|
frS: { frS: 'frS' }
|
|
}
|
|
},
|
|
OTHER: {
|
|
other1: {
|
|
other11: { other11: 'other11' },
|
|
other12: { other12: 'other12' }
|
|
},
|
|
other2: {
|
|
other21: { other21: 'other21' },
|
|
other22: { other22: 'other22' }
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const iteratedMediaGroups = [];
|
|
|
|
forEachMediaGroup(
|
|
master,
|
|
['AUDIO', 'SUBTITLES'],
|
|
(mediaGroup) => iteratedMediaGroups.push(mediaGroup)
|
|
);
|
|
|
|
assert.deepEqual(
|
|
iteratedMediaGroups,
|
|
[
|
|
{ en: 'en' },
|
|
{ es: 'es' },
|
|
{ de: 'de' },
|
|
{ fr: 'fr' },
|
|
{ enS: 'enS' },
|
|
{ esS: 'esS' },
|
|
{ deS: 'deS' },
|
|
{ frS: 'frS' }
|
|
],
|
|
'iterated audio and subtitles media groups'
|
|
);
|
|
});
|
|
|
|
QUnit.test('does not run callback for non specified media groups', function(assert) {
|
|
const master = {
|
|
mediaGroups: {
|
|
'VIDEO': { v1: { en: { en: 'en' } } },
|
|
'CLOSED-CAPTIONS': { cc1: { en: { en: 'en' } } }
|
|
}
|
|
};
|
|
const iteratedMediaGroups = [];
|
|
|
|
forEachMediaGroup(
|
|
master,
|
|
['AUDIO', 'SUBTITLES'],
|
|
(mediaGroup) => iteratedMediaGroups.push(mediaGroup)
|
|
);
|
|
|
|
assert.deepEqual(iteratedMediaGroups, [], 'did not iterate non specified media groups');
|
|
});
|