UNPKG

bible-ref-parse

Version:

Identifies and parses Bible references (like John 3:16) in over 40 languages.

786 lines (752 loc) 721 kB
(function() { var bcv_parser; bcv_parser = require("../../dist/uk-bcv-parser.js").bcv_parser; describe("Parsing", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.options.osis_compaction_strategy = "b"; return p.options.sequence_combination_strategy = "combine"; }); it("should round-trip OSIS references", function() { var bc, bcv, bcv_range, book, books, i, len, results; 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"]; results = []; for (i = 0, len = books.length; i < len; i++) { book = books[i]; 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); results.push(expect(p.parse(bcv_range).osis()).toEqual(bcv_range)); } return results; }); it("should round-trip OSIS Apocrypha references", function() { var bc, bcv, bcv_range, book, books, i, j, len, len1, results; 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 (i = 0, len = books.length; i < len; i++) { book = books[i]; 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); results = []; for (j = 0, len1 = books.length; j < len1; j++) { book = books[j]; bc = book + ".1"; results.push(expect(p.parse(bc).osis()).toEqual("")); } return results; }); return it("should handle a preceding character", function() { 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(""); return expect(p.parse("11Sam 1").osis()).toEqual(""); }); }); describe("Localized book Gen (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Gen (uk)", function() { expect(p.parse("1-ше. книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ше. книга Моисеева 1:1'") expect(p.parse("1-ше. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ше. книга Мойсеева 1:1'") expect(p.parse("Перша книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Перша книга Моисеева 1:1'") expect(p.parse("Перша книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Перша книга Мойсеева 1:1'") expect(p.parse("Перше книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Перше книга Моисеева 1:1'") expect(p.parse("Перше книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Перше книга Мойсеева 1:1'") expect(p.parse("1-а. книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-а. книга Моисеева 1:1'") expect(p.parse("1-а. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-а. книга Мойсеева 1:1'") expect(p.parse("1-е. книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-е. книга Моисеева 1:1'") expect(p.parse("1-е. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-е. книга Мойсеева 1:1'") expect(p.parse("1-ше книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ше книга Моисеева 1:1'") expect(p.parse("1-ше книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ше книга Мойсеева 1:1'") expect(p.parse("1-а книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-а книга Моисеева 1:1'") expect(p.parse("1-а книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-а книга Мойсеева 1:1'") expect(p.parse("1-е книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-е книга Моисеева 1:1'") expect(p.parse("1-е книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-е книга Мойсеева 1:1'") expect(p.parse("1. книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. книга Моисеева 1:1'") expect(p.parse("1. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. книга Мойсеева 1:1'") expect(p.parse("I. книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. книга Моисеева 1:1'") expect(p.parse("I. книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. книга Мойсеева 1:1'") expect(p.parse("1 книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 книга Моисеева 1:1'") expect(p.parse("1 книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 книга Мойсеева 1:1'") expect(p.parse("I книга Моисеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I книга Моисеева 1:1'") expect(p.parse("I книга Мойсеева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I книга Мойсеева 1:1'") expect(p.parse("Buttja 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Buttja 1:1'") expect(p.parse("Буття 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Буття 1:1'") expect(p.parse("1 М 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 М 1:1'") expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'") expect(p.parse("Буг 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Буг 1:1'") expect(p.parse("Бут 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Бут 1:1'") p.include_apocrypha(false) expect(p.parse("1-ШЕ. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ШЕ. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-ШЕ. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ШЕ. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ПЕРША КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЕРША КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ПЕРША КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЕРША КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ПЕРШЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЕРШЕ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ПЕРШЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПЕРШЕ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1-А. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-А. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-А. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-А. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1-Е. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-Е. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-Е. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-Е. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1-ШЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ШЕ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-ШЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-ШЕ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1-А КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-А КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-А КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-А КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1-Е КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-Е КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1-Е КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1-Е КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("I. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("I. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("1 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 КНИГА МОИСЕЕВА 1:1'") expect(p.parse("1 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("I КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I КНИГА МОИСЕЕВА 1:1'") expect(p.parse("I КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("BUTTJA 1:1").osis()).toEqual("Gen.1.1", "parsing: 'BUTTJA 1:1'") expect(p.parse("БУТТЯ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'БУТТЯ 1:1'") expect(p.parse("1 М 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 М 1:1'") expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'") expect(p.parse("БУГ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'БУГ 1:1'") expect(p.parse("БУТ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'БУТ 1:1'") ; return true; }); }); describe("Localized book Exod (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Exod (uk)", function() { expect(p.parse("2-ге. книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ге. книга Моисеева 1:1'") expect(p.parse("2-ге. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ге. книга Мойсеева 1:1'") expect(p.parse("Друга книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друга книга Моисеева 1:1'") expect(p.parse("Друга книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друга книга Мойсеева 1:1'") expect(p.parse("Друге книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друге книга Моисеева 1:1'") expect(p.parse("Друге книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друге книга Мойсеева 1:1'") expect(p.parse("2-а. книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-а. книга Моисеева 1:1'") expect(p.parse("2-а. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-а. книга Мойсеева 1:1'") expect(p.parse("2-ге книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ге книга Моисеева 1:1'") expect(p.parse("2-ге книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ге книга Мойсеева 1:1'") expect(p.parse("2-е. книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-е. книга Моисеева 1:1'") expect(p.parse("2-е. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-е. книга Мойсеева 1:1'") expect(p.parse("2-а книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-а книга Моисеева 1:1'") expect(p.parse("2-а книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-а книга Мойсеева 1:1'") expect(p.parse("2-е книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-е книга Моисеева 1:1'") expect(p.parse("2-е книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-е книга Мойсеева 1:1'") expect(p.parse("II. книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. книга Моисеева 1:1'") expect(p.parse("II. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. книга Мойсеева 1:1'") expect(p.parse("2. книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. книга Моисеева 1:1'") expect(p.parse("2. книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. книга Мойсеева 1:1'") expect(p.parse("II книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II книга Моисеева 1:1'") expect(p.parse("II книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II книга Мойсеева 1:1'") expect(p.parse("2 книга Моисеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 книга Моисеева 1:1'") expect(p.parse("2 книга Мойсеева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 книга Мойсеева 1:1'") expect(p.parse("Vyhid 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Vyhid 1:1'") expect(p.parse("Vyȟid 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Vyȟid 1:1'") expect(p.parse("Вихід 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Вихід 1:1'") expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'") expect(p.parse("2 М 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 М 1:1'") expect(p.parse("Вих 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Вих 1:1'") p.include_apocrypha(false) expect(p.parse("2-ГЕ. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ГЕ. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-ГЕ. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ГЕ. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ДРУГА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ДРУГА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГА КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ДРУГЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГЕ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ДРУГЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГЕ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2-А. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-А. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-А. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-А. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2-ГЕ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ГЕ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-ГЕ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-ГЕ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2-Е. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-Е. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-Е. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-Е. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2-А КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-А КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-А КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-А КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2-Е КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-Е КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2-Е КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2-Е КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("II. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("II. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("II КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II КНИГА МОИСЕЕВА 1:1'") expect(p.parse("II КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("2 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 КНИГА МОИСЕЕВА 1:1'") expect(p.parse("2 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("VYHID 1:1").osis()).toEqual("Exod.1.1", "parsing: 'VYHID 1:1'") expect(p.parse("VYȞID 1:1").osis()).toEqual("Exod.1.1", "parsing: 'VYȞID 1:1'") expect(p.parse("ВИХІД 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ВИХІД 1:1'") expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'") expect(p.parse("2 М 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 М 1:1'") expect(p.parse("ВИХ 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ВИХ 1:1'") ; return true; }); }); describe("Localized book Bel (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Bel (uk)", function() { expect(p.parse("Бел і дракон 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Бел і дракон 1:1'") expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'") expect(p.parse("Бел 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Бел 1:1'") ; return true; }); }); describe("Localized book Lev (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Lev (uk)", function() { expect(p.parse("3-тє. книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-тє. книга Моисеева 1:1'") expect(p.parse("3-тє. книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-тє. книга Мойсеева 1:1'") expect(p.parse("Третя книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Третя книга Моисеева 1:1'") expect(p.parse("Третя книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Третя книга Мойсеева 1:1'") expect(p.parse("Третє книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Третє книга Моисеева 1:1'") expect(p.parse("Третє книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Третє книга Мойсеева 1:1'") expect(p.parse("3-а. книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-а. книга Моисеева 1:1'") expect(p.parse("3-а. книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-а. книга Мойсеева 1:1'") expect(p.parse("3-е. книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-е. книга Моисеева 1:1'") expect(p.parse("3-е. книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-е. книга Мойсеева 1:1'") expect(p.parse("3-тє книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-тє книга Моисеева 1:1'") expect(p.parse("3-тє книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-тє книга Мойсеева 1:1'") expect(p.parse("III. книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. книга Моисеева 1:1'") expect(p.parse("III. книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. книга Мойсеева 1:1'") expect(p.parse("3-а книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-а книга Моисеева 1:1'") expect(p.parse("3-а книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-а книга Мойсеева 1:1'") expect(p.parse("3-е книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-е книга Моисеева 1:1'") expect(p.parse("3-е книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-е книга Мойсеева 1:1'") expect(p.parse("III книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III книга Моисеева 1:1'") expect(p.parse("III книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III книга Мойсеева 1:1'") expect(p.parse("3. книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. книга Моисеева 1:1'") expect(p.parse("3. книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. книга Мойсеева 1:1'") expect(p.parse("3 книга Моисеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 книга Моисеева 1:1'") expect(p.parse("3 книга Мойсеева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 книга Мойсеева 1:1'") expect(p.parse("Levyt 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levyt 1:1'") expect(p.parse("Левит 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Левит 1:1'") expect(p.parse("3 М 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 М 1:1'") expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'") p.include_apocrypha(false) expect(p.parse("3-ТЄ. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-ТЄ. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-ТЄ. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-ТЄ. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ТРЕТЯ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТЯ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ТРЕТЯ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТЯ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("ТРЕТЄ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТЄ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ТРЕТЄ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕТЄ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3-А. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-А. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-А. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-А. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3-Е. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-Е. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-Е. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-Е. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3-ТЄ КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-ТЄ КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-ТЄ КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-ТЄ КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("III. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("III. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3-А КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-А КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-А КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-А КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3-Е КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-Е КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3-Е КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3-Е КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("III КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III КНИГА МОИСЕЕВА 1:1'") expect(p.parse("III КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("3 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 КНИГА МОИСЕЕВА 1:1'") expect(p.parse("3 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("LEVYT 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVYT 1:1'") expect(p.parse("ЛЕВИТ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ЛЕВИТ 1:1'") expect(p.parse("3 М 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 М 1:1'") expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'") ; return true; }); }); describe("Localized book Num (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Num (uk)", function() { expect(p.parse("Четверта книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четверта книга Моисеева 1:1'") expect(p.parse("Четверта книга Мойсеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четверта книга Мойсеева 1:1'") expect(p.parse("IV. книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. книга Моисеева 1:1'") expect(p.parse("IV. книга Мойсеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. книга Мойсеева 1:1'") expect(p.parse("4. книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4. книга Моисеева 1:1'") expect(p.parse("4. книга Мойсеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4. книга Мойсеева 1:1'") expect(p.parse("IV книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV книга Моисеева 1:1'") expect(p.parse("IV книга Мойсеева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV книга Мойсеева 1:1'") expect(p.parse("4 книга Моисеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4 книга Моисеева 1:1'") expect(p.parse("4 книга Мойсеева 1:1").osis()).toEqual("Num.1.1", "parsing: '4 книга Мойсеева 1:1'") expect(p.parse("Cysla 1:1").osis()).toEqual("Num.1.1", "parsing: 'Cysla 1:1'") expect(p.parse("Čysla 1:1").osis()).toEqual("Num.1.1", "parsing: 'Čysla 1:1'") expect(p.parse("Числа 1:1").osis()).toEqual("Num.1.1", "parsing: 'Числа 1:1'") expect(p.parse("4 М 1:1").osis()).toEqual("Num.1.1", "parsing: '4 М 1:1'") expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'") expect(p.parse("Чис 1:1").osis()).toEqual("Num.1.1", "parsing: 'Чис 1:1'") p.include_apocrypha(false) expect(p.parse("ЧЕТВЕРТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВЕРТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("ЧЕТВЕРТА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВЕРТА КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("IV. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("IV. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("4. КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4. КНИГА МОИСЕЕВА 1:1'") expect(p.parse("4. КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4. КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("IV КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV КНИГА МОИСЕЕВА 1:1'") expect(p.parse("IV КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("4 КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4 КНИГА МОИСЕЕВА 1:1'") expect(p.parse("4 КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4 КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("CYSLA 1:1").osis()).toEqual("Num.1.1", "parsing: 'CYSLA 1:1'") expect(p.parse("ČYSLA 1:1").osis()).toEqual("Num.1.1", "parsing: 'ČYSLA 1:1'") expect(p.parse("ЧИСЛА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧИСЛА 1:1'") expect(p.parse("4 М 1:1").osis()).toEqual("Num.1.1", "parsing: '4 М 1:1'") expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'") expect(p.parse("ЧИС 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧИС 1:1'") ; return true; }); }); describe("Localized book Sir (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Sir (uk)", function() { expect(p.parse("Премудрість Ісуса, сина Сирахова 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Премудрість Ісуса, сина Сирахова 1:1'") expect(p.parse("Книга Сираха 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Книга Сираха 1:1'") expect(p.parse("Бен Сираха 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Бен Сираха 1:1'") expect(p.parse("Еклесіаст 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Еклесіаст 1:1'") expect(p.parse("Сираха 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сираха 1:1'") expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'") expect(p.parse("Сир 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сир 1:1'") ; return true; }); }); describe("Localized book Wis (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Wis (uk)", function() { expect(p.parse("Книга Премудрості Соломона 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Книга Премудрості Соломона 1:1'") expect(p.parse("Премудрість Соломона 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Премудрість Соломона 1:1'") expect(p.parse("Книга Мудрости 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Книга Мудрости 1:1'") expect(p.parse("Мудрости 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Мудрости 1:1'") expect(p.parse("Прем 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Прем 1:1'") expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'") expect(p.parse("Муд 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Муд 1:1'") ; return true; }); }); describe("Localized book Lam (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Lam (uk)", function() { expect(p.parse("Plac Jeremii 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Plac Jeremii 1:1'") expect(p.parse("Plac Jeremiï 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Plac Jeremiï 1:1'") expect(p.parse("Plač Jeremii 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Plač Jeremii 1:1'") expect(p.parse("Plač Jeremiï 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Plač Jeremiï 1:1'") expect(p.parse("Плач Єреміі 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач Єреміі 1:1'") expect(p.parse("Плач Єремії 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач Єремії 1:1'") expect(p.parse("Плач 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Плач 1:1'") expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'") p.include_apocrypha(false) expect(p.parse("PLAC JEREMII 1:1").osis()).toEqual("Lam.1.1", "parsing: 'PLAC JEREMII 1:1'") expect(p.parse("PLAC JEREMIÏ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'PLAC JEREMIÏ 1:1'") expect(p.parse("PLAČ JEREMII 1:1").osis()).toEqual("Lam.1.1", "parsing: 'PLAČ JEREMII 1:1'") expect(p.parse("PLAČ JEREMIÏ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'PLAČ JEREMIÏ 1:1'") expect(p.parse("ПЛАЧ ЄРЕМІІ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ ЄРЕМІІ 1:1'") expect(p.parse("ПЛАЧ ЄРЕМІЇ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ ЄРЕМІЇ 1:1'") expect(p.parse("ПЛАЧ 1:1").osis()).toEqual("Lam.1.1", "parsing: 'ПЛАЧ 1:1'") expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'") ; return true; }); }); describe("Localized book EpJer (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: EpJer (uk)", function() { expect(p.parse("Послання Єреміі 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Послання Єреміі 1:1'") expect(p.parse("Послання Єремії 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Послання Єремії 1:1'") expect(p.parse("Лист Єреміі 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Лист Єреміі 1:1'") expect(p.parse("Лист Єремії 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Лист Єремії 1:1'") expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'") ; return true; }); }); describe("Localized book Rev (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Rev (uk)", function() { expect(p.parse("Об'явлення св. Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св. Івана Богослова 1:1'") expect(p.parse("Об'явлення св. Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св. Иоана Богослова 1:1'") expect(p.parse("Об'явлення св. Йоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св. Йоана Богослова 1:1'") expect(p.parse("Об’явлення св. Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св. Івана Богослова 1:1'") expect(p.parse("Об’явлення св. Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св. Иоана Богослова 1:1'") expect(p.parse("Об’явлення св. Йоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св. Йоана Богослова 1:1'") expect(p.parse("Об'явлення св Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св Івана Богослова 1:1'") expect(p.parse("Об'явлення св Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св Иоана Богослова 1:1'") expect(p.parse("Об'явлення св Йоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення св Йоана Богослова 1:1'") expect(p.parse("Об’явлення св Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св Івана Богослова 1:1'") expect(p.parse("Об’явлення св Иоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св Иоана Богослова 1:1'") expect(p.parse("Об’явлення св Йоана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення св Йоана Богослова 1:1'") expect(p.parse("Ob'javlennja Ivana Bohoslova 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ob'javlennja Ivana Bohoslova 1:1'") expect(p.parse("Ob’javlennja Ivana Bohoslova 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ob’javlennja Ivana Bohoslova 1:1'") expect(p.parse("Об'явлення Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення Івана Богослова 1:1'") expect(p.parse("Об’явлення Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення Івана Богослова 1:1'") expect(p.parse("Одкровення Івана Богослова 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Одкровення Івана Богослова 1:1'") expect(p.parse("Відкриття Івана 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Відкриття Івана 1:1'") expect(p.parse("Апока́ліпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апока́ліпсис 1:1'") expect(p.parse("Апокaліпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокaліпсис 1:1'") expect(p.parse("Апокáліпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокáліпсис 1:1'") expect(p.parse("Апокалiпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокалiпсис 1:1'") expect(p.parse("Апокалíпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокалíпсис 1:1'") expect(p.parse("Апокаліпсис 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Апокаліпсис 1:1'") expect(p.parse("Об'явлення 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об'явлення 1:1'") expect(p.parse("Об’явлення 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об’явлення 1:1'") expect(p.parse("Одкриттє 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Одкриттє 1:1'") expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'") expect(p.parse("Об 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Об 1:1'") p.include_apocrypha(false) expect(p.parse("ОБ'ЯВЛЕННЯ СВ. ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ. ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ СВ. ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ. ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ СВ. ЙОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ. ЙОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ. ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ. ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ. ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ. ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ. ЙОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ. ЙОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ СВ ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ СВ ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ СВ ЙОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ СВ ЙОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ ИОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ ИОАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ СВ ЙОАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ СВ ЙОАНА БОГОСЛОВА 1:1'") expect(p.parse("OB'JAVLENNJA IVANA BOHOSLOVA 1:1").osis()).toEqual("Rev.1.1", "parsing: 'OB'JAVLENNJA IVANA BOHOSLOVA 1:1'") expect(p.parse("OB’JAVLENNJA IVANA BOHOSLOVA 1:1").osis()).toEqual("Rev.1.1", "parsing: 'OB’JAVLENNJA IVANA BOHOSLOVA 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ОДКРОВЕННЯ ІВАНА БОГОСЛОВА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОДКРОВЕННЯ ІВАНА БОГОСЛОВА 1:1'") expect(p.parse("ВІДКРИТТЯ ІВАНА 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ВІДКРИТТЯ ІВАНА 1:1'") expect(p.parse("АПОКА́ЛІПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКА́ЛІПСИС 1:1'") expect(p.parse("АПОКAЛІПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКAЛІПСИС 1:1'") expect(p.parse("АПОКÁЛІПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКÁЛІПСИС 1:1'") expect(p.parse("АПОКАЛIПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКАЛIПСИС 1:1'") expect(p.parse("АПОКАЛÍПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКАЛÍПСИС 1:1'") expect(p.parse("АПОКАЛІПСИС 1:1").osis()).toEqual("Rev.1.1", "parsing: 'АПОКАЛІПСИС 1:1'") expect(p.parse("ОБ'ЯВЛЕННЯ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ'ЯВЛЕННЯ 1:1'") expect(p.parse("ОБ’ЯВЛЕННЯ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ’ЯВЛЕННЯ 1:1'") expect(p.parse("ОДКРИТТЄ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОДКРИТТЄ 1:1'") expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'") expect(p.parse("ОБ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ОБ 1:1'") ; return true; }); }); describe("Localized book PrMan (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: PrMan (uk)", function() { expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'") ; return true; }); }); describe("Localized book Deut (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Deut (uk)", function() { expect(p.parse("П'ята книга Моисеева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П'ята книга Моисеева 1:1'") expect(p.parse("П'ята книга Мойсеева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П'ята книга Мойсеева 1:1'") expect(p.parse("П’ята книга Моисеева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П’ята книга Моисеева 1:1'") expect(p.parse("П’ята книга Мойсеева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П’ята книга Мойсеева 1:1'") expect(p.parse("Povtorennja Zakonu 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Povtorennja Zakonu 1:1'") expect(p.parse("Повторення Закону 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Повторення Закону 1:1'") expect(p.parse("Второзаконня 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Второзаконня 1:1'") expect(p.parse("Повт. Закону 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Повт. Закону 1:1'") expect(p.parse("Повт Закону 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Повт Закону 1:1'") expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'") expect(p.parse("Втор 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Втор 1:1'") expect(p.parse("Повт 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Повт 1:1'") expect(p.parse("5 М 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 М 1:1'") p.include_apocrypha(false) expect(p.parse("П'ЯТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П'ЯТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("П'ЯТА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П'ЯТА КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("П’ЯТА КНИГА МОИСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П’ЯТА КНИГА МОИСЕЕВА 1:1'") expect(p.parse("П’ЯТА КНИГА МОЙСЕЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'П’ЯТА КНИГА МОЙСЕЕВА 1:1'") expect(p.parse("POVTORENNJA ZAKONU 1:1").osis()).toEqual("Deut.1.1", "parsing: 'POVTORENNJA ZAKONU 1:1'") expect(p.parse("ПОВТОРЕННЯ ЗАКОНУ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПОВТОРЕННЯ ЗАКОНУ 1:1'") expect(p.parse("ВТОРОЗАКОННЯ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТОРОЗАКОННЯ 1:1'") expect(p.parse("ПОВТ. ЗАКОНУ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПОВТ. ЗАКОНУ 1:1'") expect(p.parse("ПОВТ ЗАКОНУ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПОВТ ЗАКОНУ 1:1'") expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'") expect(p.parse("ВТОР 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ВТОР 1:1'") expect(p.parse("ПОВТ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПОВТ 1:1'") expect(p.parse("5 М 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 М 1:1'") ; return true; }); }); describe("Localized book Josh (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Josh (uk)", function() { expect(p.parse("Книга Ісуса Навина 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Книга Ісуса Навина 1:1'") expect(p.parse("Ісуса Навина 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Ісуса Навина 1:1'") expect(p.parse("Книга Єгошуі 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Книга Єгошуі 1:1'") expect(p.parse("Книга Єгошуї 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Книга Єгошуї 1:1'") expect(p.parse("Isus Navyn 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Isus Navyn 1:1'") expect(p.parse("Ісус Навин 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Ісус Навин 1:1'") expect(p.parse("Єгошуі 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Єгошуі 1:1'") expect(p.parse("Єгошуї 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Єгошуї 1:1'") expect(p.parse("І. Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'І. Нав 1:1'") expect(p.parse("І Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'І Нав 1:1'") expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'") expect(p.parse("Нав 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Нав 1:1'") expect(p.parse("Єг 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Єг 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА ІСУСА НАВИНА 1:1").osis()).toEqual("Josh.1.1", "parsing: 'КНИГА ІСУСА НАВИНА 1:1'") expect(p.parse("ІСУСА НАВИНА 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ІСУСА НАВИНА 1:1'") expect(p.parse("КНИГА ЄГОШУІ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'КНИГА ЄГОШУІ 1:1'") expect(p.parse("КНИГА ЄГОШУЇ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'КНИГА ЄГОШУЇ 1:1'") expect(p.parse("ISUS NAVYN 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ISUS NAVYN 1:1'") expect(p.parse("ІСУС НАВИН 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ІСУС НАВИН 1:1'") expect(p.parse("ЄГОШУІ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ЄГОШУІ 1:1'") expect(p.parse("ЄГОШУЇ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ЄГОШУЇ 1:1'") expect(p.parse("І. НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'І. НАВ 1:1'") expect(p.parse("І НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'І НАВ 1:1'") expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'") expect(p.parse("НАВ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'НАВ 1:1'") expect(p.parse("ЄГ 1:1").osis()).toEqual("Josh.1.1", "parsing: 'ЄГ 1:1'") ; return true; }); }); describe("Localized book Judg (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Judg (uk)", function() { expect(p.parse("Knyha Suddiv 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Knyha Suddiv 1:1'") expect(p.parse("Книга Суддів 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Книга Суддів 1:1'") expect(p.parse("Суддів 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Суддів 1:1'") expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'") expect(p.parse("Суд 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Суд 1:1'") p.include_apocrypha(false) expect(p.parse("KNYHA SUDDIV 1:1").osis()).toEqual("Judg.1.1", "parsing: 'KNYHA SUDDIV 1:1'") expect(p.parse("КНИГА СУДДІВ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'КНИГА СУДДІВ 1:1'") expect(p.parse("СУДДІВ 1:1").osis()).toEqual("Judg.1.1", "parsing: 'СУДДІВ 1:1'") expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'") expect(p.parse("СУД 1:1").osis()).toEqual("Judg.1.1", "parsing: 'СУД 1:1'") ; return true; }); }); describe("Localized book Ruth (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: Ruth (uk)", function() { expect(p.parse("Книга Рут 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Книга Рут 1:1'") expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'") expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rut 1:1'") expect(p.parse("Рут 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Рут 1:1'") p.include_apocrypha(false) expect(p.parse("КНИГА РУТ 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'КНИГА РУТ 1:1'") expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'") expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUT 1:1'") expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'РУТ 1:1'") ; return true; }); }); describe("Localized book 1Esd (uk)", function() { var p; p = {}; beforeEach(function() { p = new bcv_parser(); p.set_options({ book_alone_strategy: "ignore", book_sequence_strategy: "ignore", osis_compaction_strategy: "bc", captive_end_digits_strategy: "delete" }); return p.include_apocrypha(true); }); return it("should handle book: 1Esd (uk)", function() { expect(p.parse("1-ше. Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-ше. Ездра 1:1'") expect(p.parse("1-ше. Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-ше. Ездри 1:1'") expect(p.parse("Перша Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Перша Ездра 1:1'") expect(p.parse("Перша Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Перша Ездри 1:1'") expect(p.parse("Перше Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Перше Ездра 1:1'") expect(p.parse("Перше Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Перше Ездри 1:1'") expect(p.parse("1-а. Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-а. Ездра 1:1'") expect(p.parse("1-а. Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-а. Ездри 1:1'") expect(p.parse("1-е. Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-е. Ездра 1:1'") expect(p.parse("1-е. Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-е. Ездри 1:1'") expect(p.parse("1-ше Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-ше Ездра 1:1'") expect(p.parse("1-ше Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-ше Ездри 1:1'") expect(p.parse("1-а Ездра 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-а Ездра 1:1'") expect(p.parse("1-а Ездри 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1-а Ездри 1:1'") expect