UNPKG

bible-ref-parse

Version:

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

877 lines (835 loc) 278 kB
(function() { var bcv_parser; bcv_parser = require("../../dist/bg-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 (bg)", 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 (bg)", function() { expect(p.parse("Първа книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Първа книга Моисеева 1:1'") expect(p.parse("Първа Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Първа Моисеева 1:1'") expect(p.parse("Първо Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Първо Моисеева 1:1'") expect(p.parse("1. Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. Моисеева 1:1'") expect(p.parse("I. Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. Моисеева 1:1'") expect(p.parse("1 Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 Моисеева 1:1'") expect(p.parse("I Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I Моисеева 1:1'") expect(p.parse("Битие 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Битие 1:1'") expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'") expect(p.parse("Бит 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Бит 1:1'") p.include_apocrypha(false) expect(p.parse("ПЪРВА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЪРВА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ПЪРВА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЪРВА МОИСЕЕВА 1:1'") expect(p.parse("ПЪРВО МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЪРВО МОИСЕЕВА 1:1'") expect(p.parse("1. МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. МОИСЕЕВА 1:1'") expect(p.parse("I. МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. МОИСЕЕВА 1:1'") expect(p.parse("1 МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 МОИСЕЕВА 1:1'") expect(p.parse("I МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I МОИСЕЕВА 1:1'") expect(p.parse("БИТИЕ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'БИТИЕ 1:1'") expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'") expect(p.parse("БИТ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'БИТ 1:1'") ; return true; }); }); describe("Localized book Exod (bg)", 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 (bg)", function() { expect(p.parse("Втора книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Втора книга Моисеева 1:1'") expect(p.parse("Втора Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Втора Моисеева 1:1'") expect(p.parse("Второ Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Второ Моисеева 1:1'") expect(p.parse("II. Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. Моисеева 1:1'") expect(p.parse("2. Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. Моисеева 1:1'") expect(p.parse("II Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II Моисеева 1:1'") expect(p.parse("2 Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 Моисеева 1:1'") expect(p.parse("Изход 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Изход 1:1'") expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'") expect(p.parse("Изх 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Изх 1:1'") p.include_apocrypha(false) expect(p.parse("ВТОРА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ВТОРА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ВТОРА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ВТОРА МОИСЕЕВА 1:1'") expect(p.parse("ВТОРО МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ВТОРО МОИСЕЕВА 1:1'") expect(p.parse("II. МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. МОИСЕЕВА 1:1'") expect(p.parse("2. МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. МОИСЕЕВА 1:1'") expect(p.parse("II МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II МОИСЕЕВА 1:1'") expect(p.parse("2 МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 МОИСЕЕВА 1:1'") expect(p.parse("ИЗХОД 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ИЗХОД 1:1'") expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'") expect(p.parse("ИЗХ 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ИЗХ 1:1'") ; return true; }); }); describe("Localized book Bel (bg)", 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 (bg)", function() { expect(p.parse("Вил и змеят 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Вил и змеят 1:1'") expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'") expect(p.parse("Бел 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Бел 1:1'") expect(p.parse("Вил 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Вил 1:1'") ; return true; }); }); describe("Localized book Lev (bg)", 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 (bg)", function() { expect(p.parse("Трета книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трета книга Моисеева 1:1'") expect(p.parse("Трета Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трета Моисеева 1:1'") expect(p.parse("Трето Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трето Моисеева 1:1'") expect(p.parse("III. Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. Моисеева 1:1'") expect(p.parse("III Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III Моисеева 1:1'") expect(p.parse("3. Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. Моисеева 1:1'") expect(p.parse("3 Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 Моисеева 1:1'") expect(p.parse("Левит 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Левит 1:1'") expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'") expect(p.parse("Лев 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Лев 1:1'") p.include_apocrypha(false) expect(p.parse("ТРЕТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ТРЕТА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТА МОИСЕЕВА 1:1'") expect(p.parse("ТРЕТО МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТО МОИСЕЕВА 1:1'") expect(p.parse("III. МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. МОИСЕЕВА 1:1'") expect(p.parse("III МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III МОИСЕЕВА 1:1'") expect(p.parse("3. МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. МОИСЕЕВА 1:1'") expect(p.parse("3 МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 МОИСЕЕВА 1:1'") expect(p.parse("ЛЕВИТ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ЛЕВИТ 1:1'") expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'") expect(p.parse("ЛЕВ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ЛЕВ 1:1'") ; return true; }); }); describe("Localized book Num (bg)", 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 (bg)", function() { expect(p.parse("Четвърта книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четвърта книга Моисеева 1:1'") expect(p.parse("Четвърта Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четвърта Моисеева 1:1'") expect(p.parse("Четвърто Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четвърто Моисеева 1:1'") expect(p.parse("IV. Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. Моисеева 1:1'") expect(p.parse("4. Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4. Моисеева 1:1'") expect(p.parse("IV Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV Моисеева 1:1'") expect(p.parse("4 Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4 Моисеева 1:1'") expect(p.parse("Числа 1:1").osis()).toEqual("Num.1.1", "parsing: 'Числа 1:1'") expect(p.parse("Числ 1:1").osis()).toEqual("Num.1.1", "parsing: 'Числ 1:1'") expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'") expect(p.parse("Чис 1:1").osis()).toEqual("Num.1.1", "parsing: 'Чис 1:1'") p.include_apocrypha(false) expect(p.parse("ЧЕТВЪРТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВЪРТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ЧЕТВЪРТА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВЪРТА МОИСЕЕВА 1:1'") expect(p.parse("ЧЕТВЪРТО МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВЪРТО МОИСЕЕВА 1:1'") expect(p.parse("IV. МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. МОИСЕЕВА 1:1'") expect(p.parse("4. МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4. МОИСЕЕВА 1:1'") expect(p.parse("IV МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV МОИСЕЕВА 1:1'") expect(p.parse("4 МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4 МОИСЕЕВА 1:1'") expect(p.parse("ЧИСЛА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧИСЛА 1:1'") expect(p.parse("ЧИСЛ 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧИСЛ 1:1'") expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'") expect(p.parse("ЧИС 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧИС 1:1'") ; return true; }); }); describe("Localized book Sir (bg)", 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 (bg)", function() { expect(p.parse("Книга Премъдрост на Иисуса, син Сирахов 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Книга Премъдрост на Иисуса, син Сирахов 1:1'") expect(p.parse("Премъдрост на Иисус, син Сирахов 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Премъдрост на Иисус, син Сирахов 1:1'") expect(p.parse("Книга на Сирах 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Книга на Сирах 1:1'") expect(p.parse("Сирахов 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сирахов 1:1'") expect(p.parse("Сирах 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сирах 1:1'") expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'") expect(p.parse("Сир 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сир 1:1'") ; return true; }); }); describe("Localized book Wis (bg)", 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 (bg)", function() { expect(p.parse("Книга Премъдрост Соломонова 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Книга Премъдрост Соломонова 1:1'") expect(p.parse("Премъдрост Соломонова 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Премъдрост Соломонова 1:1'") expect(p.parse("Премъдрост на Соломон 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Премъдрост на Соломон 1:1'") expect(p.parse("Книга на мъдростта 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Книга на мъдростта 1:1'") expect(p.parse("Премъдрост 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Премъдрост 1:1'") expect(p.parse("Прем 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Прем 1:1'") expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'") ; return true; }); }); describe("Localized book Lam (bg)", 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 (bg)", function() { expect(p.parse("Книга Плач Иеремиев 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Книга Плач Иеремиев 1:1'") expect(p.parse("Плачът на Иеремия 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плачът на Иеремия 1:1'") expect(p.parse("Плачът на Йеремия 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плачът на Йеремия 1:1'") expect(p.parse("Плачът на Еремия 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плачът на Еремия 1:1'") expect(p.parse("Плач Иеремиев 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач Иеремиев 1:1'") expect(p.parse("Плач Еремиев 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач Еремиев 1:1'") expect(p.parse("Плач Иер 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач Иер 1:1'") expect(p.parse("П. Иер 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П. Иер 1:1'") expect(p.parse("П. Йер 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П. Йер 1:1'") expect(p.parse("П Иер 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П Иер 1:1'") expect(p.parse("П Йер 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П Йер 1:1'") expect(p.parse("Плач 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач 1:1'") expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА ПЛАЧ ИЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'КНИГА ПЛАЧ ИЕРЕМИЕВ 1:1'") expect(p.parse("ПЛАЧЪТ НА ИЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧЪТ НА ИЕРЕМИЯ 1:1'") expect(p.parse("ПЛАЧЪТ НА ЙЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧЪТ НА ЙЕРЕМИЯ 1:1'") expect(p.parse("ПЛАЧЪТ НА ЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧЪТ НА ЕРЕМИЯ 1:1'") expect(p.parse("ПЛАЧ ИЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ ИЕРЕМИЕВ 1:1'") expect(p.parse("ПЛАЧ ЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ ЕРЕМИЕВ 1:1'") expect(p.parse("ПЛАЧ ИЕР 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ ИЕР 1:1'") expect(p.parse("П. ИЕР 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П. ИЕР 1:1'") expect(p.parse("П. ЙЕР 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П. ЙЕР 1:1'") expect(p.parse("П ИЕР 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П ИЕР 1:1'") expect(p.parse("П ЙЕР 1:1").osis()).toEqual("Lam.1.1", "parsing: 'П ЙЕР 1:1'") expect(p.parse("ПЛАЧ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ 1:1'") expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'") ; return true; }); }); describe("Localized book EpJer (bg)", 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 (bg)", function() { expect(p.parse("Послание на Иеремия 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Послание на Иеремия 1:1'") expect(p.parse("Послание на Йеремия 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Послание на Йеремия 1:1'") expect(p.parse("Поел. Иер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Поел. Иер 1:1'") expect(p.parse("Поел Иер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Поел Иер 1:1'") expect(p.parse("Пос. Иер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Пос. Иер 1:1'") expect(p.parse("Пос. Йер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Пос. Йер 1:1'") expect(p.parse("Пос Иер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Пос Иер 1:1'") expect(p.parse("Пос Йер 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Пос Йер 1:1'") expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'") ; return true; }); }); describe("Localized book Rev (bg)", 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 (bg)", function() { expect(p.parse("Откровение на св. Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровение на св. Иоана Богослова 1:1'") expect(p.parse("Откровение на св Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровение на св Иоана Богослова 1:1'") expect(p.parse("Откровението на Иоан 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровението на Иоан 1:1'") expect(p.parse("Откровението на Йоан 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровението на Йоан 1:1'") expect(p.parse("Откровение на Иоан 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровение на Иоан 1:1'") expect(p.parse("Откровение на Йоан 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровение на Йоан 1:1'") expect(p.parse("Апокалипсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокалипсис 1:1'") expect(p.parse("Откровение 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откровение 1:1'") expect(p.parse("Откр 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Откр 1:1'") expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'") expect(p.parse("Отк 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Отк 1:1'") p.include_apocrypha(false) expect(p.parse("ОТКРОВЕНИЕ НА СВ. ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕ НА СВ. ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОТКРОВЕНИЕ НА СВ ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕ НА СВ ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОТКРОВЕНИЕТО НА ИОАН 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕТО НА ИОАН 1:1'") expect(p.parse("ОТКРОВЕНИЕТО НА ЙОАН 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕТО НА ЙОАН 1:1'") expect(p.parse("ОТКРОВЕНИЕ НА ИОАН 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕ НА ИОАН 1:1'") expect(p.parse("ОТКРОВЕНИЕ НА ЙОАН 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕ НА ЙОАН 1:1'") expect(p.parse("АПОКАЛИПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКАЛИПСИС 1:1'") expect(p.parse("ОТКРОВЕНИЕ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКРОВЕНИЕ 1:1'") expect(p.parse("ОТКР 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТКР 1:1'") expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'") expect(p.parse("ОТК 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОТК 1:1'") ; return true; }); }); describe("Localized book PrMan (bg)", 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 (bg)", function() { expect(p.parse("Молитвата на Манасия 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Молитвата на Манасия 1:1'") expect(p.parse("Манасия 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Манасия 1:1'") expect(p.parse("М. Ман 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'М. Ман 1:1'") expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'") expect(p.parse("М Ман 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'М Ман 1:1'") ; return true; }); }); describe("Localized book Deut (bg)", 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 (bg)", function() { expect(p.parse("Пета книга Моисеева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Пета книга Моисеева 1:1'") expect(p.parse("Второзаконие 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Второзаконие 1:1'") expect(p.parse("5 Моисеева 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Моисеева 1:1'") expect(p.parse("Второзак 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Второзак 1:1'") expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'") expect(p.parse("Втор 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Втор 1:1'") expect(p.parse("Вт 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Вт 1:1'") p.include_apocrypha(false) expect(p.parse("ПЕТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПЕТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ВТОРОЗАКОНИЕ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТОРОЗАКОНИЕ 1:1'") expect(p.parse("5 МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 МОИСЕЕВА 1:1'") expect(p.parse("ВТОРОЗАК 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТОРОЗАК 1:1'") expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'") expect(p.parse("ВТОР 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТОР 1:1'") expect(p.parse("ВТ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТ 1:1'") ; return true; }); }); describe("Localized book Josh (bg)", 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 (bg)", function() { expect(p.parse("Книга на Исус Навиев 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Книга на Исус Навиев 1:1'") expect(p.parse("Книга Иисус Навин 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Книга Иисус Навин 1:1'") expect(p.parse("Иисус Навин 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Иисус Навин 1:1'") expect(p.parse("Исус Навиев 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Исус Навиев 1:1'") expect(p.parse("Исус Навин 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Исус Навин 1:1'") expect(p.parse("Иис. Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Иис. Нав 1:1'") expect(p.parse("Иис Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Иис Нав 1:1'") expect(p.parse("Ис. Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Ис. Нав 1:1'") expect(p.parse("Ис Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Ис Нав 1:1'") expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'") expect(p.parse("И. Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И. Н 1:1'") expect(p.parse("И.Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И.Н 1:1'") expect(p.parse("И Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И Н 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА НА ИСУС НАВИЕВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'КНИГА НА ИСУС НАВИЕВ 1:1'") expect(p.parse("КНИГА ИИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1", "parsing: 'КНИГА ИИСУС НАВИН 1:1'") expect(p.parse("ИИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИИСУС НАВИН 1:1'") expect(p.parse("ИСУС НАВИЕВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИСУС НАВИЕВ 1:1'") expect(p.parse("ИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИСУС НАВИН 1:1'") expect(p.parse("ИИС. НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИИС. НАВ 1:1'") expect(p.parse("ИИС НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИИС НАВ 1:1'") expect(p.parse("ИС. НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИС. НАВ 1:1'") expect(p.parse("ИС НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ИС НАВ 1:1'") expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'") expect(p.parse("И. Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И. Н 1:1'") expect(p.parse("И.Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И.Н 1:1'") expect(p.parse("И Н 1:1").osis()).toEqual("Josh.1.1", "parsing: 'И Н 1:1'") ; return true; }); }); describe("Localized book Judg (bg)", 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 (bg)", function() { expect(p.parse("Книга Съдии Израилеви 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Книга Съдии Израилеви 1:1'") expect(p.parse("Книга на съдиите 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Книга на съдиите 1:1'") expect(p.parse("Съдии Израилеви 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Съдии Израилеви 1:1'") expect(p.parse("Съдии 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Съдии 1:1'") expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'") expect(p.parse("Съд 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Съд 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА СЪДИИ ИЗРАИЛЕВИ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'КНИГА СЪДИИ ИЗРАИЛЕВИ 1:1'") expect(p.parse("КНИГА НА СЪДИИТЕ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'КНИГА НА СЪДИИТЕ 1:1'") expect(p.parse("СЪДИИ ИЗРАИЛЕВИ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'СЪДИИ ИЗРАИЛЕВИ 1:1'") expect(p.parse("СЪДИИ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'СЪДИИ 1:1'") expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'") expect(p.parse("СЪД 1:1").osis()).toEqual("Judg.1.1", "parsing: 'СЪД 1:1'") ; return true; }); }); describe("Localized book Ruth (bg)", 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 (bg)", function() { expect(p.parse("Книга Рут 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Книга Рут 1:1'") expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'") expect(p.parse("Рут 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Рут 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА РУТ 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'КНИГА РУТ 1:1'") expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'") expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'РУТ 1:1'") ; return true; }); }); describe("Localized book 1Esd (bg)", 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 (bg)", function() { expect(p.parse("Първа книга на Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Първа книга на Ездра 1:1'") expect(p.parse("Първа Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Първа Ездра 1:1'") expect(p.parse("Първо Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Първо Ездра 1:1'") expect(p.parse("1. Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Ездра 1:1'") expect(p.parse("I. Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Ездра 1:1'") expect(p.parse("1 Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Ездра 1:1'") expect(p.parse("I Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Ездра 1:1'") expect(p.parse("1 Ездр 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Ездр 1:1'") expect(p.parse("1 Езд 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Езд 1:1'") expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'") ; return true; }); }); describe("Localized book 2Esd (bg)", 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 (bg)", function() { expect(p.parse("Втора книга на Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Втора книга на Ездра 1:1'") expect(p.parse("Втора Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Втора Ездра 1:1'") expect(p.parse("Второ Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Второ Ездра 1:1'") expect(p.parse("Трета Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Трета Ездра 1:1'") expect(p.parse("Трето Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Трето Ездра 1:1'") expect(p.parse("III. Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'III. Ездра 1:1'") expect(p.parse("II. Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Ездра 1:1'") expect(p.parse("III Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'III Ездра 1:1'") expect(p.parse("2. Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Ездра 1:1'") expect(p.parse("3. Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: '3. Ездра 1:1'") expect(p.parse("II Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Ездра 1:1'") expect(p.parse("2 Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Ездра 1:1'") expect(p.parse("3 Ездра 1:1").osis()).toEqual("2Esd.1.1", "parsing: '3 Ездра 1:1'") expect(p.parse("2 Ездр 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Ездр 1:1'") expect(p.parse("3 Ездр 1:1").osis()).toEqual("2Esd.1.1", "parsing: '3 Ездр 1:1'") expect(p.parse("2 Езд 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Езд 1:1'") expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'") ; return true; }); }); describe("Localized book Isa (bg)", 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 (bg)", function() { expect(p.parse("Книга на пророк Исаия 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Книга на пророк Исаия 1:1'") expect(p.parse("Исаия 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Исаия 1:1'") expect(p.parse("Исая 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Исая 1:1'") expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'") expect(p.parse("Ис 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Ис 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА НА ПРОРОК ИСАИЯ 1:1").osis()).toEqual("Isa.1.1", "parsing: 'КНИГА НА ПРОРОК ИСАИЯ 1:1'") expect(p.parse("ИСАИЯ 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ИСАИЯ 1:1'") expect(p.parse("ИСАЯ 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ИСАЯ 1:1'") expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'") expect(p.parse("ИС 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ИС 1:1'") ; return true; }); }); describe("Localized book 2Sam (bg)", 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: 2Sam (bg)", function() { expect(p.parse("Втора Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Книга на царете 1:1'") expect(p.parse("Втора книга на Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора книга на Самуил 1:1'") expect(p.parse("Второ Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Книга на царете 1:1'") expect(p.parse("II. Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Книга на царете 1:1'") expect(p.parse("Втора книга Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора книга Царства 1:1'") expect(p.parse("2. Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Книга на царете 1:1'") expect(p.parse("II Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Книга на царете 1:1'") expect(p.parse("2 Книга на царете 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Книга на царете 1:1'") expect(p.parse("Втора Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Царства 1:1'") expect(p.parse("Второ Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Царства 1:1'") expect(p.parse("Втора Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Самуил 1:1'") expect(p.parse("Втора Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Царств 1:1'") expect(p.parse("Второ Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Самуил 1:1'") expect(p.parse("Второ Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Царств 1:1'") expect(p.parse("II. Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Царства 1:1'") expect(p.parse("2. Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Царства 1:1'") expect(p.parse("II Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Царства 1:1'") expect(p.parse("II. Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Самуил 1:1'") expect(p.parse("II. Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Царств 1:1'") expect(p.parse("Втора Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Царе 1:1'") expect(p.parse("Второ Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Царе 1:1'") expect(p.parse("2 Царства 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Царства 1:1'") expect(p.parse("2. Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Самуил 1:1'") expect(p.parse("2. Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Царств 1:1'") expect(p.parse("II Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Самуил 1:1'") expect(p.parse("II Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Царств 1:1'") expect(p.parse("Втора Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Втора Цар 1:1'") expect(p.parse("Второ Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Второ Цар 1:1'") expect(p.parse("2 Самуил 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Самуил 1:1'") expect(p.parse("2 Царств 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Царств 1:1'") expect(p.parse("II. Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Царе 1:1'") expect(p.parse("2. Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Царе 1:1'") expect(p.parse("II Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Царе 1:1'") expect(p.parse("II. Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Цар 1:1'") expect(p.parse("2 Царе 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Царе 1:1'") expect(p.parse("2. Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Цар 1:1'") expect(p.parse("II Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Цар 1:1'") expect(p.parse("2 Цар 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Цар 1:1'") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'") expect(p.parse("2 Ц 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Ц 1:1'") p.include_apocrypha(false) expect(p.parse("ВТОРА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ВТОРА КНИГА НА САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА КНИГА НА САМУИЛ 1:1'") expect(p.parse("ВТОРО КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("II. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ВТОРА КНИГА ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА КНИГА ЦАРСТВА 1:1'") expect(p.parse("2. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("II КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("2 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ВТОРА ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА ЦАРСТВА 1:1'") expect(p.parse("ВТОРО ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО ЦАРСТВА 1:1'") expect(p.parse("ВТОРА САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА САМУИЛ 1:1'") expect(p.parse("ВТОРА ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА ЦАРСТВ 1:1'") expect(p.parse("ВТОРО САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО САМУИЛ 1:1'") expect(p.parse("ВТОРО ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО ЦАРСТВ 1:1'") expect(p.parse("II. ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. ЦАРСТВА 1:1'") expect(p.parse("2. ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. ЦАРСТВА 1:1'") expect(p.parse("II ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II ЦАРСТВА 1:1'") expect(p.parse("II. САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. САМУИЛ 1:1'") expect(p.parse("II. ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. ЦАРСТВ 1:1'") expect(p.parse("ВТОРА ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА ЦАРЕ 1:1'") expect(p.parse("ВТОРО ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО ЦАРЕ 1:1'") expect(p.parse("2 ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 ЦАРСТВА 1:1'") expect(p.parse("2. САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. САМУИЛ 1:1'") expect(p.parse("2. ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. ЦАРСТВ 1:1'") expect(p.parse("II САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II САМУИЛ 1:1'") expect(p.parse("II ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II ЦАРСТВ 1:1'") expect(p.parse("ВТОРА ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРА ЦАР 1:1'") expect(p.parse("ВТОРО ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ВТОРО ЦАР 1:1'") expect(p.parse("2 САМУИЛ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 САМУИЛ 1:1'") expect(p.parse("2 ЦАРСТВ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 ЦАРСТВ 1:1'") expect(p.parse("II. ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. ЦАРЕ 1:1'") expect(p.parse("2. ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. ЦАРЕ 1:1'") expect(p.parse("II ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II ЦАРЕ 1:1'") expect(p.parse("II. ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. ЦАР 1:1'") expect(p.parse("2 ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 ЦАРЕ 1:1'") expect(p.parse("2. ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. ЦАР 1:1'") expect(p.parse("II ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II ЦАР 1:1'") expect(p.parse("2 ЦАР 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 ЦАР 1:1'") expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'") expect(p.parse("2 Ц 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Ц 1:1'") ; return true; }); }); describe("Localized book 1Sam (bg)", 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: 1Sam (bg)", function() { expect(p.parse("Първа Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Книга на царете 1:1'") expect(p.parse("Първа книга на Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа книга на Самуил 1:1'") expect(p.parse("Първо Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Книга на царете 1:1'") expect(p.parse("Първа книга Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа книга Царства 1:1'") expect(p.parse("1. Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Книга на царете 1:1'") expect(p.parse("I. Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Книга на царете 1:1'") expect(p.parse("1 Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Книга на царете 1:1'") expect(p.parse("I Книга на царете 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Книга на царете 1:1'") expect(p.parse("Първа Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Царства 1:1'") expect(p.parse("Първо Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Царства 1:1'") expect(p.parse("Първа Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Самуил 1:1'") expect(p.parse("Първа Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Царств 1:1'") expect(p.parse("Първо Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Самуил 1:1'") expect(p.parse("Първо Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Царств 1:1'") expect(p.parse("1. Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Царства 1:1'") expect(p.parse("I. Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Царства 1:1'") expect(p.parse("Първа Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Царе 1:1'") expect(p.parse("Първо Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Царе 1:1'") expect(p.parse("1 Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Царства 1:1'") expect(p.parse("1. Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Самуил 1:1'") expect(p.parse("1. Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Царств 1:1'") expect(p.parse("I Царства 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Царства 1:1'") expect(p.parse("I. Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Самуил 1:1'") expect(p.parse("I. Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Царств 1:1'") expect(p.parse("Първа Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първа Цар 1:1'") expect(p.parse("Първо Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Първо Цар 1:1'") expect(p.parse("1 Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Самуил 1:1'") expect(p.parse("1 Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Царств 1:1'") expect(p.parse("I Самуил 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Самуил 1:1'") expect(p.parse("I Царств 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Царств 1:1'") expect(p.parse("1. Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Царе 1:1'") expect(p.parse("I. Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Царе 1:1'") expect(p.parse("1 Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Царе 1:1'") expect(p.parse("1. Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Цар 1:1'") expect(p.parse("I Царе 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Царе 1:1'") expect(p.parse("I. Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Цар 1:1'") expect(p.parse("1 Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Цар 1:1'") expect(p.parse("I Цар 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Цар 1:1'") expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'") expect(p.parse("1 Ц 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Ц 1:1'") p.include_apocrypha(false) expect(p.parse("ПЪРВА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ПЪРВА КНИГА НА САМУИЛ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА КНИГА НА САМУИЛ 1:1'") expect(p.parse("ПЪРВО КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВО КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ПЪРВА КНИГА ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА КНИГА ЦАРСТВА 1:1'") expect(p.parse("1. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("I. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("1 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("I КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I КНИГА НА ЦАРЕТЕ 1:1'") expect(p.parse("ПЪРВА ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА ЦАРСТВА 1:1'") expect(p.parse("ПЪРВО ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВО ЦАРСТВА 1:1'") expect(p.parse("ПЪРВА САМУИЛ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА САМУИЛ 1:1'") expect(p.parse("ПЪРВА ЦАРСТВ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА ЦАРСТВ 1:1'") expect(p.parse("ПЪРВО САМУИЛ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВО САМУИЛ 1:1'") expect(p.parse("ПЪРВО ЦАРСТВ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВО ЦАРСТВ 1:1'") expect(p.parse("1. ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. ЦАРСТВА 1:1'") expect(p.parse("I. ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. ЦАРСТВА 1:1'") expect(p.parse("ПЪРВА ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВА ЦАРЕ 1:1'") expect(p.parse("ПЪРВО ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПЪРВО ЦАРЕ 1:1'") expect(p.parse("1 ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 ЦАРСТВА 1:1'") expect(p.parse("1. САМУИЛ 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. САМУИЛ 1:1'") expect(p.parse("1. ЦАРСТВ 1:1").osis()).toEqual("1Sa