swordjs
Version:
swordjs - access modules from crosswire.org/sword in JS
933 lines (928 loc) • 779 kB
text/coffeescript
bcv_parser = require("../../js/en_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 (en)", ->
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 (en)", ->
`
expect(p.parse("Genneeses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennieses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genniesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genniesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genniises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genniisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genniisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneeses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genieses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geniesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geniesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geniises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geniisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geniisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneses 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genesus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genises 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genisis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genisus 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genneis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gennsis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Geneis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genese 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Genesi 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gensis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Ge 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gn 1:1").osis()).toEqual("Gen.1.1")
p.include_apocrypha(false)
expect(p.parse("GENNEESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNIISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENIISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENESES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENESUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENISES 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENISIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENISUS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNEIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENNSIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENEIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENESE 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENESI 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GENSIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GE 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GN 1:1").osis()).toEqual("Gen.1.1")
`
true
describe "Localized book Exod (en)", ->
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 (en)", ->
`
expect(p.parse("Exodis 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exodus 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exode 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exods 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exd 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exo 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Ex 1:1").osis()).toEqual("Exod.1.1")
p.include_apocrypha(false)
expect(p.parse("EXODIS 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXODUS 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXODE 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXODS 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXD 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXO 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EX 1:1").osis()).toEqual("Exod.1.1")
`
true
describe "Localized book Bel (en)", ->
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 (en)", ->
`
expect(p.parse("Bel and the Serpent 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel and the Dragon 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & the Serpent 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel and the Snake 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & the Dragon 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & the Snake 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel and Serpent 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel and Dragon 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & Serpent 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel and Snake 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & Dragon 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel & Snake 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1")
`
true
describe "Localized book Lev (en)", ->
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 (en)", ->
`
expect(p.parse("Levetecus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Leveticus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Levitecus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Leviticus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Livetecus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Liveticus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Livitecus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Liviticus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Levetcus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Levitcus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Livetcus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Livitcus 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Levi 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Le 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Lv 1:1").osis()).toEqual("Lev.1.1")
p.include_apocrypha(false)
expect(p.parse("LEVETECUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVETICUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVITECUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVITICUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVETECUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVETICUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVITECUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVITICUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVETCUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVITCUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVETCUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LIVITCUS 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVI 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LE 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LV 1:1").osis()).toEqual("Lev.1.1")
`
true
describe "Localized book Num (en)", ->
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 (en)", ->
`
expect(p.parse("Numbers 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Number 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Numb 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Nm 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Nu 1:1").osis()).toEqual("Num.1.1")
p.include_apocrypha(false)
expect(p.parse("NUMBERS 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NUMBER 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NUMB 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NM 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NU 1:1").osis()).toEqual("Num.1.1")
`
true
describe "Localized book Sir (en)", ->
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 (en)", ->
`
expect(p.parse("The Wisdom of Jesus, Son of Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("The Wisdom of Jesus Son of Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("The Wisdom of Jesus ben Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Wisdom of Jesus, Son of Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Wisdom of Jesus Son of Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Wisdom of Jesus ben Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Ecclesiasticus 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Ecclusiasticus 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Ben Sira 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Ecclus 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sirach 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Eccs 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1")
`
true
describe "Localized book Wis (en)", ->
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 (en)", ->
`
expect(p.parse("The Wisdom of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("The Wisom of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("The Wisd of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("The Wis of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wisdom of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wisom of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wisd of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wis of Solomon 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wisdom 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wisd 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1")
`
true
describe "Localized book Lam (en)", ->
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 (en)", ->
`
expect(p.parse("Lamentations 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamintations 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamentation 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamintation 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("La 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lm 1:1").osis()).toEqual("Lam.1.1")
p.include_apocrypha(false)
expect(p.parse("LAMENTATIONS 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMINTATIONS 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMENTATION 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMINTATION 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LA 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LM 1:1").osis()).toEqual("Lam.1.1")
`
true
describe "Localized book EpJer (en)", ->
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 (en)", ->
`
expect(p.parse("The Epistle of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("The Letter of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("The Let. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Epistle of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("The Ep. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("The Let of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Letter of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("The Ep of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Epistle of Jeremy 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Let. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Ep. of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Let of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Ep of Jeremiah 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Ep Jer 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1")
`
true
describe "Localized book Rev (en)", ->
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 (en)", ->
`
expect(p.parse("Revalations 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revelations 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revolations 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revalation 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revelation 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revlations 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revolation 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revlation 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Revel 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Re 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Rv 1:1").osis()).toEqual("Rev.1.1")
p.include_apocrypha(false)
expect(p.parse("REVALATIONS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVELATIONS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVOLATIONS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVALATION 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVELATION 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVLATIONS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVOLATION 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVLATION 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REVEL 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("RE 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("RV 1:1").osis()).toEqual("Rev.1.1")
`
true
describe "Localized book PrMan (en)", ->
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 (en)", ->
`
expect(p.parse("The Prayers of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("The Prayer of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("The Prayers Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Prayers of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("The Prayer Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Prayer of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("The Pr of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Prayers Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Prayer Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("The Pr Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Pr of Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Pr Manasseh 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Pr Man 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1")
`
true
describe "Localized book Deut (en)", ->
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 (en)", ->
`
expect(p.parse("Deeteronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deetoronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deuteronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutoronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Dueteronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duetoronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duuteronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duutoronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deeteronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deetoronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deetronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deuteronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutoronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Dueteronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duetoronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duetronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duuteronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duutoronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duutronomy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deetronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duetronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duutronmy 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Duet 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deu 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Dt 1:1").osis()).toEqual("Deut.1.1")
p.include_apocrypha(false)
expect(p.parse("DEETERONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEETORONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTERONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTORONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETERONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETORONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTERONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTORONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEETERONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEETORONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEETRONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTERONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTORONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTRONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETERONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETORONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETRONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTERONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTORONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTRONOMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEETRONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTRONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETRONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUUTRONMY 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUET 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEU 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DT 1:1").osis()).toEqual("Deut.1.1")
`
true
describe "Localized book Josh (en)", ->
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 (en)", ->
`
expect(p.parse("Joushua 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Joshua 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Jousua 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Josua 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Jos 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Jsh 1:1").osis()).toEqual("Josh.1.1")
p.include_apocrypha(false)
expect(p.parse("JOUSHUA 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOSHUA 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOUSUA 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOSUA 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOS 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JSH 1:1").osis()).toEqual("Josh.1.1")
`
true
describe "Localized book Judg (en)", ->
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 (en)", ->
`
expect(p.parse("Judges 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jdgs 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jdg 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jgs 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jg 1:1").osis()).toEqual("Judg.1.1")
p.include_apocrypha(false)
expect(p.parse("JUDGES 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JDGS 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JDG 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JGS 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JG 1:1").osis()).toEqual("Judg.1.1")
`
true
describe "Localized book Ruth (en)", ->
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 (en)", ->
`
expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Rth 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Rt 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Ru 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("RTH 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("RT 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("RU 1:1").osis()).toEqual("Ruth.1.1")
`
true
describe "Localized book 1Esd (en)", ->
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 (en)", ->
`
expect(p.parse("First Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("First Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st. Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("First Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1 Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st. Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1. Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1st Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I. Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1 Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1. Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I Esdr 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I. Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1 Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("I Esd 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1")
`
true
describe "Localized book 2Esd (en)", ->
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 (en)", ->
`
expect(p.parse("Second Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("Second Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("Second Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd. Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2 Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd. Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II. Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2. Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2nd Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II. Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2 Esdr 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2. Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("II Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2 Esd 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1")
`
true
describe "Localized book Isa (en)", ->
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 (en)", ->
`
expect(p.parse("Isaaaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaisha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaish 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiha 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isiih 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Issah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isah 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isai 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Ia 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Is 1:1").osis()).toEqual("Isa.1.1")
p.include_apocrypha(false)
expect(p.parse("ISAAAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAISHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAISH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIHA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISIIH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISSAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAH 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAI 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("IA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("IS 1:1").osis()).toEqual("Isa.1.1")
`
true
describe "Localized book 2Sam (en)", ->
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 (en)", ->
`
expect(p.parse("Second Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Kingdoms 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuall 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuals 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuell 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuels 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("Second Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samual 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd. Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2nd Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Sma 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Sa 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Sm 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 S 1:1").osis()).toEqual("2Sam.1.1")
p.include_apocrypha(false)
expect(p.parse("SECOND KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 KINGDOMS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUALL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUALS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUELL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUELS 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("SECOND SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUAL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND. SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2ND SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SMA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SA 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 S 1:1").osis()).toEqual("2Sam.1.1")
`
true
describe "Localized book 1Sam (en)", ->
p = {}
beforeEach ->
p = new bcv_parser
p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compacti