bible-ref-parse
Version:
Identifies and parses Bible references (like John 3:16) in over 40 languages.
866 lines (828 loc) • 1.16 MB
JavaScript
(function() {
var bcv_parser;
bcv_parser = require("../../dist/en-bcv-parser.js").bcv_parser;
describe("Parsing", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.options.osis_compaction_strategy = "b";
return p.options.sequence_combination_strategy = "combine";
});
it("should round-trip OSIS references", function() {
var bc, bcv, bcv_range, book, books, i, len, results;
p.set_options({
osis_compaction_strategy: "bc"
});
books = ["Gen", "Exod", "Lev", "Num", "Deut", "Josh", "Judg", "Ruth", "1Sam", "2Sam", "1Kgs", "2Kgs", "1Chr", "2Chr", "Ezra", "Neh", "Esth", "Job", "Ps", "Prov", "Eccl", "Song", "Isa", "Jer", "Lam", "Ezek", "Dan", "Hos", "Joel", "Amos", "Obad", "Jonah", "Mic", "Nah", "Hab", "Zeph", "Hag", "Zech", "Mal", "Matt", "Mark", "Luke", "John", "Acts", "Rom", "1Cor", "2Cor", "Gal", "Eph", "Phil", "Col", "1Thess", "2Thess", "1Tim", "2Tim", "Titus", "Phlm", "Heb", "Jas", "1Pet", "2Pet", "1John", "2John", "3John", "Jude", "Rev"];
results = [];
for (i = 0, len = books.length; i < len; i++) {
book = books[i];
bc = book + ".1";
bcv = bc + ".1";
bcv_range = bcv + "-" + bc + ".2";
expect(p.parse(bc).osis()).toEqual(bc);
expect(p.parse(bcv).osis()).toEqual(bcv);
results.push(expect(p.parse(bcv_range).osis()).toEqual(bcv_range));
}
return results;
});
it("should round-trip OSIS Apocrypha references", function() {
var bc, bcv, bcv_range, book, books, i, j, len, len1, results;
p.set_options({
osis_compaction_strategy: "bc",
ps151_strategy: "b"
});
p.include_apocrypha(true);
books = ["Tob", "Jdt", "GkEsth", "Wis", "Sir", "Bar", "PrAzar", "Sus", "Bel", "SgThree", "EpJer", "1Macc", "2Macc", "3Macc", "4Macc", "1Esd", "2Esd", "PrMan", "Ps151"];
for (i = 0, len = books.length; i < len; i++) {
book = books[i];
bc = book + ".1";
bcv = bc + ".1";
bcv_range = bcv + "-" + bc + ".2";
expect(p.parse(bc).osis()).toEqual(bc);
expect(p.parse(bcv).osis()).toEqual(bcv);
expect(p.parse(bcv_range).osis()).toEqual(bcv_range);
}
p.set_options({
ps151_strategy: "bc"
});
expect(p.parse("Ps151.1").osis()).toEqual("Ps.151");
expect(p.parse("Ps151.1.1").osis()).toEqual("Ps.151.1");
expect(p.parse("Ps151.1-Ps151.2").osis()).toEqual("Ps.151.1-Ps.151.2");
p.include_apocrypha(false);
results = [];
for (j = 0, len1 = books.length; j < len1; j++) {
book = books[j];
bc = book + ".1";
results.push(expect(p.parse(bc).osis()).toEqual(""));
}
return results;
});
return it("should handle a preceding character", function() {
expect(p.parse(" Gen 1").osis()).toEqual("Gen.1");
expect(p.parse("Matt5John3").osis()).toEqual("Matt.5,John.3");
expect(p.parse("1Ps 1").osis()).toEqual("");
return expect(p.parse("11Sam 1").osis()).toEqual("");
});
});
describe("Localized book Gen (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Gen (en)", function() {
expect(p.parse("Genneeses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneeses 1:1'")
expect(p.parse("Genneesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneesis 1:1'")
expect(p.parse("Genneesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneesus 1:1'")
expect(p.parse("Genneises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneises 1:1'")
expect(p.parse("Genneisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneisis 1:1'")
expect(p.parse("Genneisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneisus 1:1'")
expect(p.parse("Gennieses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennieses 1:1'")
expect(p.parse("Genniesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genniesis 1:1'")
expect(p.parse("Genniesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genniesus 1:1'")
expect(p.parse("Genniises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genniises 1:1'")
expect(p.parse("Genniisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genniisis 1:1'")
expect(p.parse("Genniisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genniisus 1:1'")
expect(p.parse("Geneeses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneeses 1:1'")
expect(p.parse("Geneesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneesis 1:1'")
expect(p.parse("Geneesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneesus 1:1'")
expect(p.parse("Geneises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneises 1:1'")
expect(p.parse("Geneisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneisis 1:1'")
expect(p.parse("Geneisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneisus 1:1'")
expect(p.parse("Genieses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genieses 1:1'")
expect(p.parse("Geniesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geniesis 1:1'")
expect(p.parse("Geniesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geniesus 1:1'")
expect(p.parse("Geniises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geniises 1:1'")
expect(p.parse("Geniisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geniisis 1:1'")
expect(p.parse("Geniisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geniisus 1:1'")
expect(p.parse("Genneses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneses 1:1'")
expect(p.parse("Gennesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennesis 1:1'")
expect(p.parse("Gennesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennesus 1:1'")
expect(p.parse("Gennises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennises 1:1'")
expect(p.parse("Gennisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennisis 1:1'")
expect(p.parse("Gennisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennisus 1:1'")
expect(p.parse("Geneses 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneses 1:1'")
expect(p.parse("Genesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesis 1:1'")
expect(p.parse("Genesus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesus 1:1'")
expect(p.parse("Genises 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genises 1:1'")
expect(p.parse("Genisis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genisis 1:1'")
expect(p.parse("Genisus 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genisus 1:1'")
expect(p.parse("Genneis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genneis 1:1'")
expect(p.parse("Gennsis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gennsis 1:1'")
expect(p.parse("Geneis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Geneis 1:1'")
expect(p.parse("Genese 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genese 1:1'")
expect(p.parse("Genesi 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesi 1:1'")
expect(p.parse("Gensis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gensis 1:1'")
expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'")
expect(p.parse("Ge 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Ge 1:1'")
expect(p.parse("Gn 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gn 1:1'")
p.include_apocrypha(false)
expect(p.parse("GENNEESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEESES 1:1'")
expect(p.parse("GENNEESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEESIS 1:1'")
expect(p.parse("GENNEESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEESUS 1:1'")
expect(p.parse("GENNEISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEISES 1:1'")
expect(p.parse("GENNEISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEISIS 1:1'")
expect(p.parse("GENNEISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEISUS 1:1'")
expect(p.parse("GENNIESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIESES 1:1'")
expect(p.parse("GENNIESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIESIS 1:1'")
expect(p.parse("GENNIESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIESUS 1:1'")
expect(p.parse("GENNIISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIISES 1:1'")
expect(p.parse("GENNIISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIISIS 1:1'")
expect(p.parse("GENNIISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNIISUS 1:1'")
expect(p.parse("GENEESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEESES 1:1'")
expect(p.parse("GENEESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEESIS 1:1'")
expect(p.parse("GENEESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEESUS 1:1'")
expect(p.parse("GENEISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEISES 1:1'")
expect(p.parse("GENEISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEISIS 1:1'")
expect(p.parse("GENEISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEISUS 1:1'")
expect(p.parse("GENIESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIESES 1:1'")
expect(p.parse("GENIESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIESIS 1:1'")
expect(p.parse("GENIESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIESUS 1:1'")
expect(p.parse("GENIISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIISES 1:1'")
expect(p.parse("GENIISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIISIS 1:1'")
expect(p.parse("GENIISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENIISUS 1:1'")
expect(p.parse("GENNESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNESES 1:1'")
expect(p.parse("GENNESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNESIS 1:1'")
expect(p.parse("GENNESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNESUS 1:1'")
expect(p.parse("GENNISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNISES 1:1'")
expect(p.parse("GENNISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNISIS 1:1'")
expect(p.parse("GENNISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNISUS 1:1'")
expect(p.parse("GENESES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESES 1:1'")
expect(p.parse("GENESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESIS 1:1'")
expect(p.parse("GENESUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESUS 1:1'")
expect(p.parse("GENISES 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENISES 1:1'")
expect(p.parse("GENISIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENISIS 1:1'")
expect(p.parse("GENISUS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENISUS 1:1'")
expect(p.parse("GENNEIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNEIS 1:1'")
expect(p.parse("GENNSIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENNSIS 1:1'")
expect(p.parse("GENEIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENEIS 1:1'")
expect(p.parse("GENESE 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESE 1:1'")
expect(p.parse("GENESI 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESI 1:1'")
expect(p.parse("GENSIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENSIS 1:1'")
expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'")
expect(p.parse("GE 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GE 1:1'")
expect(p.parse("GN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GN 1:1'")
;
return true;
});
});
describe("Localized book Exod (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Exod (en)", function() {
expect(p.parse("Exodis 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exodis 1:1'")
expect(p.parse("Exodus 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exodus 1:1'")
expect(p.parse("Exode 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exode 1:1'")
expect(p.parse("Exods 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exods 1:1'")
expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'")
expect(p.parse("Exd 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exd 1:1'")
expect(p.parse("Exo 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exo 1:1'")
expect(p.parse("Ex 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Ex 1:1'")
p.include_apocrypha(false)
expect(p.parse("EXODIS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXODIS 1:1'")
expect(p.parse("EXODUS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXODUS 1:1'")
expect(p.parse("EXODE 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXODE 1:1'")
expect(p.parse("EXODS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXODS 1:1'")
expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'")
expect(p.parse("EXD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXD 1:1'")
expect(p.parse("EXO 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXO 1:1'")
expect(p.parse("EX 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EX 1:1'")
;
return true;
});
});
describe("Localized book Bel (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Bel (en)", function() {
expect(p.parse("Bel and the Serpent 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and the Serpent 1:1'")
expect(p.parse("Bel and the Dragon 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and the Dragon 1:1'")
expect(p.parse("Bel & the Serpent 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & the Serpent 1:1'")
expect(p.parse("Bel and the Snake 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and the Snake 1:1'")
expect(p.parse("Bel & the Dragon 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & the Dragon 1:1'")
expect(p.parse("Bel & the Snake 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & the Snake 1:1'")
expect(p.parse("Bel and Serpent 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and Serpent 1:1'")
expect(p.parse("Bel and Dragon 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and Dragon 1:1'")
expect(p.parse("Bel & Serpent 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & Serpent 1:1'")
expect(p.parse("Bel and Snake 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel and Snake 1:1'")
expect(p.parse("Bel & Dragon 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & Dragon 1:1'")
expect(p.parse("Bel & Snake 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel & Snake 1:1'")
expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'")
;
return true;
});
});
describe("Localized book Lev (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Lev (en)", function() {
expect(p.parse("Levetecus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levetecus 1:1'")
expect(p.parse("Leveticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Leveticus 1:1'")
expect(p.parse("Levitecus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levitecus 1:1'")
expect(p.parse("Leviticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Leviticus 1:1'")
expect(p.parse("Livetecus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Livetecus 1:1'")
expect(p.parse("Liveticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Liveticus 1:1'")
expect(p.parse("Livitecus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Livitecus 1:1'")
expect(p.parse("Liviticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Liviticus 1:1'")
expect(p.parse("Levetcus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levetcus 1:1'")
expect(p.parse("Levitcus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levitcus 1:1'")
expect(p.parse("Livetcus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Livetcus 1:1'")
expect(p.parse("Livitcus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Livitcus 1:1'")
expect(p.parse("Levi 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levi 1:1'")
expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'")
expect(p.parse("Le 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Le 1:1'")
expect(p.parse("Lv 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lv 1:1'")
p.include_apocrypha(false)
expect(p.parse("LEVETECUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVETECUS 1:1'")
expect(p.parse("LEVETICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVETICUS 1:1'")
expect(p.parse("LEVITECUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITECUS 1:1'")
expect(p.parse("LEVITICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITICUS 1:1'")
expect(p.parse("LIVETECUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVETECUS 1:1'")
expect(p.parse("LIVETICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVETICUS 1:1'")
expect(p.parse("LIVITECUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVITECUS 1:1'")
expect(p.parse("LIVITICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVITICUS 1:1'")
expect(p.parse("LEVETCUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVETCUS 1:1'")
expect(p.parse("LEVITCUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITCUS 1:1'")
expect(p.parse("LIVETCUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVETCUS 1:1'")
expect(p.parse("LIVITCUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIVITCUS 1:1'")
expect(p.parse("LEVI 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVI 1:1'")
expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'")
expect(p.parse("LE 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LE 1:1'")
expect(p.parse("LV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LV 1:1'")
;
return true;
});
});
describe("Localized book Num (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Num (en)", function() {
expect(p.parse("Numbers 1:1").osis()).toEqual("Num.1.1", "parsing: 'Numbers 1:1'")
expect(p.parse("Number 1:1").osis()).toEqual("Num.1.1", "parsing: 'Number 1:1'")
expect(p.parse("Numb 1:1").osis()).toEqual("Num.1.1", "parsing: 'Numb 1:1'")
expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'")
expect(p.parse("Nm 1:1").osis()).toEqual("Num.1.1", "parsing: 'Nm 1:1'")
expect(p.parse("Nu 1:1").osis()).toEqual("Num.1.1", "parsing: 'Nu 1:1'")
p.include_apocrypha(false)
expect(p.parse("NUMBERS 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUMBERS 1:1'")
expect(p.parse("NUMBER 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUMBER 1:1'")
expect(p.parse("NUMB 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUMB 1:1'")
expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'")
expect(p.parse("NM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NM 1:1'")
expect(p.parse("NU 1:1").osis()).toEqual("Num.1.1", "parsing: 'NU 1:1'")
;
return true;
});
});
describe("Localized book Sir (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Sir (en)", function() {
expect(p.parse("The Wisdom of Jesus, Son of Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'The Wisdom of Jesus, Son of Sirach 1:1'")
expect(p.parse("The Wisdom of Jesus Son of Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'The Wisdom of Jesus Son of Sirach 1:1'")
expect(p.parse("The Wisdom of Jesus ben Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'The Wisdom of Jesus ben Sirach 1:1'")
expect(p.parse("Wisdom of Jesus, Son of Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Wisdom of Jesus, Son of Sirach 1:1'")
expect(p.parse("Wisdom of Jesus Son of Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Wisdom of Jesus Son of Sirach 1:1'")
expect(p.parse("Wisdom of Jesus ben Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Wisdom of Jesus ben Sirach 1:1'")
expect(p.parse("Ecclesiasticus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclesiasticus 1:1'")
expect(p.parse("Ecclusiasticus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclusiasticus 1:1'")
expect(p.parse("Ben Sira 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ben Sira 1:1'")
expect(p.parse("Ecclus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclus 1:1'")
expect(p.parse("Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sirach 1:1'")
expect(p.parse("Eccs 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Eccs 1:1'")
expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'")
;
return true;
});
});
describe("Localized book Wis (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Wis (en)", function() {
expect(p.parse("The Wisdom of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'The Wisdom of Solomon 1:1'")
expect(p.parse("The Wisom of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'The Wisom of Solomon 1:1'")
expect(p.parse("The Wisd of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'The Wisd of Solomon 1:1'")
expect(p.parse("The Wis of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'The Wis of Solomon 1:1'")
expect(p.parse("Wisdom of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wisdom of Solomon 1:1'")
expect(p.parse("Wisom of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wisom of Solomon 1:1'")
expect(p.parse("Wisd of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wisd of Solomon 1:1'")
expect(p.parse("Wis of Solomon 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis of Solomon 1:1'")
expect(p.parse("Wisdom 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wisdom 1:1'")
expect(p.parse("Wisd 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wisd 1:1'")
expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'")
;
return true;
});
});
describe("Localized book Lam (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Lam (en)", function() {
expect(p.parse("Lamentations 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamentations 1:1'")
expect(p.parse("Lamintations 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamintations 1:1'")
expect(p.parse("Lamentation 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamentation 1:1'")
expect(p.parse("Lamintation 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamintation 1:1'")
expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'")
expect(p.parse("La 1:1").osis()).toEqual("Lam.1.1", "parsing: 'La 1:1'")
expect(p.parse("Lm 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lm 1:1'")
p.include_apocrypha(false)
expect(p.parse("LAMENTATIONS 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMENTATIONS 1:1'")
expect(p.parse("LAMINTATIONS 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMINTATIONS 1:1'")
expect(p.parse("LAMENTATION 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMENTATION 1:1'")
expect(p.parse("LAMINTATION 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMINTATION 1:1'")
expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'")
expect(p.parse("LA 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LA 1:1'")
expect(p.parse("LM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LM 1:1'")
;
return true;
});
});
describe("Localized book EpJer (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: EpJer (en)", function() {
expect(p.parse("The Epistle of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Epistle of Jeremiah 1:1'")
expect(p.parse("The Letter of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Letter of Jeremiah 1:1'")
expect(p.parse("The Let. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Let. of Jeremiah 1:1'")
expect(p.parse("Epistle of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Epistle of Jeremiah 1:1'")
expect(p.parse("The Ep. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Ep. of Jeremiah 1:1'")
expect(p.parse("The Let of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Let of Jeremiah 1:1'")
expect(p.parse("Letter of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Letter of Jeremiah 1:1'")
expect(p.parse("The Ep of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'The Ep of Jeremiah 1:1'")
expect(p.parse("Epistle of Jeremy 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Epistle of Jeremy 1:1'")
expect(p.parse("Let. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Let. of Jeremiah 1:1'")
expect(p.parse("Ep. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Ep. of Jeremiah 1:1'")
expect(p.parse("Let of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Let of Jeremiah 1:1'")
expect(p.parse("Ep of Jeremiah 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Ep of Jeremiah 1:1'")
expect(p.parse("Ep Jer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Ep Jer 1:1'")
expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'")
;
return true;
});
});
describe("Localized book Rev (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Rev (en)", function() {
expect(p.parse("Revalations 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revalations 1:1'")
expect(p.parse("Revelations 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revelations 1:1'")
expect(p.parse("Revolations 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revolations 1:1'")
expect(p.parse("Revalation 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revalation 1:1'")
expect(p.parse("Revelation 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revelation 1:1'")
expect(p.parse("Revlations 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revlations 1:1'")
expect(p.parse("Revolation 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revolation 1:1'")
expect(p.parse("Revlation 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revlation 1:1'")
expect(p.parse("Revel 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Revel 1:1'")
expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'")
expect(p.parse("Re 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Re 1:1'")
expect(p.parse("Rv 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rv 1:1'")
p.include_apocrypha(false)
expect(p.parse("REVALATIONS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVALATIONS 1:1'")
expect(p.parse("REVELATIONS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVELATIONS 1:1'")
expect(p.parse("REVOLATIONS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVOLATIONS 1:1'")
expect(p.parse("REVALATION 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVALATION 1:1'")
expect(p.parse("REVELATION 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVELATION 1:1'")
expect(p.parse("REVLATIONS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVLATIONS 1:1'")
expect(p.parse("REVOLATION 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVOLATION 1:1'")
expect(p.parse("REVLATION 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVLATION 1:1'")
expect(p.parse("REVEL 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REVEL 1:1'")
expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'")
expect(p.parse("RE 1:1").osis()).toEqual("Rev.1.1", "parsing: 'RE 1:1'")
expect(p.parse("RV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'RV 1:1'")
;
return true;
});
});
describe("Localized book PrMan (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: PrMan (en)", function() {
expect(p.parse("The Prayers of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Prayers of Manasseh 1:1'")
expect(p.parse("The Prayer of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Prayer of Manasseh 1:1'")
expect(p.parse("The Prayers Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Prayers Manasseh 1:1'")
expect(p.parse("Prayers of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Prayers of Manasseh 1:1'")
expect(p.parse("The Prayer Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Prayer Manasseh 1:1'")
expect(p.parse("Prayer of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Prayer of Manasseh 1:1'")
expect(p.parse("The Pr of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Pr of Manasseh 1:1'")
expect(p.parse("Prayers Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Prayers Manasseh 1:1'")
expect(p.parse("Prayer Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Prayer Manasseh 1:1'")
expect(p.parse("The Pr Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'The Pr Manasseh 1:1'")
expect(p.parse("Pr of Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Pr of Manasseh 1:1'")
expect(p.parse("Pr Manasseh 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Pr Manasseh 1:1'")
expect(p.parse("Pr Man 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Pr Man 1:1'")
expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'")
;
return true;
});
});
describe("Localized book Deut (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Deut (en)", function() {
expect(p.parse("Deeteronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deeteronomy 1:1'")
expect(p.parse("Deetoronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deetoronomy 1:1'")
expect(p.parse("Deuteronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronomy 1:1'")
expect(p.parse("Deutoronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deutoronomy 1:1'")
expect(p.parse("Dueteronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dueteronomy 1:1'")
expect(p.parse("Duetoronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duetoronomy 1:1'")
expect(p.parse("Duuteronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duuteronomy 1:1'")
expect(p.parse("Duutoronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duutoronomy 1:1'")
expect(p.parse("Deeteronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deeteronmy 1:1'")
expect(p.parse("Deetoronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deetoronmy 1:1'")
expect(p.parse("Deetronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deetronomy 1:1'")
expect(p.parse("Deuteronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronmy 1:1'")
expect(p.parse("Deutoronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deutoronmy 1:1'")
expect(p.parse("Deutronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deutronomy 1:1'")
expect(p.parse("Dueteronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dueteronmy 1:1'")
expect(p.parse("Duetoronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duetoronmy 1:1'")
expect(p.parse("Duetronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duetronomy 1:1'")
expect(p.parse("Duuteronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duuteronmy 1:1'")
expect(p.parse("Duutoronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duutoronmy 1:1'")
expect(p.parse("Duutronomy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duutronomy 1:1'")
expect(p.parse("Deetronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deetronmy 1:1'")
expect(p.parse("Deutronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deutronmy 1:1'")
expect(p.parse("Duetronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duetronmy 1:1'")
expect(p.parse("Duutronmy 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duutronmy 1:1'")
expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'")
expect(p.parse("Duet 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Duet 1:1'")
expect(p.parse("Deu 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deu 1:1'")
expect(p.parse("Dt 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dt 1:1'")
p.include_apocrypha(false)
expect(p.parse("DEETERONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETERONOMY 1:1'")
expect(p.parse("DEETORONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETORONOMY 1:1'")
expect(p.parse("DEUTERONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONOMY 1:1'")
expect(p.parse("DEUTORONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTORONOMY 1:1'")
expect(p.parse("DUETERONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETERONOMY 1:1'")
expect(p.parse("DUETORONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETORONOMY 1:1'")
expect(p.parse("DUUTERONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTERONOMY 1:1'")
expect(p.parse("DUUTORONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTORONOMY 1:1'")
expect(p.parse("DEETERONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETERONMY 1:1'")
expect(p.parse("DEETORONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETORONMY 1:1'")
expect(p.parse("DEETRONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETRONOMY 1:1'")
expect(p.parse("DEUTERONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONMY 1:1'")
expect(p.parse("DEUTORONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTORONMY 1:1'")
expect(p.parse("DEUTRONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTRONOMY 1:1'")
expect(p.parse("DUETERONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETERONMY 1:1'")
expect(p.parse("DUETORONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETORONMY 1:1'")
expect(p.parse("DUETRONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETRONOMY 1:1'")
expect(p.parse("DUUTERONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTERONMY 1:1'")
expect(p.parse("DUUTORONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTORONMY 1:1'")
expect(p.parse("DUUTRONOMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTRONOMY 1:1'")
expect(p.parse("DEETRONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEETRONMY 1:1'")
expect(p.parse("DEUTRONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTRONMY 1:1'")
expect(p.parse("DUETRONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUETRONMY 1:1'")
expect(p.parse("DUUTRONMY 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUUTRONMY 1:1'")
expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'")
expect(p.parse("DUET 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUET 1:1'")
expect(p.parse("DEU 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEU 1:1'")
expect(p.parse("DT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DT 1:1'")
;
return true;
});
});
describe("Localized book Josh (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Josh (en)", function() {
expect(p.parse("Joushua 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Joushua 1:1'")
expect(p.parse("Joshua 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Joshua 1:1'")
expect(p.parse("Jousua 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jousua 1:1'")
expect(p.parse("Josua 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josua 1:1'")
expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'")
expect(p.parse("Jos 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jos 1:1'")
expect(p.parse("Jsh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jsh 1:1'")
p.include_apocrypha(false)
expect(p.parse("JOUSHUA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOUSHUA 1:1'")
expect(p.parse("JOSHUA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSHUA 1:1'")
expect(p.parse("JOUSUA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOUSUA 1:1'")
expect(p.parse("JOSUA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSUA 1:1'")
expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'")
expect(p.parse("JOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOS 1:1'")
expect(p.parse("JSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JSH 1:1'")
;
return true;
});
});
describe("Localized book Judg (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Judg (en)", function() {
expect(p.parse("Judges 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judges 1:1'")
expect(p.parse("Jdgs 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Jdgs 1:1'")
expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'")
expect(p.parse("Jdg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Jdg 1:1'")
expect(p.parse("Jgs 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Jgs 1:1'")
expect(p.parse("Jg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Jg 1:1'")
p.include_apocrypha(false)
expect(p.parse("JUDGES 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDGES 1:1'")
expect(p.parse("JDGS 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JDGS 1:1'")
expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'")
expect(p.parse("JDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JDG 1:1'")
expect(p.parse("JGS 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JGS 1:1'")
expect(p.parse("JG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JG 1:1'")
;
return true;
});
});
describe("Localized book Ruth (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Ruth (en)", function() {
expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'")
expect(p.parse("Rth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rth 1:1'")
expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rut 1:1'")
expect(p.parse("Rt 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rt 1:1'")
expect(p.parse("Ru 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ru 1:1'")
p.include_apocrypha(false)
expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'")
expect(p.parse("RTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RTH 1:1'")
expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUT 1:1'")
expect(p.parse("RT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RT 1:1'")
expect(p.parse("RU 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RU 1:1'")
;
return true;
});
});
describe("Localized book 1Esd (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: 1Esd (en)", function() {
expect(p.parse("First Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'First Esdras 1:1'")
expect(p.parse("1st. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st. Esdras 1:1'")
expect(p.parse("1st Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st Esdras 1:1'")
expect(p.parse("First Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'First Esdr 1:1'")
expect(p.parse("1. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdras 1:1'")
expect(p.parse("1st. Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st. Esdr 1:1'")
expect(p.parse("First Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'First Esd 1:1'")
expect(p.parse("I. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdras 1:1'")
expect(p.parse("1 Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdras 1:1'")
expect(p.parse("1st Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st Esdr 1:1'")
expect(p.parse("1st. Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st. Esd 1:1'")
expect(p.parse("I Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdras 1:1'")
expect(p.parse("1. Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdr 1:1'")
expect(p.parse("1st Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1st Esd 1:1'")
expect(p.parse("I. Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdr 1:1'")
expect(p.parse("1 Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdr 1:1'")
expect(p.parse("1. Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esd 1:1'")
expect(p.parse("I Esdr 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdr 1:1'")
expect(p.parse("I. Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esd 1:1'")
expect(p.parse("1 Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esd 1:1'")
expect(p.parse("I Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esd 1:1'")
expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'")
;
return true;
});
});
describe("Localized book 2Esd (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: 2Esd (en)", function() {
expect(p.parse("Second Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Second Esdras 1:1'")
expect(p.parse("2nd. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd. Esdras 1:1'")
expect(p.parse("Second Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Second Esdr 1:1'")
expect(p.parse("2nd Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd Esdras 1:1'")
expect(p.parse("II. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdras 1:1'")
expect(p.parse("Second Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Second Esd 1:1'")
expect(p.parse("2. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdras 1:1'")
expect(p.parse("2nd. Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd. Esdr 1:1'")
expect(p.parse("II Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdras 1:1'")
expect(p.parse("2 Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdras 1:1'")
expect(p.parse("2nd Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd Esdr 1:1'")
expect(p.parse("2nd. Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd. Esd 1:1'")
expect(p.parse("II. Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdr 1:1'")
expect(p.parse("2. Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdr 1:1'")
expect(p.parse("2nd Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2nd Esd 1:1'")
expect(p.parse("II Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdr 1:1'")
expect(p.parse("II. Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esd 1:1'")
expect(p.parse("2 Esdr 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdr 1:1'")
expect(p.parse("2. Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esd 1:1'")
expect(p.parse("II Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esd 1:1'")
expect(p.parse("2 Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esd 1:1'")
expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'")
;
return true;
});
});
describe("Localized book Isa (en)", function() {
var p;
p = {};
beforeEach(function() {
p = new bcv_parser();
p.set_options({
book_alone_strategy: "ignore",
book_sequence_strategy: "ignore",
osis_compaction_strategy: "bc",
captive_end_digits_strategy: "delete"
});
return p.include_apocrypha(true);
});
return it("should handle book: Isa (en)", function() {
expect(p.parse("Isaaaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaaaha 1:1'")
expect(p.parse("Isaaaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaaiha 1:1'")
expect(p.parse("Isaaiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaiaha 1:1'")
expect(p.parse("Isaaiiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaiiha 1:1'")
expect(p.parse("Isaiaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiaaha 1:1'")
expect(p.parse("Isaiaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiaiha 1:1'")
expect(p.parse("Isaiiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiiaha 1:1'")
expect(p.parse("Isaiiiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiiiha 1:1'")
expect(p.parse("Isiaaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaaaha 1:1'")
expect(p.parse("Isiaaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaaiha 1:1'")
expect(p.parse("Isiaiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaiaha 1:1'")
expect(p.parse("Isiaiiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaiiha 1:1'")
expect(p.parse("Isiiaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiaaha 1:1'")
expect(p.parse("Isiiaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiaiha 1:1'")
expect(p.parse("Isiiiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiiaha 1:1'")
expect(p.parse("Isiiiiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiiiha 1:1'")
expect(p.parse("Isaaaah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaaah 1:1'")
expect(p.parse("Isaaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaaha 1:1'")
expect(p.parse("Isaaaih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaaih 1:1'")
expect(p.parse("Isaaiah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaiah 1:1'")
expect(p.parse("Isaaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaiha 1:1'")
expect(p.parse("Isaaiih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaaiih 1:1'")
expect(p.parse("Isaiaah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiaah 1:1'")
expect(p.parse("Isaiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiaha 1:1'")
expect(p.parse("Isaiaih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiaih 1:1'")
expect(p.parse("Isaiiah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiiah 1:1'")
expect(p.parse("Isaiiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiiha 1:1'")
expect(p.parse("Isaiiih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaiiih 1:1'")
expect(p.parse("Isaisha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaisha 1:1'")
expect(p.parse("Isiaaah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaaah 1:1'")
expect(p.parse("Isiaaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaaha 1:1'")
expect(p.parse("Isiaaih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaaih 1:1'")
expect(p.parse("Isiaiah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaiah 1:1'")
expect(p.parse("Isiaiha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaiha 1:1'")
expect(p.parse("Isiaiih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiaiih 1:1'")
expect(p.parse("Isiiaah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiaah 1:1'")
expect(p.parse("Isiiaha 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiaha 1:1'")
expect(p.parse("Isiiaih 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiaih 1:1'")
expect(p.parse("Isiiiah 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isiiiah 1:1'")
expect(p.parse