UNPKG

mp3tag

Version:

A library for reading/writing mp3 tag data

82 lines (81 loc) 3.57 kB
"use strict"; /** Tests for Decoder class */ Object.defineProperty(exports, "__esModule", { value: true }); const { Decoder } = require('../decoder'); require('chai').should(); const _ = require('lodash'); describe('Decoder V3', function () { var decoder = new Decoder({ major: 3 }); var endecodeString = function (str) { return decoder.decodeString(decoder.encodeString(str)); }; var endecodeComment = function (comment) { return decoder.decodeComment(decoder.encodeComment(comment)); }; describe('string en-/decoding', function () { it('should be symmetrical for an empty string', function () { var str = ""; endecodeString(str).should.equal(str); }); it('should be symmetrical for "aaa"', function () { var str = "aaa"; endecodeString(str).should.equal(str); }); it('should be symmetrical for "äüö€ßµ"', function () { var str = "äüö€ßµ"; endecodeString(str).should.equal(str); }); }); describe('comment en-/decoding', function () { it('should be symmetrical for ("eng","","")', function () { var comment = { language: 'eng', short: '', long: '' }; endecodeComment(comment).should.be.deep.equal(comment); }); it('should be symmetrical for ("eng","asdka"söldka","dalkdölas"äß09ß@€")', function () { var comment = { language: 'eng', short: 'asdka"söldka', long: 'dalkdölas"äß09ß' }; endecodeComment(comment).should.be.deep.equal(comment); }); it('("en","","") should be en/-decoded to ("en ","","")', function () { var comment = { language: 'en', short: '', long: '' }; endecodeComment(comment).should.be.deep.equal({ language: 'en ', short: '', long: '' }); }); }); }); describe('Decoder V4', function () { var decoder = new Decoder({ major: 4 }); var endecodeString = function (str) { return decoder.decodeString(decoder.encodeString(str)); }; var endecodeComment = function (comment) { return decoder.decodeComment(decoder.encodeComment(comment)); }; describe('string en-/decoding', function () { it('should be symmetrical for an empty string', function () { var str = ""; endecodeString(str).should.equal(str); }); it('should be symmetrical for "aaa"', function () { var str = "aaa"; endecodeString(str).should.equal(str); }); it('should be symmetrical for "äüö€ßµ"', function () { var str = "äüö€ßµ"; endecodeString(str).should.equal(str); }); }); describe('comment en-/decoding', function () { it('should be symmetrical for ("eng","","")', function () { var comment = { language: 'eng', short: '', long: '' }; endecodeComment(comment).should.be.deep.equal(comment); }); it('should be symmetrical for ("eng","asdka"söldka","dalkdölas"äß09ß@€")', function () { var comment = { language: 'eng', short: 'asdka"söldka', long: 'dalkdölas"äß09ß' }; endecodeComment(comment).should.be.deep.equal(comment); }); it('("en","","") should be en/-decoded to ("en ","","")', function () { var comment = { language: 'en', short: '', long: '' }; endecodeComment(comment).should.be.deep.equal({ language: 'en ', short: '', long: '' }); }); }); });