format-parser.test.js 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import QUnit from 'qunit';
  2. import formatFiles from 'create-test-data!formats';
  3. import {parseFormatForBytes} from '../src/format-parser.js';
  4. import {doesCodecMatch, codecsFromFile} from './test-helpers.js';
  5. const modules = {};
  6. // seperate files into modules by extension
  7. Object.keys(formatFiles).forEach((file) => {
  8. const extension = file.split('.').pop();
  9. modules[extension] = modules[extension] || [];
  10. modules[extension].push(file);
  11. });
  12. QUnit.module('parseFormatForBytes', () => Object.keys(modules).forEach(function(module) {
  13. const files = modules[module];
  14. QUnit.module(module);
  15. files.forEach((file) => QUnit.test(`${file} can be identified`, function(assert) {
  16. const {codecs, container} = parseFormatForBytes(formatFiles[file]());
  17. const expectedCodecs = codecsFromFile(file);
  18. assert.equal(container, module, module);
  19. Object.keys(expectedCodecs).forEach(function(type) {
  20. const expectedCodec = expectedCodecs[type];
  21. const codec = codecs[type];
  22. assert.ok(doesCodecMatch(codec, expectedCodec), `${codec} is ${expectedCodec}`);
  23. });
  24. }));
  25. }));