swordjs
Version:
swordjs - access modules from crosswire.org/sword in JS
1,035 lines (1,030 loc) • 113 kB
text/coffeescript
bcv_parser = require("../../js/sr_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 (sr)", ->
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 (sr)", ->
`
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("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("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")
p.include_apocrypha(false)
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("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("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")
`
true
describe "Localized book Exod (sr)", ->
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 (sr)", ->
`
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("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("Егзодус 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("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("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("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("ЕГЗОДУС 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("EXOD 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("ИЗЛ 1:1").osis()).toEqual("Exod.1.1")
`
true
describe "Localized book Bel (sr)", ->
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 (sr)", ->
`
expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1")
`
true
describe "Localized book Lev (sr)", ->
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 (sr)", ->
`
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("Трећа Мојс 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("Левитска 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("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("ТРЕЋА МОЈС 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("ЛЕВИТСКА 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("LEV 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("ЛЕВ 1:1").osis()).toEqual("Lev.1.1")
`
true
describe "Localized book Num (sr)", ->
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 (sr)", ->
`
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("Четврта Мојс 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("IV Мојс 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("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("ЧЕТВРТА МОЈС 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("IV МОЈС 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 (sr)", ->
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 (sr)", ->
`
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")
expect(p.parse("Сир 1:1").osis()).toEqual("Sir.1.1")
`
true
describe "Localized book Wis (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
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("LAM 1:1").osis()).toEqual("Lam.1.1")
`
true
describe "Localized book EpJer (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
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("REV 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("ОТК 1:1").osis()).toEqual("Rev.1.1")
`
true
describe "Localized book PrMan (sr)", ->
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 (sr)", ->
`
expect(p.parse("Молитва Манасијина 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1")
`
true
describe "Localized book Deut (sr)", ->
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 (sr)", ->
`
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("V. Мојсијева 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("5 Мојсијева 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("V Мојсијева 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("V. Мојс 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("5 Мојс 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("V Мојс 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("V. МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("5 МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("V МОЈСИЈЕВА 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("V. МОЈС 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("5 МОЈС 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("V МОЈС 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 (sr)", ->
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 (sr)", ->
`
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")
p.include_apocrypha(false)
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")
`
true
describe "Localized book Judg (sr)", ->
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 (sr)", ->
`
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("JUDG 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("СУД 1:1").osis()).toEqual("Judg.1.1")
`
true
describe "Localized book Ruth (sr)", ->
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 (sr)", ->
`
expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Рута 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Рут 1:1").osis()).toEqual("Ruth.1.1")
p.include_apocrypha(false)
expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("РУТА 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1")
`
true
describe "Localized book 1Esd (sr)", ->
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 (sr)", ->
`
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("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("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 (sr)", ->
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 (sr)", ->
`
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("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("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 (sr)", ->
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 (sr)", ->
`
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("ISA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ИС 1:1").osis()).toEqual("Isa.1.1")
`
true
describe "Localized book 2Sam (sr)", ->
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 (sr)", ->
`
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("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("2Sam 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("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("2SAM 1:1").osis()).toEqual("2Sam.1.1")
`
true
describe "Localized book 1Sam (sr)", ->
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 (sr)", ->
`
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("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("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("1Sam 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: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("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("1SAM 1:1").osis()).toEqual("1Sam.1.1")
`
true
describe "Localized book 2Kgs (sr)", ->
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 (sr)", ->
`
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("II. о царевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV. краљевства 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. о царевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4. краљевства 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II о царевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV краљевства 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV. краљевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("Друга краљева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 о царевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4 краљевства 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("Друга Царева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4 краљевима 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. краљева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. краљева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II краљева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. Царева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 краљева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. Царева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II Царева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Царева 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Цар 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2Kgs 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("II. О ЦАРЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV. КРАЉЕВСТВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. О ЦАРЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4. КРАЉЕВСТВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II О ЦАРЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV КРАЉЕВСТВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("IV. КРАЉЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("ДРУГА КРАЉЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 О ЦАРЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4 КРАЉЕВСТВА 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("ДРУГА ЦАРЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("4 КРАЉЕВИМА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. КРАЉЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. КРАЉЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II КРАЉЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. ЦАРЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 КРАЉЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. ЦАРЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II ЦАРЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 ЦАРЕВА 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 ЦАР 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1")
`
true
describe "Localized book 1Kgs (sr)", ->
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 (sr)", ->
`
expect(p.parse("Трећом краљевства 1:1").osis()).toEqual("1Kgs.1.1")
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("Прва о царевима 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:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("3. краљевства 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. о царевима 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("III краљевима 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 о царевима 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("I о царевима 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("Прва Царева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. краљева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. краљева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 краљева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. Царева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I краљева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. Царева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Царева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I Царева 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Цар 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1Kgs 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("ТРЕЋОМ КРАЉЕВИМА 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("ТРЕЋА КРАЉЕВИМА 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:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("3. КРАЉЕВСТВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. О ЦАРЕВИМА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("III КРАЉЕВИМА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 О ЦАРЕВИМА 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("I О ЦАРЕВИМА 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("ПРВА ЦАРЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. КРАЉЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. КРАЉЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 КРАЉЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. ЦАРЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I КРАЉЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. ЦАРЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 ЦАРЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I ЦАРЕВА 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 ЦАР 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1")
`
true
describe "Localized book 2Chr (sr)", ->
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 (sr)", ->
`
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("Друга хроника 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("II. хроника 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Дневника 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 дневника 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("2 хрон 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("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("ДРУГА ХРОНИКА 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("II. ХРОНИКА 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 ДНЕВНИКА 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 ДНЕВНИКА 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("2 ХРОН 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 (sr)", ->
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 (sr)", ->
`
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").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("1 дневника 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("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:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Дн 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: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").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("1 ДНЕВНИКА 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("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:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 ДН 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1")
`
true
describe "Localized book Ezra (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
expect(p.parse("Немија 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("Нем 1:1").osis()).toEqual("Neh.1.1")
p.include_apocrypha(false)
expect(p.parse("НЕМИЈА 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("НЕМ 1:1").osis()).toEqual("Neh.1.1")
`
true
describe "Localized book GkEsth (sr)", ->
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 (sr)", ->
`
expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1")
`
true
describe "Localized book Esth (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1")
expect(p.parse("Јов 1:1").osis()).toEqual("Job.1.1")
p.include_apocrypha(false)
expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1")
expect(p.parse("ЈОВ 1:1").osis()).toEqual("Job.1.1")
`
true
describe "Localized book Ps (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1")
`
true
describe "Localized book Prov (sr)", ->
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 (sr)", ->
`
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 (sr)", ->
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 (sr)", ->
`
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("ECCL 1:1").osis()).toEqual("Eccl.1.1")
expect(p.parse("ПРОП 1:1").osis()).toEqual("Eccl.1.1")
`
true
describe "Localized book SgThree (sr)", ->
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 (sr)", ->
`
expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1")
`
true
describe "Localized book Song (sr)", ->
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 (sr)", ->
`
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")
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")
`
true
describe "Localized book Jer (sr)", ->
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 (sr)", ->
`
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")
p.include_apocrypha(false)
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")
`
true
describe "Localized book Ezek (sr)", ->
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: Ezek (sr)", ->
`
expect(p.parse("Језекиљ 1:1").osis()).toEqual("Ezek.1.1")
expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1")
expect(p.parse("Јез 1:1").osis()).toEqual("Ezek.1.1")
p.include_apocrypha(false)
expect(p.parse("ЈЕЗЕКИЉ 1:1").osis()).toEqual("Ezek.1.1")
expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1")
expect(p.parse("ЈЕЗ 1:1").osis()).toEqual("Ezek.1.1")
`
true
describe "Localized book Dan (sr)", ->
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: Dan (sr)", ->
`
expect(p.parse("Данило 1:1").osis()).toEqual("Dan.1.1")
expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1")
expect(p.parse("Дан 1:1").osis()).toEqual("Dan.1.1")
p.include_apocrypha(false)
expect(p.parse("ДАНИЛО 1:1").osis()).toEqual("Dan.1.1")
expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1")
expect(p.parse("ДАН 1:1").osis()).toEqual("Dan.1.1")
`
true
describe "Localized book Hos (sr)", ->
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: Hos (sr)", ->
`
expect(p.parse("Осија 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("Хошеа 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("Ос 1:1").osis()).toEqual("Hos.1.1")
p.include_apocrypha(false)
expect(p.parse("ОСИЈА 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("ХОШЕА 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1")
expect(p.parse("ОС 1:1").osis()).toEqual("Hos.1.1")
`
true
describe "Localized book Joel (sr)", ->
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: Joel (sr)", ->
`
expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1")
expect(p.parse("Јоил 1:1").osis()).toEqual("Joel.1.1")
expect(p.parse("Јоиљ 1:1").osis()).toEqual("Joel.1.1")
p.include_apocrypha(false)
expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1")
expect(p.parse("ЈОИЛ 1:1").osis()).toEqual("Joel.1.1")
expect(p.parse("ЈОИЉ 1:1").osis()).toEqual("Joel.1.1")
`
true
describe "Localized book Amos (sr)", ->
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: Amos (sr)", ->
`
expect(p