1
0
mirror of synced 2026-05-22 22:53:20 +00:00
Files
music-metadata/test/test-dsdiff.ts
T
2022-02-27 15:27:40 +01:00

39 lines
1.5 KiB
TypeScript

import {assert} from 'chai';
import path from 'node:path';
import * as mm from '../lib/index.js';
import { samplePath } from './util.js';
describe('Parse Philips DSDIFF', () => {
const dsdiffamplePath = path.join(samplePath, 'dsdiff');
it('parse: DSD64.dff', async () => {
const filePath = path.join(dsdiffamplePath, 'DSD64.dff');
const {format, common} = await mm.parseFile(filePath, {duration: false});
// format chunk information
assert.strictEqual(format.container, 'DSDIFF/DSD');
assert.deepEqual(format.lossless, true);
assert.deepEqual(format.tagTypes, ['ID3v2.3']);
assert.deepEqual(format.numberOfChannels, 2, 'format.numberOfChannels');
assert.deepEqual(format.bitsPerSample, 1, 'format.bitsPerSample');
assert.deepEqual(format.sampleRate, 2822400, 'format.sampleRate [Hz]');
assert.deepEqual(format.numberOfSamples, 300800, 'format.numberOfSamples');
assert.deepEqual(format.duration, 300800 / 2822400, 'format.duration');
assert.deepEqual(format.bitrate, 5644800, 'format.bitrate');
assert.deepEqual(format.tagTypes, ['ID3v2.3'], 'TAG headers');
// ID3v2 chunk information
assert.strictEqual(common.artist, 'CANTUS (Tove Ramlo-Ystad) & Frode Fjellheim', 'common.artist');
assert.strictEqual(common.title, 'Kyrie', 'common.title');
assert.strictEqual(common.album, 'SPES', 'common.album');
assert.deepEqual(common.genre, ['Choral'], 'common.genre');
assert.deepEqual(common.track, {no: 4, of: 12}, 'common.track');
});
});