swordjs
Version:
swordjs - access modules from crosswire.org/sword in JS
998 lines (993 loc) • 269 kB
text/coffeescript
bcv_parser = require("../../js/es_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 (es)", ->
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 (es)", ->
`
expect(p.parse("Genesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Génesis 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("Gén 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")
expect(p.parse("Gé 1:1").osis()).toEqual("Gen.1.1")
p.include_apocrypha(false)
expect(p.parse("GENESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GÉNESIS 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1")
expect(p.parse("GÉN 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")
expect(p.parse("GÉ 1:1").osis()).toEqual("Gen.1.1")
`
true
describe "Localized book Exod (es)", ->
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 (es)", ->
`
expect(p.parse("Exodo 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Éxodo 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Éxod 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("Éxd 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Éxo 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Ex 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("Éx 1:1").osis()).toEqual("Exod.1.1")
p.include_apocrypha(false)
expect(p.parse("EXODO 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("ÉXODO 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("ÉXOD 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("ÉXD 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("ÉXO 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("EX 1:1").osis()).toEqual("Exod.1.1")
expect(p.parse("ÉX 1:1").osis()).toEqual("Exod.1.1")
`
true
describe "Localized book Bel (es)", ->
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 (es)", ->
`
expect(p.parse("Bel y el Serpiente 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel y el Dragon 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel y el Dragón 1:1").osis()).toEqual("Bel.1.1")
expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1")
`
true
describe "Localized book Lev (es)", ->
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 (es)", ->
`
expect(p.parse("Levitico 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Levítico 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("Lev 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("LEVITICO 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEVÍTICO 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1")
expect(p.parse("LV 1:1").osis()).toEqual("Lev.1.1")
`
true
describe "Localized book Num (es)", ->
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 (es)", ->
`
expect(p.parse("Numeros 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Números 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("Núm 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")
expect(p.parse("Nú 1:1").osis()).toEqual("Num.1.1")
p.include_apocrypha(false)
expect(p.parse("NUMEROS 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NÚMEROS 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1")
expect(p.parse("NÚM 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")
expect(p.parse("NÚ 1:1").osis()).toEqual("Num.1.1")
`
true
describe "Localized book Sir (es)", ->
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 (es)", ->
`
expect(p.parse("Eclesiastico 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Eclesiástico 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Siracides 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sirácides 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Siracida 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sirácida 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Ecclus 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sirac 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sirác 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1")
expect(p.parse("Si 1:1").osis()).toEqual("Sir.1.1")
`
true
describe "Localized book Wis (es)", ->
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 (es)", ->
`
expect(p.parse("Sabiduria 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Sabiduría 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Sab 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1")
expect(p.parse("Sb 1:1").osis()).toEqual("Wis.1.1")
`
true
describe "Localized book Lam (es)", ->
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 (es)", ->
`
expect(p.parse("Lamentaciones 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamintaciones 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamentacione 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("Lamintacione 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("LAMENTACIONES 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMINTACIONES 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMENTACIONE 1:1").osis()).toEqual("Lam.1.1")
expect(p.parse("LAMINTACIONE 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 (es)", ->
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 (es)", ->
`
expect(p.parse("La Carta de Jeremias 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("La Carta de Jeremías 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Carta de Jeremias 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Carta de Jeremías 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Carta Jeremias 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Carta Jeremías 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("Carta Jer 1:1").osis()).toEqual("EpJer.1.1")
expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1")
`
true
describe "Localized book Rev (es)", ->
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 (es)", ->
`
expect(p.parse("El Apocalipsis 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Apocalipsis 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Apoc 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("Ap 1:1").osis()).toEqual("Rev.1.1")
p.include_apocrypha(false)
expect(p.parse("EL APOCALIPSIS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("APOCALIPSIS 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("APOC 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1")
expect(p.parse("AP 1:1").osis()).toEqual("Rev.1.1")
`
true
describe "Localized book PrMan (es)", ->
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 (es)", ->
`
expect(p.parse("La Oracion de Manases 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("La Oracion de Manasés 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("La Oración de Manases 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("La Oración de Manasés 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Oracion de Manases 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Oracion de Manasés 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Oración de Manases 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Oración de Manasés 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Or. Man 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("Or Man 1:1").osis()).toEqual("PrMan.1.1")
expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1")
`
true
describe "Localized book Deut (es)", ->
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 (es)", ->
`
expect(p.parse("Deuteronomio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutoronomio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Dueteronomio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deuteronmio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutoronmio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutronomio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deutronmio 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("Deut 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("DEUTERONOMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTORONOMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DUETERONOMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTERONMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTORONMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTRONOMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUTRONMIO 1:1").osis()).toEqual("Deut.1.1")
expect(p.parse("DEUT 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 (es)", ->
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 (es)", ->
`
expect(p.parse("Josue 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("Josué 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")
p.include_apocrypha(false)
expect(p.parse("JOSUE 1:1").osis()).toEqual("Josh.1.1")
expect(p.parse("JOSUÉ 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")
`
true
describe "Localized book Judg (es)", ->
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 (es)", ->
`
expect(p.parse("Jueces 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Juec 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jue 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("Jc 1:1").osis()).toEqual("Judg.1.1")
p.include_apocrypha(false)
expect(p.parse("JUECES 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JUEC 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JUE 1:1").osis()).toEqual("Judg.1.1")
expect(p.parse("JC 1:1").osis()).toEqual("Judg.1.1")
`
true
describe "Localized book Ruth (es)", ->
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 (es)", ->
`
expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1")
expect(p.parse("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("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 (es)", ->
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 (es)", ->
`
expect(p.parse("Primero Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("Primer Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1.o. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1.º. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1.o Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1.º Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1o. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1º. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1. Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1o Esdras 1:1").osis()).toEqual("1Esd.1.1")
expect(p.parse("1º Esdras 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("I Esdras 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("1Esd 1:1").osis()).toEqual("1Esd.1.1")
`
true
describe "Localized book 2Esd (es)", ->
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 (es)", ->
`
expect(p.parse("Segundo Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2.o. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2.º. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2.o Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2.º Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2o. Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2º. Esdras 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("2o Esdras 1:1").osis()).toEqual("2Esd.1.1")
expect(p.parse("2º Esdras 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("2 Esdr 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 (es)", ->
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 (es)", ->
`
expect(p.parse("Isaias 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isaías 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("Isa 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("ISAIAS 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISAÍAS 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1")
expect(p.parse("IS 1:1").osis()).toEqual("Isa.1.1")
`
true
describe "Localized book 2Sam (es)", ->
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 (es)", ->
`
expect(p.parse("Segundo Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.o. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.º. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.o Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.º Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2o. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2º. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2o Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2º Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Samuel 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 Sam 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("SEGUNDO SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.O. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.º. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.O SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2.º SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2O. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2º. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2. SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2O SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2º SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("II SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAMUEL 1:1").osis()).toEqual("2Sam.1.1")
expect(p.parse("2 SAM 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 (es)", ->
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 (es)", ->
`
expect(p.parse("Primero Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("Primer Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.o. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.º. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.o Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.º Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1o. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1º. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1o Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1º Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("I. Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("I Samuel 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 Sam 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 Sa 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 Sm 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 S 1:1").osis()).toEqual("1Sam.1.1")
p.include_apocrypha(false)
expect(p.parse("PRIMERO SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("PRIMER SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.O. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.º. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.O SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1.º SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1O. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1º. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1O SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1º SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("I. SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("I SAMUEL 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 SAM 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 SA 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 SM 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1")
expect(p.parse("1 S 1:1").osis()).toEqual("1Sam.1.1")
`
true
describe "Localized book 2Kgs (es)", ->
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 (es)", ->
`
expect(p.parse("Segundo Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.o. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.º. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.o Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.º Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2o. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2º. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2o Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2º Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Reyes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Rees 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Reye 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Reys 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Ryes 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Ree 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Res 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Rey 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Rye 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Rys 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Re 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Rs 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 Ry 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 R 1:1").osis()).toEqual("2Kgs.1.1")
p.include_apocrypha(false)
expect(p.parse("SEGUNDO REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.O. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.º. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.O REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2.º REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2O. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2º. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2. REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2O REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2º REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("II REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REYE 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REYS 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RYES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REE 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RES 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 REY 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RYE 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RYS 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RE 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RS 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 RY 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1")
expect(p.parse("2 R 1:1").osis()).toEqual("2Kgs.1.1")
`
true
describe "Localized book 1Kgs (es)", ->
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 (es)", ->
`
expect(p.parse("Primero Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("Primer Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.o. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.º. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.o Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.º Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1o. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1º. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1o Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1º Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I Reyes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Rees 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Reye 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Reys 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Ryes 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Ree 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Res 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Rey 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Rye 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Rys 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Re 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Rs 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 Ry 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 R 1:1").osis()).toEqual("1Kgs.1.1")
p.include_apocrypha(false)
expect(p.parse("PRIMERO REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("PRIMER REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.O. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.º. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.O REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1.º REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1O. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1º. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1O REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1º REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I. REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("I REYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REYE 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REYS 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RYES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REE 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RES 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 REY 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RYE 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RYS 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RE 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RS 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 RY 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1")
expect(p.parse("1 R 1:1").osis()).toEqual("1Kgs.1.1")
`
true
describe "Localized book 2Chr (es)", ->
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 (es)", ->
`
expect(p.parse("Segundo Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("Segundo Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.o. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.o. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.o Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.o Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2o. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2o. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2. Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2. Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2o Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2o Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Cronicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Crónicas 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Cron 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Crón 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Cro 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Cró 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 Cr 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("SEGUNDO CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("SEGUNDO CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.O. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.O. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.O CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.O CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2.º CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2O. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2O. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2. CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2. CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2O CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2O CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2º CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("II CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRONICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRÓNICAS 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRON 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRÓN 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRO 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CRÓ 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2 CR 1:1").osis()).toEqual("2Chr.1.1")
expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1")
`
true
describe "Localized book 1Chr (es)", ->
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 (es)", ->
`
expect(p.parse("Primero Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("Primero Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("Primer Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("Primer Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.o. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.o. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.o Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.o Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1o. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1o. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1o Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1o Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I. Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I. Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I Cronicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I Crónicas 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Cron 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Crón 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Cro 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Cró 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 Cr 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("PRIMERO CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("PRIMERO CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("PRIMER CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("PRIMER CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.O. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.O. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.O CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.O CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1.º CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1O. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1O. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1O CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1O CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1º CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I. CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I. CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I CRONICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("I CRÓNICAS 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRON 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRÓN 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRO 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CRÓ 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1 CR 1:1").osis()).toEqual("1Chr.1.1")
expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1")
`
true
describe "Localized book Ezra (es)", ->
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 (es)", ->
`
expect(p.parse("Esdras 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("Esdr 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("Esd 1:1").osis()).toEqual("Ezra.1.1")
p.include_apocrypha(false)
expect(p.parse("ESDRAS 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("ESDR 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1")
expect(p.parse("ESD 1:1").osis()).toEqual("Ezra.1.1")
`
true
describe "Localized book Neh (es)", ->
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 (es)", ->
`
expect(p.parse("Nehemias 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("Nehemías 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("Ne 1:1").osis()).toEqual("Neh.1.1")
p.include_apocrypha(false)
expect(p.parse("NEHEMIAS 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("NEHEMÍAS 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1")
expect(p.parse("NE 1:1").osis()).toEqual("Neh.1.1")
`
true
describe "Localized book GkEsth (es)", ->
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 (es)", ->
`
expect(p.parse("Ester (Griego) 1:1").osis()).toEqual("GkEsth.1.1")
expect(p.parse("Ester (griego) 1:1").osis()).toEqual("GkEsth.1.1")
expect(p.parse("Ester Griego 1:1").osis()).toEqual("GkEsth.1.1")
expect(p.parse("Ester griego 1:1").osis()).toEqual("GkEsth.1.1")
expect(p.parse("Est Gr 1:1").osis()).toEqual("GkEsth.1.1")
expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1")
`
true
describe "Localized book Esth (es)", ->
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 (es)", ->
`
expect(p.parse("Ester 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("Es 1:1").osis()).toEqual("Esth.1.1")
p.include_apocrypha(false)
expect(p.parse("ESTER 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1")
expect(p.parse("ES 1:1").osis()).toEqual("Esth.1.1")
`
true
describe "Localized book Job (es)", ->
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 (es)", ->
`
expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1")
expect(p.parse("Jb 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("JB 1:1").osis()).toEqual("Job.1.1")
`
true
describe "Localized book Ps (es)", ->
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 (es)", ->
`
expect(p.parse("Salmos 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Salmo 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Salm 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Sal 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Slm 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("Sl 1:1").osis()).toEqual("Ps.1.1")
p.include_apocrypha(false)
expect(p.parse("SALMOS 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("SALMO 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("SALM 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("SAL 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("SLM 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1")
expect(p.parse("SL 1:1").osis()).toEqual("Ps.1.1")
`
true
describe "Localized book PrAzar (es)", ->
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 (es)", ->
`
expect(p.parse("Cantico de Azarias 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Cantico de Azarías 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Cántico de Azarias 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Cántico de Azarías 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Oracion de Azarias 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Oracion de Azarías 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Oración de Azarias 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Oración de Azarías 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Azarias 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Azarías 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Or Azar 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1")
expect(p.parse("Or Az 1:1").osis()).toEqual("PrAzar.1.1")
`
true
describe "Localized book Prov (es)", ->
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 (es)", ->
`
expect(p.parse("Probverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Porverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Preverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Proberbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Proverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Poverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Preverbio 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Provebios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Proverbio 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prverbios 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prverbio 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prvbos 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prvbo 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prvbs 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prvb 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Pro 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Prv 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Pr 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("Pv 1:1").osis()).toEqual("Prov.1.1")
p.include_apocrypha(false)
expect(p.parse("PROBVERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PORVERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PREVERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PROBERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PROVERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("POVERBIOS 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PREVERBIO 1:1").osis()).toEqual("Prov.1.1")
expect(p.parse("PROVEBIOS 1:1").osis()).toEqual("Prov.1.1"