UNPKG

swordjs

Version:

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

874 lines (869 loc) 450 kB
bcv_parser = require("../../js/uk_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 (uk)", -> 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 (uk)", -> ` expect(p.parse("1-ше. книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ше. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") 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").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("1-а. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-е. книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-е. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ше книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ше книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-а книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-а книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-е книга Моисеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-е книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1. книга Моисеева 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("I. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1 книга Моисеева 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("I книга Мойсеева 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Buttja 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("Gen 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Буг 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:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ШЕ. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") 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").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("1-А. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-Е. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-Е. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ШЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-ШЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-А КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-А КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-Е КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1-Е КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1. КНИГА МОИСЕЕВА 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("I. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("1 КНИГА МОИСЕЕВА 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("I КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("BUTTJA 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("GEN 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("БУГ 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("БУТ 1:1").osis()).toEqual("Gen.1.1") ` true describe "Localized book Exod (uk)", -> 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 (uk)", -> ` expect(p.parse("2-ге. книга Моисеева 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("Друга книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Друге книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Друге книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-а. книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-а. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-ге книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-ге книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-е. книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-е. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-а книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-а книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-е книга Моисеева 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("II. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2. книга Моисеева 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("II книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 книга Моисеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 книга Мойсеева 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Vyhid 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Vyȟid 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("2 М 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Вих 1:1").osis()).toEqual("Exod.1.1") p.include_apocrypha(false) expect(p.parse("2-ГЕ. КНИГА МОИСЕЕВА 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("ДРУГА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ДРУГЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ДРУГЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-А. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-А. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-ГЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-ГЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-Е. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-Е. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-А КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-А КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2-Е КНИГА МОИСЕЕВА 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("II. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2. КНИГА МОИСЕЕВА 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("II КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("2 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("VYHID 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("VYȞID 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("2 М 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ВИХ 1:1").osis()).toEqual("Exod.1.1") ` true describe "Localized book Bel (uk)", -> 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 (uk)", -> ` expect(p.parse("Бел і дракон 1:1").osis()).toEqual("Bel.1.1") 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 (uk)", -> 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 (uk)", -> ` 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("Третя книга Мойсеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Третє книга Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Третє книга Мойсеева 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("3-е. книга Моисеева 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("3-тє книга Мойсеева 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("3-е книга Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3-е книга Мойсеева 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("3 книга Моисеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 книга Мойсеева 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Levyt 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Левит 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 М 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1") p.include_apocrypha(false) 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("ТРЕТЯ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ТРЕТЄ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ТРЕТЄ КНИГА МОЙСЕЕВА 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("3-Е. КНИГА МОИСЕЕВА 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("3-ТЄ КНИГА МОЙСЕЕВА 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("3-Е КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3-Е КНИГА МОЙСЕЕВА 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("3 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("LEVYT 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("ЛЕВИТ 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("3 М 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1") ` true describe "Localized book Num (uk)", -> 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 (uk)", -> ` 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("IV. книга Мойсеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4. книга Моисеева 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("IV книга Мойсеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 книга Моисеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 книга Мойсеева 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Cysla 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Čysla 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Числа 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 М 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("IV. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4. КНИГА МОИСЕЕВА 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("IV КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("CYSLA 1:1").osis()).toEqual("Num.1.1") expect(p.parse("ČYSLA 1:1").osis()).toEqual("Num.1.1") expect(p.parse("ЧИСЛА 1:1").osis()).toEqual("Num.1.1") expect(p.parse("4 М 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 (uk)", -> 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 (uk)", -> ` 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("Сираха 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1") expect(p.parse("Сир 1:1").osis()).toEqual("Sir.1.1") ` true describe "Localized book Wis (uk)", -> 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 (uk)", -> ` 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("Прем 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1") expect(p.parse("Муд 1:1").osis()).toEqual("Wis.1.1") ` true describe "Localized book Lam (uk)", -> 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 (uk)", -> ` expect(p.parse("Plac Jeremii 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Plac Jeremiï 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Plač Jeremii 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Plač Jeremiï 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("PLAC JEREMII 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("PLAC JEREMIÏ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("PLAČ JEREMII 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("PLAČ JEREMIÏ 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 (uk)", -> 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 (uk)", -> ` expect(p.parse("Послання Єреміі 1:1").osis()).toEqual("EpJer.1.1") expect(p.parse("Послання Єремії 1:1").osis()).toEqual("EpJer.1.1") expect(p.parse("Лист Єреміі 1:1").osis()).toEqual("EpJer.1.1") 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 (uk)", -> 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 (uk)", -> ` 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("Об’явлення св Івана Богослова 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("Ob'javlennja Ivana Bohoslova 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Ob’javlennja Ivana Bohoslova 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("Апокaліпсис 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Апокáліпсис 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Апокалiпсис 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") expect(p.parse("Об 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("ОБ’ЯВЛЕННЯ СВ ІВАНА БОГОСЛОВА 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("OB'JAVLENNJA IVANA BOHOSLOVA 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("OB’JAVLENNJA IVANA BOHOSLOVA 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("АПОКAЛІПСИС 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("АПОКÁЛІПСИС 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("АПОКАЛIПСИС 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") expect(p.parse("ОБ 1:1").osis()).toEqual("Rev.1.1") ` true describe "Localized book PrMan (uk)", -> 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 (uk)", -> ` expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1") ` true describe "Localized book Deut (uk)", -> 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 (uk)", -> ` expect(p.parse("П'ята книга Моисеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("П'ята книга Мойсеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("П’ята книга Моисеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("П’ята книга Мойсеева 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Povtorennja Zakonu 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Повторення Закону 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Второзаконня 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Повт. Закону 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") expect(p.parse("Повт 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("5 М 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("П’ЯТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("П’ЯТА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("POVTORENNJA ZAKONU 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ПОВТОРЕННЯ ЗАКОНУ 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ВТОРОЗАКОННЯ 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("ПОВТ. ЗАКОНУ 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") expect(p.parse("ПОВТ 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("5 М 1:1").osis()).toEqual("Deut.1.1") ` true describe "Localized book Josh (uk)", -> 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 (uk)", -> ` 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("Isus Navyn 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("ISUS NAVYN 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 (uk)", -> 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 (uk)", -> ` expect(p.parse("Knyha Suddiv 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("KNYHA SUDDIV 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 (uk)", -> 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 (uk)", -> ` expect(p.parse("Книга Рут 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("Rut 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("RUT 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1") ` true describe "Localized book 1Esd (uk)", -> 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 (uk)", -> ` expect(p.parse("1-ше. Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-ше. Ездри 1:1").osis()).toEqual("1Esd.1.1") 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").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("1-а. Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-е. Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-е. Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-ше Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-ше Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-а Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-а Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-е Ездра 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1-е Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1. Ездра 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("I. Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1 Ездра 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("I Ездри 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1 Езд 1:1").osis()).toEqual("1Esd.1.1") expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1") ` true describe "Localized book 2Esd (uk)", -> 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 (uk)", -> ` expect(p.parse("2-ге. книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друга книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друге книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а. книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-ге книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-е. книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а книга Ездри 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("II книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2 книга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-ге. Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-ге. Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друга Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друга Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друге Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("Друге Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а. Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а. Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-ге Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-ге Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-е. Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-е. Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-а Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2-е Ездра 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("II. Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2. Ездра 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("II Ездри 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2 Ездра 1:1").osis()).toEqual("2Esd.1.1") expect(p.parse("2 Ездри 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 (uk)", -> 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 (uk)", -> ` 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("Книга Ісаиї 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("Isaja 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("Ісаї 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("КНИГА ІСАИЇ 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("ISAJA 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("ІСАЇ 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 (uk)", -> 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 (uk)", -> ` 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("Друга книга Самуілова 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("Друге книга Самуїлова 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("2-ге книга Самуілова 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("2-е. книга Самуїлова 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("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("II. книга Самуїлова 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("II книга Самуїлова 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("2-ге. Самуілова 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("Друге Самуілова 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("2-ге Самуілова 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("2-е. Самуїлова 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("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("II. Самуїлова 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ге. Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ге. Samuïl 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("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("II Самуїлова 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Друга Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Друга Samuïl 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("Друге Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("Друге Samuïl 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("2 Самуілова 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Самуїлова 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-а. Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-а. Samuïl 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("2-ге Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ге Samuïl 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("2-е. Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-е. Samuïl 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("2-а Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-а Samuïl 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("2-е Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-е Samuïl 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. Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II. Samuïl 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("2. Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. Samuïl 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 Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("II Samuïl 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("2 Samuil 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 Samuïl 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("2 Сам 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1") p.include_apocrypha(false) 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("ДРУГА КНИГА САМУІЛОВА 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("ДРУГЕ КНИГА САМУЇЛОВА 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("2-ГЕ КНИГА САМУІЛОВА 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("2-Е. КНИГА САМУЇЛОВА 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("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("II. КНИГА САМУЇЛОВА 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("II КНИГА САМУЇЛОВА 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("2-ГЕ. САМУІЛОВА 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("ДРУГЕ САМУІЛОВА 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("2-ГЕ САМУІЛОВА 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("2-Е. САМУЇЛОВА 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("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("II. САМУЇЛОВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ГЕ. SAMUIL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ГЕ. SAMUÏL 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("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("II САМУЇЛОВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ДРУГА SAMUIL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ДРУГА SAMUÏL 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("ДРУГЕ SAMUIL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("ДРУГЕ SAMUÏL 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("2 САМУІЛОВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 САМУЇЛОВА 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-А. SAMUIL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-А. SAMUÏL 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("2-ГЕ SAMUIL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-ГЕ SAMUÏL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse(