UNPKG

bible-reference-formatter

Version:

Utility that converts Bible references from OSIS to human-readable formats and Paratext.

42 lines (39 loc) 2.35 kB
"use strict" /* global require, describe, it, expect */ const osisToParatext = require("../es6/osisToParatext") const paratextToOsis = require("../es6/paratextToOsis") const osises = { "Gen": "GEN", "Exod": "EXO", "Lev": "LEV", "Num": "NUM", "Deut": "DEU", "Josh": "JOS", "Judg": "JDG", "Ruth": "RUT", "1Sam": "1SA", "2Sam": "2SA", "1Kgs": "1KI", "2Kgs": "2KI", "1Chr": "1CH", "2Chr": "2CH", "Ezra": "EZR", "Neh": "NEH", "Esth": "EST", "Job": "JOB", "Ps": "PSA", "Prov": "PRO", "Eccl": "ECC", "Song": "SNG", "Isa": "ISA", "Jer": "JER", "Lam": "LAM", "Ezek": "EZK", "Dan": "DAN", "Hos": "HOS", "Joel": "JOL", "Amos": "AMO", "Obad": "OBA", "Jonah": "JON", "Mic": "MIC", "Nah": "NAM", "Hab": "HAB", "Zeph": "ZEP", "Hag": "HAG", "Zech": "ZEC", "Mal": "MAL", "Matt": "MAT", "Mark": "MRK", "Luke": "LUK", "John": "JHN", "Acts": "ACT", "Rom": "ROM", "1Cor": "1CO", "2Cor": "2CO", "Gal": "GAL", "Eph": "EPH", "Phil": "PHP", "Col": "COL", "1Thess": "1TH", "2Thess": "2TH", "1Tim": "1TI", "2Tim": "2TI", "Titus": "TIT", "Phlm": "PHM", "Heb": "HEB", "Jas": "JAS", "1Pet": "1PE", "2Pet": "2PE", "1John": "1JN", "2John": "2JN", "3John": "3JN", "Jude": "JUD", "Rev": "REV", "Tob": "TOB", "Jdt": "JDT", "EsthGr": "ESG", "AddEsth": "ADE", "Wis": "WIS", "Sir": "SIR", "Bar": "BAR", "EpJer": "LJE", "DanGr": "DAG", "PrAzar": "S3Y", "Sus": "SUS", "Bel": "BEL", "1Macc": "1MA", "2Macc": "2MA", "3Macc": "3MA", "4Macc": "4MA", "PrMan": "MAN", "1Esd": "1ES", "2Esd": "2ES", "Ps151": { paratext: "PS2", osis: "AddPs" }, "GkEsth": { paratext: "ESG", osis: "EsthGr" }, "SgThree": { paratext: "S3Y", osis: "PrAzar" } } describe("Variants", function() { for (const osisBook of Object.keys(osises)) { it(`should round-trip '${osisBook}'`, function() { let paratextBook = osises[osisBook] let expectedOsisBook = osisBook if (typeof paratextBook === "object") { expectedOsisBook = paratextBook.osis paratextBook = paratextBook.paratext } const inputOsis = `${osisBook}.1.2-${osisBook}.3.4` const expectedOsis = `${expectedOsisBook}.1.2-${expectedOsisBook}.3.4` const expectedParatext = `${paratextBook} 1:2-3:4` const resultParatext = osisToParatext(inputOsis) const resultOsis = paratextToOsis(resultParatext) expect(resultParatext).toEqual(expectedParatext) expect(resultOsis).toEqual(expectedOsis) }) } })