UNPKG

swordjs

Version:

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

1,095 lines (1,090 loc) 145 kB
bcv_parser = require("../../js/ur_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 (ur)", -> 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 (ur)", -> ` expect(p.parse("pīdāyiš 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پَیدایش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پيدائش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پیدائش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پیدایش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1") p.include_apocrypha(false) expect(p.parse("PĪDĀYIŠ 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پَیدایش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پيدائش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پیدائش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("پیدایش 1:1").osis()).toEqual("Gen.1.1") expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1") ` true describe "Localized book Exod (ur)", -> 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 (ur)", -> ` expect(p.parse("خُرُوج 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ḫurūj 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("خروج 1:1").osis()).toEqual("Exod.1.1") p.include_apocrypha(false) expect(p.parse("خُرُوج 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("ḪURŪJ 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1") expect(p.parse("خروج 1:1").osis()).toEqual("Exod.1.1") ` true describe "Localized book Bel (ur)", -> 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 (ur)", -> ` expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1") ` true describe "Localized book Lev (ur)", -> 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 (ur)", -> ` expect(p.parse("iḥbār 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("احبار 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1") p.include_apocrypha(false) expect(p.parse("IḤBĀR 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("احبار 1:1").osis()).toEqual("Lev.1.1") expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1") ` true describe "Localized book Num (ur)", -> 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 (ur)", -> ` expect(p.parse("gintī 1:1").osis()).toEqual("Num.1.1") expect(p.parse("گِنتی 1:1").osis()).toEqual("Num.1.1") expect(p.parse("گنتی 1:1").osis()).toEqual("Num.1.1") expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1") p.include_apocrypha(false) expect(p.parse("GINTĪ 1:1").osis()).toEqual("Num.1.1") expect(p.parse("گِنتی 1:1").osis()).toEqual("Num.1.1") expect(p.parse("گنتی 1:1").osis()).toEqual("Num.1.1") expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1") ` true describe "Localized book Sir (ur)", -> 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 (ur)", -> ` expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1") ` true describe "Localized book Wis (ur)", -> 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 (ur)", -> ` expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1") ` true describe "Localized book Lam (ur)", -> 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 (ur)", -> ` expect(p.parse("نَوحہ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("nūḥâ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("نوحہ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1") p.include_apocrypha(false) expect(p.parse("نَوحہ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("NŪḤÂ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("نوحہ 1:1").osis()).toEqual("Lam.1.1") expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1") ` true describe "Localized book EpJer (ur)", -> 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 (ur)", -> ` expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1") ` true describe "Localized book Rev (ur)", -> 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 (ur)", -> ` expect(p.parse("yūḥannā ʿārif kā mukāšafâ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یُو حنّا عارِف کا مُکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یو حنا عارف کا مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یُوحنا عارف کا مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("مُکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1") p.include_apocrypha(false) expect(p.parse("YŪḤANNĀ ʿĀRIF KĀ MUKĀŠAFÂ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یُو حنّا عارِف کا مُکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یو حنا عارف کا مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("یُوحنا عارف کا مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("مُکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("مکاشفہ 1:1").osis()).toEqual("Rev.1.1") expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1") ` true describe "Localized book PrMan (ur)", -> 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 (ur)", -> ` expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1") ` true describe "Localized book Deut (ur)", -> 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 (ur)", -> ` expect(p.parse("istis̱nā 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("اِستِثنا 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("استثناء 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("استثنا 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1") p.include_apocrypha(false) expect(p.parse("ISTIS̱NĀ 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("اِستِثنا 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("استثناء 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("استثنا 1:1").osis()).toEqual("Deut.1.1") expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1") ` true describe "Localized book Josh (ur)", -> 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 (ur)", -> ` expect(p.parse("yašūʿ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("یشُوع 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("یشوع 1:1").osis()).toEqual("Josh.1.1") p.include_apocrypha(false) expect(p.parse("YAŠŪʿ 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("یشُوع 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1") expect(p.parse("یشوع 1:1").osis()).toEqual("Josh.1.1") ` true describe "Localized book Judg (ur)", -> 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 (ur)", -> ` expect(p.parse("qużāh 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قُضاۃ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاة 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاہ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاۃ 1:1").osis()).toEqual("Judg.1.1") p.include_apocrypha(false) expect(p.parse("QUŻĀH 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قُضاۃ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاة 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاہ 1:1").osis()).toEqual("Judg.1.1") expect(p.parse("قضاۃ 1:1").osis()).toEqual("Judg.1.1") ` true describe "Localized book Ruth (ur)", -> 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 (ur)", -> ` expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("رُوت 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("rūt 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("روت 1:1").osis()).toEqual("Ruth.1.1") p.include_apocrypha(false) expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("رُوت 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("RŪT 1:1").osis()).toEqual("Ruth.1.1") expect(p.parse("روت 1:1").osis()).toEqual("Ruth.1.1") ` true describe "Localized book 1Esd (ur)", -> 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 (ur)", -> ` expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1") ` true describe "Localized book 2Esd (ur)", -> 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 (ur)", -> ` expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1") ` true describe "Localized book Isa (ur)", -> 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 (ur)", -> ` expect(p.parse("yasaʿyāh 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("یسعیاہ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("یعسیاہ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1") p.include_apocrypha(false) expect(p.parse("YASAʿYĀH 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("یسعیاہ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("یعسیاہ 1:1").osis()).toEqual("Isa.1.1") expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1") ` true describe "Localized book 2Sam (ur)", -> 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 (ur)", -> ` expect(p.parse("دوم سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 samūʾīl 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲ سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1") ` true it "should handle non-Latin digits in book: 2Sam (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("دوم سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 samūʾīl 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲ سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1") p.include_apocrypha(false) expect(p.parse("دوم سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("دوم۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 SAMŪʾĪL 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2. سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2.۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2 سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲ سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲-سموئیل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("۲۔سموایل 1:1").osis()).toEqual("2Sam.1.1") expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1") ` true describe "Localized book 1Sam (ur)", -> 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 (ur)", -> ` expect(p.parse("اوّل سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 samūʾīl 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1") ` true it "should handle non-Latin digits in book: 1Sam (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("اوّل سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 samūʾīl 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1") p.include_apocrypha(false) expect(p.parse("اوّل سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("اوّل۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 SAMŪʾĪL 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1. سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1.۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1 سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئيل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱ سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱-سموئیل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("۱۔سموایل 1:1").osis()).toEqual("1Sam.1.1") expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1") ` true describe "Localized book 2Kgs (ur)", -> 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 (ur)", -> ` expect(p.parse("دوم-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 salāṭīn 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2. سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲ سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1") ` true it "should handle non-Latin digits in book: 2Kgs (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("دوم-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 salāṭīn 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2. سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲ سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1") p.include_apocrypha(false) expect(p.parse("دوم-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("دوم۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 SALĀṬĪN 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2. سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2.۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲-سلاطِین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2 سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲ سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("۲۔سلاطین 1:1").osis()).toEqual("2Kgs.1.1") expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1") ` true describe "Localized book 1Kgs (ur)", -> 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 (ur)", -> ` expect(p.parse("اوّل-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 salāṭīn 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1. سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱ سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1") ` true it "should handle non-Latin digits in book: 1Kgs (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("اوّل-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 salāṭīn 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1. سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱ سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1") p.include_apocrypha(false) expect(p.parse("اوّل-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("اوّل۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 SALĀṬĪN 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1. سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1.۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱-سلاطِین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1 سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱ سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("۱۔سلاطین 1:1").osis()).toEqual("1Kgs.1.1") expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1") ` true describe "Localized book 2Chr (ur)", -> 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 (ur)", -> ` expect(p.parse("دوم- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 tavārīḫ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲ تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1") ` true it "should handle non-Latin digits in book: 2Chr (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("دوم- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 tavārīḫ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲ تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1") p.include_apocrypha(false) expect(p.parse("دوم- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2. تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("دوم۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲- توارِیخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 TAVĀRĪḪ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2 تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2.۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲ تو اریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("۲۔تواریخ 1:1").osis()).toEqual("2Chr.1.1") expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1") ` true describe "Localized book 1Chr (ur)", -> 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 (ur)", -> ` expect(p.parse("اوّل-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 tavārīḫ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱ تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1") ` true it "should handle non-Latin digits in book: 1Chr (ur)", -> p.set_options non_latin_digits_strategy: "replace" ` expect(p.parse("اوّل-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 tavārīḫ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱ تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1") p.include_apocrypha(false) expect(p.parse("اوّل-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("اوّل۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 TAVĀRĪḪ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1. تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1.۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱-توارِیخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1 تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱ تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("۱۔تواریخ 1:1").osis()).toEqual("1Chr.1.1") expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1") ` true describe "Localized book Ezra (ur)", -> 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 (ur)", -> ` expect(p.parse("ʿizrā 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("عز را 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("عزرا 1:1").osis()).toEqual("Ezra.1.1") p.include_apocrypha(false) expect(p.parse("ʿIZRĀ 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("عز را 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1") expect(p.parse("عزرا 1:1").osis()).toEqual("Ezra.1.1") ` true describe "Localized book Neh (ur)", -> 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 (ur)", -> ` expect(p.parse("niḥimyāh 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("نحمیاہ 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1") p.include_apocrypha(false) expect(p.parse("NIḤIMYĀH 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("نحمیاہ 1:1").osis()).toEqual("Neh.1.1") expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1") ` true describe "Localized book GkEsth (ur)", -> 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 (ur)", -> ` expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1") ` true describe "Localized book Esth (ur)", -> 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 (ur)", -> ` expect(p.parse("āstar 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ایستر 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("آستر 1:1").osis()).toEqual("Esth.1.1") p.include_apocrypha(false) expect(p.parse("ĀSTAR 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ایستر 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1") expect(p.parse("آستر 1:1").osis()).toEqual("Esth.1.1") ` true describe "Localized book Job (ur)", -> 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 (ur)", -> ` expect(p.parse("ایُّوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ayyūb 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ایّوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ایوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1") p.include_apocrypha(false) expect(p.parse("ایُّوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("AYYŪB 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ایّوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("ایوب 1:1").osis()).toEqual("Job.1.1") expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1") ` true describe "Localized book Ps (ur)", -> 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 (ur)", -> ` expect(p.parse("zabūr 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبُور 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبور 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبُو 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1") p.include_apocrypha(false) expect(p.parse("ZABŪR 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبُور 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبور 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("زبُو 1:1").osis()).toEqual("Ps.1.1") expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1") ` true describe "Localized book PrAzar (ur)", -> 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 (ur)", -> ` expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1") ` true describe "Localized book Prov (ur)", -> 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 (ur)", -> ` expect(p.parse("ams̱āl 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("اَمثال 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("امثال 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1") p.include_apocrypha(false) expect(p.parse("AMS̱ĀL 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("اَمثال 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("امثال 1:1").osis()).toEqual("Prov.1.1") expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1") ` true describe "Localized book Eccl (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Eccl (ur)", -> ` expect(p.parse("واعِظ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("vāʿẓ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("واعظ 1:1").osis()).toEqual("Eccl.1.1") p.include_apocrypha(false) expect(p.parse("واعِظ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("VĀʿẒ 1:1").osis()).toEqual("Eccl.1.1") expect(p.parse("واعظ 1:1").osis()).toEqual("Eccl.1.1") ` true describe "Localized book SgThree (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: SgThree (ur)", -> ` expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1") ` true describe "Localized book Song (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Song (ur)", -> ` expect(p.parse("ġazalu l-ġazalāt 1:1").osis()).toEqual("Song.1.1") expect(p.parse("غزلُ الغزلات 1:1").osis()).toEqual("Song.1.1") expect(p.parse("غزل الغزلات 1:1").osis()).toEqual("Song.1.1") expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1") p.include_apocrypha(false) expect(p.parse("ĠAZALU L-ĠAZALĀT 1:1").osis()).toEqual("Song.1.1") expect(p.parse("غزلُ الغزلات 1:1").osis()).toEqual("Song.1.1") expect(p.parse("غزل الغزلات 1:1").osis()).toEqual("Song.1.1") expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1") ` true describe "Localized book Jer (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Jer (ur)", -> ` expect(p.parse("yirmayāh 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("یرمِیاہ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("یرمیاہ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1") p.include_apocrypha(false) expect(p.parse("YIRMAYĀH 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("یرمِیاہ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("یرمیاہ 1:1").osis()).toEqual("Jer.1.1") expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1") ` true describe "Localized book Ezek (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Ezek (ur)", -> ` expect(p.parse("حِزقی ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("ḥiziqīʾīl 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("حزقی ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("حزقی‌ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1") p.include_apocrypha(false) expect(p.parse("حِزقی ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("ḤIZIQĪʾĪL 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("حزقی ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("حزقی‌ایل 1:1").osis()).toEqual("Ezek.1.1") expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1") ` true describe "Localized book Dan (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Dan (ur)", -> ` expect(p.parse("دانی ایل 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("دانی‌ایل 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("dānīʾīl 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("دانیال 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1") p.include_apocrypha(false) expect(p.parse("دانی ایل 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("دانی‌ایل 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("DĀNĪʾĪL 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("دانیال 1:1").osis()).toEqual("Dan.1.1") expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1") ` true describe "Localized book Hos (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Hos (ur)", -> ` expect(p.parse("ہو سیعاہ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("ہوسیعَِ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("hūsīʿ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("ہوسیع 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1") p.include_apocrypha(false) expect(p.parse("ہو سیعاہ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("ہوسیعَِ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("HŪSĪʿ 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("ہوسیع 1:1").osis()).toEqual("Hos.1.1") expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1") ` true describe "Localized book Joel (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Joel (ur)", -> ` expect(p.parse("یُوایل 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("yōʾīl 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("یوایل 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1") p.include_apocrypha(false) expect(p.parse("یُوایل 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("YŌʾĪL 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("یوایل 1:1").osis()).toEqual("Joel.1.1") expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1") ` true describe "Localized book Amos (ur)", -> p = {} beforeEach -> p = new bcv_parser p.set_options book_alone_strategy: "ignore",book_sequence_strategy: "ignore",osis_compaction_strategy: "bc",captive_end_digits_strategy: "delete" p.include_apocrypha true it "should handle book: Amos (ur)", -> ` expect(p.parse("عامُوس 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("ʿāmōs 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("عاموس 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1") p.include_apocrypha(false) expect(p.parse("عامُوس 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("ʿĀMŌS 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("عاموس 1:1").osis()).toEqual("Amos.1.1") expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1") ` true describe "Localized book Obad (ur)", -> 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: Obad (ur)", -> ` expect(p.parse("ʿabadiyāh 1:1").osis()).toEqual("Obad.1.1") expect(p.parse("عبدیاہ 1:1").osis()).toEqual("Obad.1.1") expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1") p.include_apocrypha(false) expect(p.parse("ʿABADIYĀH 1:1").osis()).toEqual("Obad.1.1") expect(p.parse("عبدیاہ 1:1").osis()).toEqual("Obad.1.1") expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1") ` true describe "Localized book Jonah (ur)", -> 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: Jonah (ur)", -> ` expect(p.parse("یُوناہ 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("yūnas 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("یونس 1:1").osis()).toEqual("Jonah.1.1") p.include_apocrypha(false) expect(p.parse("یُوناہ 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("YŪNAS 1:1").osis()).toEqual("Jonah.1.1") expect(p.parse("یونس 1:1").osis()).toEqual("Jonah.1.1") ` true describe "Localized book Mic (ur)", -> 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: Mic (ur)", -> ` expect(p.parse("مِیکاہ 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("mīkāh 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("میکاہ 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1") p.include_apocrypha(false) expect(p.parse("مِیکاہ 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("MĪKĀH 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("میکاہ 1:1").osis()).toEqual("Mic.1.1") expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1") ` true describe "Localized book Nah (ur)", -> 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: Nah (ur)", -> ` expect(p.parse("نا حُوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("ناحُوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("nāḥūm 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("ناحوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1") p.include_apocrypha(false) expect(p.parse("نا حُوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("ناحُوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("NĀḤŪM 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("ناحوم 1:1").osis()).toEqual("Nah.1.1") expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1") ` true describe "Localized book Hab (ur)", -> 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_ap