UNPKG

versification

Version:

A library for parsing Paratext's vrs files.

58 lines (47 loc) 1.78 kB
import {expect} from 'chai'; import * as canon from '../src/Canon' describe('Canon', () => { describe('bookIdToNumber', () => { it('bookIdToNumber - valid ids', () => { expect(canon.bookIdToNumber('GEN')).to.be.equal(1); expect(canon.bookIdToNumber('EXO')).to.be.equal(2); expect(canon.bookIdToNumber('MAT')).to.be.equal(40); }); it('bookIdToNumber - valid ids, but not uppercase', () => { expect(canon.bookIdToNumber('gen')).to.be.equal(1); expect(canon.bookIdToNumber('eXO')).to.be.equal(2); expect(canon.bookIdToNumber('Mat')).to.be.equal(40); }); it('bookIdToNumber - invalid ids', () => { expect(canon.bookIdToNumber('ABC')).to.be.undefined; expect(canon.bookIdToNumber('DEF')).to.be.undefined; // @ts-ignore expect(canon.bookIdToNumber(null)).to.be.undefined; }); it('non canonical', () => { expect(canon.bookIdToNumber('GLO')).to.be.equal(109); }); }); describe('bookNumberToId', () => { it('bookNumberToId - valid number', () => { expect(canon.bookNumberToId(1)).to.be.equal('GEN'); expect(canon.bookNumberToId(2)).to.be.equal('EXO'); expect(canon.bookNumberToId(40)).to.be.equal('MAT'); }); it('bookNumberToId - invalid number', () => { expect(canon.bookNumberToId(-1)).to.be.undefined; expect(canon.bookNumberToId(999999)).to.be.undefined; // @ts-ignore expect(canon.bookNumberToId(null)).to.be.undefined; }); }); });