UNPKG

swordjs

Version:

swordjs - access modules from crosswire.org/sword in JS

995 lines (990 loc) 153 kB
bcv_parser = require("../../js/bg_bcv_parser.js").bcv_parser describe "Parsing", -> p = {} beforeEach -> p = new bcv_parser p.options.osis_compaction_strategy = "b" p.options.sequence_combination_strategy = "combine" it "should round-trip OSIS references", -> 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 book in books 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", -> 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 book in books 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 book in books bc = book + ".1" expect(p.parse(bc).osis()).toEqual "" it "should handle a preceding character", -> 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 (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Първа книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Първа Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1. Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("I. Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1 Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("I Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Битие 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Бит 1:1").osis()).toEqual("Gen.1.1") p.include_apocrypha(false) expect(p.parse("ПЪРВА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("ПЪРВА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1. МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("I. МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1 МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("I МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("БИТИЕ 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("БИТ 1:1").osis()).toEqual("Gen.1.1") ` true describe "Localized book Exod (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Втора книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Втора Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("II. Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2. Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("II Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Изход 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Изх 1:1").osis()).toEqual("Exod.1.1") p.include_apocrypha(false) expect(p.parse("ВТОРА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ВТОРА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("II. МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2. МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("II МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ИЗХОД 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ИЗХ 1:1").osis()).toEqual("Exod.1.1") ` true describe "Localized book Bel (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1") expect(p.parse("Бел 1:1").osis()).toEqual("Bel.1.1") ` true describe "Localized book Lev (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Трета книга Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Трето Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("III. Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("III Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3. Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Левит 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Лев 1:1").osis()).toEqual("Lev.1.1") p.include_apocrypha(false) expect(p.parse("ТРЕТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ТРЕТО МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("III. МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("III МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3. МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ЛЕВИТ 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ЛЕВ 1:1").osis()).toEqual("Lev.1.1") ` true describe "Localized book Num (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Четвърта книга Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Четвърта Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("IV. Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4. Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("IV Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Числа 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Чис 1:1").osis()).toEqual("Num.1.1") p.include_apocrypha(false) expect(p.parse("ЧЕТВЪРТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("ЧЕТВЪРТА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("IV. МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4. МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("IV МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("ЧИСЛА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1") expect(p.parse("ЧИС 1:1").osis()).toEqual("Num.1.1") ` true describe "Localized book Sir (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Премъдрост на Иисуса, син Сирахов 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Премъдрост на Иисус, син Сирахов 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Книга на Сирах 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Сирахов 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1") ` true describe "Localized book Wis (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Премъдрост Соломонова 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Премъдрост Соломонова 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Книга на мъдростта 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Премъдрост 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1") ` true describe "Localized book Lam (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Плач Иеремиев 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плачът на Иеремия 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плачът на Йеремия 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плачът на Еремия 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плач Иеремиев 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плач Еремиев 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П. Иер 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П. Йер 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П Иер 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П Йер 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Плач 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА ПЛАЧ ИЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧЪТ НА ИЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧЪТ НА ЙЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧЪТ НА ЕРЕМИЯ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧ ИЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧ ЕРЕМИЕВ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П. ИЕР 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П. ЙЕР 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П ИЕР 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("П ЙЕР 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("ПЛАЧ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1") ` true describe "Localized book EpJer (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Послание на Иеремия 1:1").osis()).toEqual("EpJer.1.1") expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1") ` true describe "Localized book Rev (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Откровение на св. Иоана Богослова 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровение на св Иоана Богослова 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровението на Иоан 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровението на Йоан 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровение на Иоан 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровение на Йоан 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Апокалипсис 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откровение 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Откр 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1") p.include_apocrypha(false) expect(p.parse("ОТКРОВЕНИЕ НА СВ. ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕ НА СВ ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕТО НА ИОАН 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕТО НА ЙОАН 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕ НА ИОАН 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕ НА ЙОАН 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("АПОКАЛИПСИС 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКРОВЕНИЕ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("ОТКР 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1") ` true describe "Localized book PrMan (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1") ` true describe "Localized book Deut (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Пета книга Моисеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Второзаконие 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("5 Моисеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Второзак 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Вт 1:1").osis()).toEqual("Deut.1.1") p.include_apocrypha(false) expect(p.parse("ПЕТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ВТОРОЗАКОНИЕ 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("5 МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ВТОРОЗАК 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ВТ 1:1").osis()).toEqual("Deut.1.1") ` true describe "Localized book Josh (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на Исус Навиев 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Книга Иисус Навин 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Иисус Навин 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Исус Навиев 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Исус Навин 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Ис. Нав 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Ис Нав 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("И. Н 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("И Н 1:1").osis()).toEqual("Josh.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ИСУС НАВИЕВ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("КНИГА ИИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("ИИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("ИСУС НАВИЕВ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("ИСУС НАВИН 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("ИС. НАВ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("ИС НАВ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("И. Н 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("И Н 1:1").osis()).toEqual("Josh.1.1") ` true describe "Localized book Judg (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Съдии Израилеви 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Книга на съдиите 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Съдии Израилеви 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Съдии 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Съд 1:1").osis()).toEqual("Judg.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА СЪДИИ ИЗРАИЛЕВИ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("КНИГА НА СЪДИИТЕ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("СЪДИИ ИЗРАИЛЕВИ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("СЪДИИ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("СЪД 1:1").osis()).toEqual("Judg.1.1") ` true describe "Localized book Ruth (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Рут 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("Рут 1:1").osis()).toEqual("Ruth.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА РУТ 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1") ` true describe "Localized book 1Esd (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Първа книга на Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("Първа Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1. Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("I. Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1 Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("I Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1") ` true describe "Localized book 2Esd (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Втора книга на Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Втора Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("II. Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2. Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("II Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2 Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1") ` true describe "Localized book Isa (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на пророк Исаия 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("Исаия 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("Исая 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("Ис 1:1").osis()).toEqual("Isa.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ПРОРОК ИСАИЯ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("ИСАИЯ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("ИСАЯ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("ИС 1:1").osis()).toEqual("Isa.1.1") ` true describe "Localized book 2Sam (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Втора Книга на царете 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Втора книга на Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. Книга на царете 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Втора книга Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. Книга на царете 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II Книга на царете 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Книга на царете 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Втора Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Втора Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Втора Царе 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Царства 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Самуил 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. Царе 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. Царе 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II Царе 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Царе 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Ц 1:1").osis()).toEqual("2Sam.1.1") p.include_apocrypha(false) expect(p.parse("ВТОРА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ВТОРА КНИГА НА САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ВТОРА КНИГА ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ВТОРА ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ВТОРА САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ВТОРА ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 ЦАРСТВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 САМУИЛ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 ЦАРЕ 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Ц 1:1").osis()).toEqual("2Sam.1.1") ` true describe "Localized book 1Sam (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Първа Книга на царете 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("Първа книга на Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("Първа книга Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. Книга на царете 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. Книга на царете 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Книга на царете 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I Книга на царете 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("Първа Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("Първа Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("Първа Царе 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I Царства 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I Самуил 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. Царе 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. Царе 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Царе 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I Царе 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Ц 1:1").osis()).toEqual("1Sam.1.1") p.include_apocrypha(false) expect(p.parse("ПЪРВА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("ПЪРВА КНИГА НА САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("ПЪРВА КНИГА ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("ПЪРВА ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("ПЪРВА САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("ПЪРВА ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I ЦАРСТВА 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I САМУИЛ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I. ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("I ЦАРЕ 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 Ц 1:1").osis()).toEqual("1Sam.1.1") ` true describe "Localized book 2Kgs (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Четвърта Книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("Четвърта книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("Четвърта книга Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. Книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. Книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV Книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 Книга на царете 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("Четвърта Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("Четвърта Царе 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 Царства 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. Царе 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. Царе 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV Царе 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 Царе 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 Ц 1:1").osis()).toEqual("2Kgs.1.1") p.include_apocrypha(false) expect(p.parse("ЧЕТВЪРТА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("ЧЕТВЪРТА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("ЧЕТВЪРТА КНИГА ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("ЧЕТВЪРТА ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("ЧЕТВЪРТА ЦАРЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 ЦАРСТВА 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV. ЦАРЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4. ЦАРЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("IV ЦАРЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 ЦАРЕ 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("4 Ц 1:1").osis()).toEqual("2Kgs.1.1") ` true describe "Localized book 1Kgs (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Трета книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("Трето Книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. Книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III Книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("Трета книга Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. Книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 Книга на царете 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("Трето Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("Трето Царе 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 Царства 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. Царе 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III Царе 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. Царе 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 Царе 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 Ц 1:1").osis()).toEqual("1Kgs.1.1") p.include_apocrypha(false) expect(p.parse("ТРЕТА КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("ТРЕТО КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("ТРЕТА КНИГА ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 КНИГА НА ЦАРЕТЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("ТРЕТО ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("ТРЕТО ЦАРЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 ЦАРСТВА 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III. ЦАРЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("III ЦАРЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3. ЦАРЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 ЦАРЕ 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("3 Ц 1:1").osis()).toEqual("1Kgs.1.1") ` true describe "Localized book 2Chr (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("или Втора книга Паралипоменон 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("Втора Книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("Втора книга Паралипоменон 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("Втора книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. Книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. Книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II Книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 Книга на летописите 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("Втора Летописи 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. Летописи 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. Летописи 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II Летописи 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 Летописи 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("Втора Лет 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. Лет 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. Лет 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II Лет 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 Лет 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1") p.include_apocrypha(false) expect(p.parse("ИЛИ ВТОРА КНИГА ПАРАЛИПОМЕНОН 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("ВТОРА КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("ВТОРА КНИГА ПАРАЛИПОМЕНОН 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("ВТОРА КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("ВТОРА ЛЕТОПИСИ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. ЛЕТОПИСИ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. ЛЕТОПИСИ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II ЛЕТОПИСИ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 ЛЕТОПИСИ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("ВТОРА ЛЕТ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II. ЛЕТ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. ЛЕТ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("II ЛЕТ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 ЛЕТ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1") ` true describe "Localized book 1Chr (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("или Първа книга Паралипоменон 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("Първа Книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("Първа книга Паралипоменон 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("Първа книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. Книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. Книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 Книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I Книга на летописите 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("Първа Летописи 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. Летописи 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. Летописи 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 Летописи 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I Летописи 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("Първа Лет 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. Лет 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. Лет 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 Лет 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I Лет 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1") p.include_apocrypha(false) expect(p.parse("ИЛИ ПЪРВА КНИГА ПАРАЛИПОМЕНОН 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("ПЪРВА КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("ПЪРВА КНИГА ПАРАЛИПОМЕНОН 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("ПЪРВА КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I КНИГА НА ЛЕТОПИСИТЕ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("ПЪРВА ЛЕТОПИСИ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. ЛЕТОПИСИ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. ЛЕТОПИСИ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 ЛЕТОПИСИ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I ЛЕТОПИСИ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("ПЪРВА ЛЕТ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. ЛЕТ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I. ЛЕТ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 ЛЕТ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("I ЛЕТ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1") ` true describe "Localized book Ezra (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на Ездра 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("Ездра 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("Езд 1:1").osis()).toEqual("Ezra.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ЕЗДРА 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("ЕЗДРА 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("ЕЗД 1:1").osis()).toEqual("Ezra.1.1") ` true describe "Localized book Neh (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на Неемия 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("Неемия 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("Неем 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА НЕЕМИЯ 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("НЕЕМИЯ 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("НЕЕМ 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1") ` true describe "Localized book GkEsth (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1") ` true describe "Localized book Esth (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Естир 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("Естир 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("Ест 1:1").osis()).toEqual("Esth.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА ЕСТИР 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ЕСТИР 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ЕСТ 1:1").osis()).toEqual("Esth.1.1") ` true describe "Localized book Job (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на Иова 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Книга на Иов 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Книга на Йов 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Иов 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Йов 1:1").osis()).toEqual("Job.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ИОВА 1:1").osis()).toEqual("Job.1.1") expect(p.parse("КНИГА НА ИОВ 1:1").osis()).toEqual("Job.1.1") expect(p.parse("КНИГА НА ЙОВ 1:1").osis()).toEqual("Job.1.1") expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ИОВ 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ЙОВ 1:1").osis()).toEqual("Job.1.1") ` true describe "Localized book Ps (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Псалтир 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("Псалми 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("Псалом 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("Пс 1:1").osis()).toEqual("Ps.1.1") p.include_apocrypha(false) expect(p.parse("ПСАЛТИР 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("ПСАЛМИ 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("ПСАЛОМ 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("ПС 1:1").osis()).toEqual("Ps.1.1") ` true describe "Localized book PrAzar (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1") ` true describe "Localized book Prov (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга Притчи Соломонови 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("Притчи Соломонови 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("Притчи 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("Пр 1:1").osis()).toEqual("Prov.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА ПРИТЧИ СОЛОМОНОВИ 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("ПРИТЧИ СОЛОМОНОВИ 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("ПРИТЧИ 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("ПР 1:1").osis()).toEqual("Prov.1.1") ` true describe "Localized book Eccl (bg)", -> p = {} beforeEach -> 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 (bg)", -> ` expect(p.parse("Книга на Еклисиаста или Проповедника 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Проповедника 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Еклисиаста 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Еклесиаст 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Еклисиаст 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Екл 1:1").osis()).toEqual("Eccl.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ЕКЛИСИАСТА ИЛИ ПРОПОВЕДНИКА 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ПРОПОВЕДНИКА 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ЕКЛИСИАСТА 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ЕКЛЕСИАСТ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ЕКЛИСИАСТ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ЕКЛ 1:1").osis()).toEqual("Eccl.1.1") ` true describe "Localized book SgThree (bg)", -> p = {} beforeEach -> 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: SgThree (bg)", -> ` expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1") ` true describe "Localized book Song (bg)", -> p = {} beforeEach -> 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: Song (bg)", -> ` expect(p.parse("Книга Песен на Песните, от Соломона 1:1").osis()).toEqual("Song.1.1") expect(p.parse("Песен на песните 1:1").osis()).toEqual("Song.1.1") expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1") expect(p.parse("П. П 1:1").osis()).toEqual("Song.1.1") expect(p.parse("П П 1:1").osis()).toEqual("Song.1.1") expect(p.parse("Пес 1:1").osis()).toEqual("Song.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА ПЕСЕН НА ПЕСНИТЕ, ОТ СОЛОМОНА 1:1").osis()).toEqual("Song.1.1") expect(p.parse("ПЕСЕН НА ПЕСНИТЕ 1:1").osis()).toEqual("Song.1.1") expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1") expect(p.parse("П. П 1:1").osis()).toEqual("Song.1.1") expect(p.parse("П П 1:1").osis()).toEqual("Song.1.1") expect(p.parse("ПЕС 1:1").osis()).toEqual("Song.1.1") ` true describe "Localized book Jer (bg)", -> p = {} beforeEach -> 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: Jer (bg)", -> ` expect(p.parse("Книга на пророк Иеремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Книга на пророк Йеремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Книга на пророк Еремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Иеремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Йеремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Еремия 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Иер 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Йер 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Ер 1:1").osis()).toEqual("Jer.1.1") p.include_apocrypha(false) expect(p.parse("КНИГА НА ПРОРОК ИЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("КНИГА НА ПРОРОК ЙЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("КНИГА НА ПРОРОК ЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ИЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ЙЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ЕРЕМИЯ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ИЕР 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ЙЕР 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("ЕР 1:1").osis()).toEqual("Jer.1.1") ` true describe "Localized book Ezek (bg)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore"