UNPKG

bible-ref-parse

Version:

Identifies and parses Bible references (like John 3:16) in over 40 languages.

996 lines (961 loc) 143 kB
(function() { var bcv_parser; bcv_parser = require("../../dist/it-bcv-parser.js").bcv_parser; describe("Parsing (it)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.options.osis_compaction_strategy = "b"; p.options.sequence_combination_strategy = "combine"; }); it("should round-trip OSIS references", function() { var bc, bcv, bcv_range, book, books, i, len; 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"]; 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); } }); it("should round-trip OSIS Apocrypha references", function() { var bc, bcv, bcv_range, book, books, i, j, len, len1; 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); for (j = 0, len1 = books.length; j < len1; j++) { book = books[j]; bc = book + ".1"; expect(p.parse(bc).osis()).toEqual(""); } }); 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(""); expect(p.parse("11Sam 1").osis()).toEqual(""); }); }); describe("Localized book Gen (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Gen (it)", function() { expect(p.parse("Genesi 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesi 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'"); p.include_apocrypha(false); expect(p.parse("GENESI 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESI 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'"); }); }); describe("Localized book Exod (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Exod (it)", function() { expect(p.parse("Esodo 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Esodo 1:1'"); expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'"); expect(p.parse("Es 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Es 1:1'"); p.include_apocrypha(false); expect(p.parse("ESODO 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ESODO 1:1'"); expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'"); expect(p.parse("ES 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ES 1:1'"); }); }); describe("Localized book Bel (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Bel (it)", function() { expect(p.parse("Bel e il Drago 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel e il Drago 1:1'"); expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'"); }); }); describe("Localized book Lev (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Lev (it)", function() { expect(p.parse("Levitico 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levitico 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("LEVITICO 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITICO 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'"); }); }); describe("Localized book Num (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Num (it)", function() { expect(p.parse("Numeri 1:1").osis()).toEqual("Num.1.1", "parsing: 'Numeri 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("NUMERI 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUMERI 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'"); }); }); describe("Localized book Sir (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Sir (it)", function() { expect(p.parse("Sapienza di Siracide 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sapienza di Siracide 1:1'"); expect(p.parse("Sapienza di Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sapienza di Sirach 1:1'"); expect(p.parse("Ecclesiastico 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclesiastico 1:1'"); expect(p.parse("Siracide 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Siracide 1:1'"); expect(p.parse("Siràcide 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Siràcide 1:1'"); expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'"); }); }); describe("Localized book Wis (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Wis (it)", function() { expect(p.parse("Sapienza di Salomone 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sapienza di Salomone 1:1'"); expect(p.parse("Sapienza 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sapienza 1:1'"); expect(p.parse("Sap 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sap 1:1'"); expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'"); }); }); describe("Localized book Lam (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Lam (it)", function() { expect(p.parse("Lamentazioni 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamentazioni 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'"); p.include_apocrypha(false); expect(p.parse("LAMENTAZIONI 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMENTAZIONI 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'"); }); }); describe("Localized book EpJer (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: EpJer (it)", function() { expect(p.parse("Lettera di Geremia 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Lettera di Geremia 1:1'"); expect(p.parse("Let-ger 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Let-ger 1:1'"); expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'"); }); }); describe("Localized book Rev (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Rev (it)", function() { expect(p.parse("Apocalisse di Giovanni 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apocalisse di Giovanni 1:1'"); expect(p.parse("Rivelazione 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rivelazione 1:1'"); expect(p.parse("Apocalisse 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apocalisse 1:1'"); expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'"); expect(p.parse("Riv 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Riv 1:1'"); expect(p.parse("Ap 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ap 1:1'"); p.include_apocrypha(false); expect(p.parse("APOCALISSE DI GIOVANNI 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOCALISSE DI GIOVANNI 1:1'"); expect(p.parse("RIVELAZIONE 1:1").osis()).toEqual("Rev.1.1", "parsing: 'RIVELAZIONE 1:1'"); expect(p.parse("APOCALISSE 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOCALISSE 1:1'"); expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'"); expect(p.parse("RIV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'RIV 1:1'"); expect(p.parse("AP 1:1").osis()).toEqual("Rev.1.1", "parsing: 'AP 1:1'"); }); }); describe("Localized book PrMan (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: PrMan (it)", function() { expect(p.parse("Orazione di Manasse Re di Giuda 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Orazione di Manasse Re di Giuda 1:1'"); expect(p.parse("Preghiera di Manasse 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Preghiera di Manasse 1:1'"); expect(p.parse("Orazione di Manasse 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Orazione di Manasse 1:1'"); expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'"); }); }); describe("Localized book Deut (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Deut (it)", function() { expect(p.parse("Deuteronomio 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronomio 1:1'"); expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'"); expect(p.parse("De 1:1").osis()).toEqual("Deut.1.1", "parsing: 'De 1:1'"); expect(p.parse("Dt 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dt 1:1'"); p.include_apocrypha(false); expect(p.parse("DEUTERONOMIO 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONOMIO 1:1'"); expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'"); expect(p.parse("DE 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DE 1:1'"); expect(p.parse("DT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DT 1:1'"); }); }); describe("Localized book Josh (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Josh (it)", function() { expect(p.parse("Giosue 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Giosue 1:1'"); expect(p.parse("Giosuè 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Giosuè 1:1'"); expect(p.parse("Giosué 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Giosué 1:1'"); expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'"); expect(p.parse("Gs 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Gs 1:1'"); p.include_apocrypha(false); expect(p.parse("GIOSUE 1:1").osis()).toEqual("Josh.1.1", "parsing: 'GIOSUE 1:1'"); expect(p.parse("GIOSUÈ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'GIOSUÈ 1:1'"); expect(p.parse("GIOSUÉ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'GIOSUÉ 1:1'"); expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'"); expect(p.parse("GS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'GS 1:1'"); }); }); describe("Localized book Judg (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Judg (it)", function() { expect(p.parse("Giudici 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Giudici 1:1'"); expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'"); expect(p.parse("Gdc 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Gdc 1:1'"); p.include_apocrypha(false); expect(p.parse("GIUDICI 1:1").osis()).toEqual("Judg.1.1", "parsing: 'GIUDICI 1:1'"); expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'"); expect(p.parse("GDC 1:1").osis()).toEqual("Judg.1.1", "parsing: 'GDC 1:1'"); }); }); describe("Localized book Ruth (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Ruth (it)", function() { expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 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("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'"); }); }); describe("Localized book 1Esd (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 1Esd (it)", function() { expect(p.parse("Prima Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Prima Esdras 1:1'"); expect(p.parse("Prima Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Prima Ésdras 1:1'"); expect(p.parse("Primo Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Primo Esdras 1:1'"); expect(p.parse("Primo Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Primo Ésdras 1:1'"); expect(p.parse("Esdra greco 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Esdra greco 1:1'"); expect(p.parse("Prima Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Prima Esdra 1:1'"); expect(p.parse("Primo Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Primo Esdra 1:1'"); expect(p.parse("Terza Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Terza Esdra 1:1'"); expect(p.parse("Terzo Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Terzo Esdra 1:1'"); expect(p.parse("1°. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1°. Esdras 1:1'"); expect(p.parse("1°. Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1°. Ésdras 1:1'"); expect(p.parse("III. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'III. Esdra 1:1'"); expect(p.parse("1. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdras 1:1'"); expect(p.parse("1. Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Ésdras 1:1'"); expect(p.parse("1° Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1° Esdras 1:1'"); expect(p.parse("1° Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1° Ésdras 1:1'"); expect(p.parse("1°. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1°. Esdra 1:1'"); expect(p.parse("3°. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3°. Esdra 1:1'"); expect(p.parse("I. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdras 1:1'"); expect(p.parse("I. Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Ésdras 1:1'"); expect(p.parse("III Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'III Esdra 1:1'"); expect(p.parse("1 Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdras 1:1'"); expect(p.parse("1 Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Ésdras 1:1'"); expect(p.parse("1. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdra 1:1'"); expect(p.parse("1° Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1° Esdra 1:1'"); expect(p.parse("3. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3. Esdra 1:1'"); expect(p.parse("3° Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3° Esdra 1:1'"); expect(p.parse("I Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdras 1:1'"); expect(p.parse("I Ésdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Ésdras 1:1'"); expect(p.parse("I. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdra 1:1'"); expect(p.parse("1 Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdra 1:1'"); expect(p.parse("3 Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3 Esdra 1:1'"); expect(p.parse("I Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdra 1:1'"); expect(p.parse("1 Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esd 1:1'"); expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'"); }); }); describe("Localized book 2Esd (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 2Esd (it)", function() { expect(p.parse("Seconda Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Seconda Esdras 1:1'"); expect(p.parse("Seconda Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Seconda Ésdras 1:1'"); expect(p.parse("Secondo Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Secondo Esdras 1:1'"); expect(p.parse("Secondo Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Secondo Ésdras 1:1'"); expect(p.parse("Seconda Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Seconda Esdra 1:1'"); expect(p.parse("Secondo Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Secondo Esdra 1:1'"); expect(p.parse("Quarta Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Quarta Esdra 1:1'"); expect(p.parse("Quarto Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Quarto Esdra 1:1'"); expect(p.parse("2°. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2°. Esdras 1:1'"); expect(p.parse("2°. Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2°. Ésdras 1:1'"); expect(p.parse("II. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdras 1:1'"); expect(p.parse("II. Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Ésdras 1:1'"); expect(p.parse("2. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdras 1:1'"); expect(p.parse("2. Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Ésdras 1:1'"); expect(p.parse("2° Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2° Esdras 1:1'"); expect(p.parse("2° Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2° Ésdras 1:1'"); expect(p.parse("2°. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2°. Esdra 1:1'"); expect(p.parse("4°. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4°. Esdra 1:1'"); expect(p.parse("II Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdras 1:1'"); expect(p.parse("II Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Ésdras 1:1'"); expect(p.parse("II. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdra 1:1'"); expect(p.parse("IV. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'IV. Esdra 1:1'"); expect(p.parse("2 Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdras 1:1'"); expect(p.parse("2 Ésdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Ésdras 1:1'"); expect(p.parse("2. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdra 1:1'"); expect(p.parse("2° Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2° Esdra 1:1'"); expect(p.parse("4. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4. Esdra 1:1'"); expect(p.parse("4° Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4° Esdra 1:1'"); expect(p.parse("II Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdra 1:1'"); expect(p.parse("IV Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'IV Esdra 1:1'"); expect(p.parse("2 Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdra 1:1'"); expect(p.parse("4 Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4 Esdra 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'"); }); }); describe("Localized book Isa (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Isa (it)", function() { expect(p.parse("Isaia 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaia 1:1'"); expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'"); expect(p.parse("Is 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Is 1:1'"); p.include_apocrypha(false); expect(p.parse("ISAIA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISAIA 1:1'"); expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'"); expect(p.parse("IS 1:1").osis()).toEqual("Isa.1.1", "parsing: 'IS 1:1'"); }); }); describe("Localized book 2Sam (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 2Sam (it)", function() { expect(p.parse("Seconda Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Seconda Samuele 1:1'"); expect(p.parse("Secondo Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Secondo Samuele 1:1'"); expect(p.parse("2°. Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2°. Samuele 1:1'"); expect(p.parse("II. Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Samuele 1:1'"); expect(p.parse("2. Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samuele 1:1'"); expect(p.parse("2° Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2° Samuele 1:1'"); expect(p.parse("II Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Samuele 1:1'"); expect(p.parse("2 Samuele 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samuele 1:1'"); expect(p.parse("2 Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Sam 1:1'"); expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'"); expect(p.parse("2 S 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 S 1:1'"); p.include_apocrypha(false); expect(p.parse("SECONDA SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'SECONDA SAMUELE 1:1'"); expect(p.parse("SECONDO SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'SECONDO SAMUELE 1:1'"); expect(p.parse("2°. SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2°. SAMUELE 1:1'"); expect(p.parse("II. SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. SAMUELE 1:1'"); expect(p.parse("2. SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMUELE 1:1'"); expect(p.parse("2° SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2° SAMUELE 1:1'"); expect(p.parse("II SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II SAMUELE 1:1'"); expect(p.parse("2 SAMUELE 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMUELE 1:1'"); expect(p.parse("2 SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAM 1:1'"); expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'"); expect(p.parse("2 S 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 S 1:1'"); }); }); describe("Localized book 1Sam (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 1Sam (it)", function() { expect(p.parse("Prima Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Prima Samuele 1:1'"); expect(p.parse("Primo Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Primo Samuele 1:1'"); expect(p.parse("1°. Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1°. Samuele 1:1'"); expect(p.parse("1. Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuele 1:1'"); expect(p.parse("1° Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1° Samuele 1:1'"); expect(p.parse("I. Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Samuele 1:1'"); expect(p.parse("1 Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuele 1:1'"); expect(p.parse("I Samuele 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Samuele 1:1'"); expect(p.parse("1 Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Sam 1:1'"); expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'"); expect(p.parse("1 S 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 S 1:1'"); p.include_apocrypha(false); expect(p.parse("PRIMA SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'PRIMA SAMUELE 1:1'"); expect(p.parse("PRIMO SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'PRIMO SAMUELE 1:1'"); expect(p.parse("1°. SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1°. SAMUELE 1:1'"); expect(p.parse("1. SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUELE 1:1'"); expect(p.parse("1° SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1° SAMUELE 1:1'"); expect(p.parse("I. SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. SAMUELE 1:1'"); expect(p.parse("1 SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUELE 1:1'"); expect(p.parse("I SAMUELE 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I SAMUELE 1:1'"); expect(p.parse("1 SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAM 1:1'"); expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'"); expect(p.parse("1 S 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 S 1:1'"); }); }); describe("Localized book 2Kgs (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 2Kgs (it)", function() { expect(p.parse("Seconda Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Seconda Re 1:1'"); expect(p.parse("Secondo Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Secondo Re 1:1'"); expect(p.parse("2°. Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2°. Re 1:1'"); expect(p.parse("II. Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. Re 1:1'"); expect(p.parse("2. Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Re 1:1'"); expect(p.parse("2° Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2° Re 1:1'"); expect(p.parse("II Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II Re 1:1'"); expect(p.parse("2 Re 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Re 1:1'"); expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'"); expect(p.parse("2 R 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 R 1:1'"); p.include_apocrypha(false); expect(p.parse("SECONDA RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'SECONDA RE 1:1'"); expect(p.parse("SECONDO RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'SECONDO RE 1:1'"); expect(p.parse("2°. RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2°. RE 1:1'"); expect(p.parse("II. RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. RE 1:1'"); expect(p.parse("2. RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. RE 1:1'"); expect(p.parse("2° RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2° RE 1:1'"); expect(p.parse("II RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II RE 1:1'"); expect(p.parse("2 RE 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 RE 1:1'"); expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'"); expect(p.parse("2 R 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 R 1:1'"); }); }); describe("Localized book 1Kgs (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 1Kgs (it)", function() { expect(p.parse("Prima Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Prima Re 1:1'"); expect(p.parse("Primo Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Primo Re 1:1'"); expect(p.parse("1°. Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1°. Re 1:1'"); expect(p.parse("1. Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Re 1:1'"); expect(p.parse("1° Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1° Re 1:1'"); expect(p.parse("I. Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. Re 1:1'"); expect(p.parse("1 Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Re 1:1'"); expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'"); expect(p.parse("I Re 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I Re 1:1'"); expect(p.parse("1 R 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 R 1:1'"); p.include_apocrypha(false); expect(p.parse("PRIMA RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'PRIMA RE 1:1'"); expect(p.parse("PRIMO RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'PRIMO RE 1:1'"); expect(p.parse("1°. RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1°. RE 1:1'"); expect(p.parse("1. RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. RE 1:1'"); expect(p.parse("1° RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1° RE 1:1'"); expect(p.parse("I. RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. RE 1:1'"); expect(p.parse("1 RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 RE 1:1'"); expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'"); expect(p.parse("I RE 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I RE 1:1'"); expect(p.parse("1 R 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 R 1:1'"); }); }); describe("Localized book 2Chr (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 2Chr (it)", function() { expect(p.parse("Seconda Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Seconda Cronache 1:1'"); expect(p.parse("Secondo Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Secondo Cronache 1:1'"); expect(p.parse("2°. Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2°. Cronache 1:1'"); expect(p.parse("II. Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. Cronache 1:1'"); expect(p.parse("2. Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Cronache 1:1'"); expect(p.parse("2° Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2° Cronache 1:1'"); expect(p.parse("II Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II Cronache 1:1'"); expect(p.parse("2 Cronache 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Cronache 1:1'"); expect(p.parse("2 Cr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Cr 1:1'"); expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'"); p.include_apocrypha(false); expect(p.parse("SECONDA CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'SECONDA CRONACHE 1:1'"); expect(p.parse("SECONDO CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'SECONDO CRONACHE 1:1'"); expect(p.parse("2°. CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2°. CRONACHE 1:1'"); expect(p.parse("II. CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. CRONACHE 1:1'"); expect(p.parse("2. CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. CRONACHE 1:1'"); expect(p.parse("2° CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2° CRONACHE 1:1'"); expect(p.parse("II CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II CRONACHE 1:1'"); expect(p.parse("2 CRONACHE 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 CRONACHE 1:1'"); expect(p.parse("2 CR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 CR 1:1'"); expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'"); }); }); describe("Localized book 1Chr (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: 1Chr (it)", function() { expect(p.parse("Prima Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Prima Cronache 1:1'"); expect(p.parse("Primo Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Primo Cronache 1:1'"); expect(p.parse("1°. Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1°. Cronache 1:1'"); expect(p.parse("1. Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Cronache 1:1'"); expect(p.parse("1° Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1° Cronache 1:1'"); expect(p.parse("I. Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. Cronache 1:1'"); expect(p.parse("1 Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Cronache 1:1'"); expect(p.parse("I Cronache 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I Cronache 1:1'"); expect(p.parse("1 Cr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Cr 1:1'"); expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'"); p.include_apocrypha(false); expect(p.parse("PRIMA CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'PRIMA CRONACHE 1:1'"); expect(p.parse("PRIMO CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'PRIMO CRONACHE 1:1'"); expect(p.parse("1°. CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1°. CRONACHE 1:1'"); expect(p.parse("1. CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. CRONACHE 1:1'"); expect(p.parse("1° CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1° CRONACHE 1:1'"); expect(p.parse("I. CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. CRONACHE 1:1'"); expect(p.parse("1 CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 CRONACHE 1:1'"); expect(p.parse("I CRONACHE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I CRONACHE 1:1'"); expect(p.parse("1 CR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 CR 1:1'"); expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'"); }); }); describe("Localized book Ezra (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Ezra (it)", function() { expect(p.parse("Esdra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esdra 1:1'"); expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'"); expect(p.parse("Esd 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esd 1:1'"); expect(p.parse("Ed 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ed 1:1'"); p.include_apocrypha(false); expect(p.parse("ESDRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESDRA 1:1'"); expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'"); expect(p.parse("ESD 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESD 1:1'"); expect(p.parse("ED 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ED 1:1'"); }); }); describe("Localized book Neh (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Neh (it)", function() { expect(p.parse("Neemia 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neemia 1:1'"); expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'"); expect(p.parse("Ne 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Ne 1:1'"); p.include_apocrypha(false); expect(p.parse("NEEMIA 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEEMIA 1:1'"); expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'"); expect(p.parse("NE 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NE 1:1'"); }); }); describe("Localized book GkEsth (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: GkEsth (it)", function() { expect(p.parse("Ester \(versione greca\) 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Ester \(versione greca\) 1:1'"); expect(p.parse("Ester \(greco\) 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Ester \(greco\) 1:1'"); expect(p.parse("Ester greco 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Ester greco 1:1'"); expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'"); }); }); describe("Localized book Esth (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Esth (it)", function() { expect(p.parse("Ester 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Ester 1:1'"); expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'"); expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Est 1:1'"); expect(p.parse("Et 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Et 1:1'"); p.include_apocrypha(false); expect(p.parse("ESTER 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTER 1:1'"); expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'"); expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1", "parsing: 'EST 1:1'"); expect(p.parse("ET 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ET 1:1'"); }); }); describe("Localized book Job (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Job (it)", function() { expect(p.parse("Giobbe 1:1").osis()).toEqual("Job.1.1", "parsing: 'Giobbe 1:1'"); expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'"); expect(p.parse("Gb 1:1").osis()).toEqual("Job.1.1", "parsing: 'Gb 1:1'"); p.include_apocrypha(false); expect(p.parse("GIOBBE 1:1").osis()).toEqual("Job.1.1", "parsing: 'GIOBBE 1:1'"); expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'"); expect(p.parse("GB 1:1").osis()).toEqual("Job.1.1", "parsing: 'GB 1:1'"); }); }); describe("Localized book Ps (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Ps (it)", function() { expect(p.parse("Salmi 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salmi 1:1'"); expect(p.parse("Salmo 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salmo 1:1'"); expect(p.parse("Sal 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Sal 1:1'"); expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'"); expect(p.parse("Sl 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Sl 1:1'"); p.include_apocrypha(false); expect(p.parse("SALMI 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALMI 1:1'"); expect(p.parse("SALMO 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALMO 1:1'"); expect(p.parse("SAL 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SAL 1:1'"); expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'"); expect(p.parse("SL 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SL 1:1'"); }); }); describe("Localized book PrAzar (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: PrAzar (it)", function() { expect(p.parse("Preghiera di Azaria 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'Preghiera di Azaria 1:1'"); expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'"); }); }); describe("Localized book Prov (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Prov (it)", function() { expect(p.parse("Proverbi 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Proverbi 1:1'"); expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'"); expect(p.parse("Pr 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Pr 1:1'"); p.include_apocrypha(false); expect(p.parse("PROVERBI 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROVERBI 1:1'"); expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'"); expect(p.parse("PR 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PR 1:1'"); }); }); describe("Localized book Eccl (it)", 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" }); p.include_apocrypha(true); }); it("should handle book: Eccl (it)", function() { expect(p.parse("Ecclesiaste 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Ecclesiaste 1:1'"); expect(p.parse("Qohelet 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Qo