UNPKG

bible-ref-parse

Version:

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

896 lines (852 loc) 204 kB
(function() { var bcv_parser; bcv_parser = require("../../dist/sr-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 (sr)", 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 (sr)", function() { expect(p.parse("Прва Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Прва Mojsijeva 1:1'") expect(p.parse("Прва Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Прва Мојсијева 1:1'") expect(p.parse("1.. Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: '1.. Mojsijeva 1:1'") expect(p.parse("1.. Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1.. Мојсијева 1:1'") expect(p.parse("1. Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. Mojsijeva 1:1'") expect(p.parse("1. Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. Мојсијева 1:1'") expect(p.parse("I. Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. Mojsijeva 1:1'") expect(p.parse("I. Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. Мојсијева 1:1'") expect(p.parse("1 Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 Mojsijeva 1:1'") expect(p.parse("1 Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 Мојсијева 1:1'") expect(p.parse("I Mojsijeva 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I Mojsijeva 1:1'") expect(p.parse("I Мојсијева 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I Мојсијева 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("I. Мојс 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. Мојс 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("I Мојс 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I Мојс 1:1'") expect(p.parse("Пост 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Пост 1:1'") expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'") p.include_apocrypha(false) expect(p.parse("ПРВА MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПРВА MOJSIJEVA 1:1'") expect(p.parse("ПРВА МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПРВА МОЈСИЈЕВА 1:1'") expect(p.parse("1.. MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: '1.. MOJSIJEVA 1:1'") expect(p.parse("1.. МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1.. МОЈСИЈЕВА 1:1'") expect(p.parse("1. MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. MOJSIJEVA 1:1'") expect(p.parse("1. МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. МОЈСИЈЕВА 1:1'") expect(p.parse("I. MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. MOJSIJEVA 1:1'") expect(p.parse("I. МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. МОЈСИЈЕВА 1:1'") expect(p.parse("1 MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 MOJSIJEVA 1:1'") expect(p.parse("1 МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 МОЈСИЈЕВА 1:1'") expect(p.parse("I MOJSIJEVA 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I MOJSIJEVA 1:1'") expect(p.parse("I МОЈСИЈЕВА 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I МОЈСИЈЕВА 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("I. МОЈС 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I. МОЈС 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("I МОЈС 1:1").osis()).toEqual("Gen.1.1", "parsing: 'I МОЈС 1:1'") expect(p.parse("ПОСТ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ПОСТ 1:1'") expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'") ; return true; }); }); describe("Localized book Exod (sr)", 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 (sr)", function() { expect(p.parse("Друга Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друга Mojsijeva 1:1'") expect(p.parse("Друга Мојсијева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Друга Мојсијева 1:1'") expect(p.parse("2.. Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: '2.. Mojsijeva 1:1'") expect(p.parse("2.. Мојсијева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2.. Мојсијева 1:1'") expect(p.parse("II. Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. Mojsijeva 1:1'") expect(p.parse("II. Мојсијева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. Мојсијева 1:1'") expect(p.parse("2. Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. Mojsijeva 1:1'") expect(p.parse("2. Мојсијева 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. Мојсијева 1:1'") expect(p.parse("II Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II Mojsijeva 1:1'") expect(p.parse("II Мојсијева 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II Мојсијева 1:1'") expect(p.parse("2 Mojsijeva 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 Mojsijeva 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("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("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("Егзодус 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("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'") expect(p.parse("Изл 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Изл 1:1'") p.include_apocrypha(false) expect(p.parse("ДРУГА MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГА MOJSIJEVA 1:1'") expect(p.parse("ДРУГА МОЈСИЈЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ДРУГА МОЈСИЈЕВА 1:1'") expect(p.parse("2.. MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: '2.. MOJSIJEVA 1:1'") expect(p.parse("2.. МОЈСИЈЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2.. МОЈСИЈЕВА 1:1'") expect(p.parse("II. MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. MOJSIJEVA 1:1'") expect(p.parse("II. МОЈСИЈЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II. МОЈСИЈЕВА 1:1'") expect(p.parse("2. MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. MOJSIJEVA 1:1'") expect(p.parse("2. МОЈСИЈЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. МОЈСИЈЕВА 1:1'") expect(p.parse("II MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II MOJSIJEVA 1:1'") expect(p.parse("II МОЈСИЈЕВА 1:1").osis()).toEqual("Exod.1.1", "parsing: 'II МОЈСИЈЕВА 1:1'") expect(p.parse("2 MOJSIJEVA 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 MOJSIJEVA 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("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("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("ЕГЗОДУС 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("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'") expect(p.parse("ИЗЛ 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ИЗЛ 1:1'") ; return true; }); }); describe("Localized book Bel (sr)", 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 (sr)", function() { expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'") ; return true; }); }); describe("Localized book Lev (sr)", 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 (sr)", function() { expect(p.parse("Трећом Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трећом Mojsijeva 1:1'") expect(p.parse("Трећом Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трећом Мојсијева 1:1'") expect(p.parse("Трећа Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трећа Mojsijeva 1:1'") expect(p.parse("Трећа Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Трећа Мојсијева 1:1'") expect(p.parse("III. Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. Mojsijeva 1:1'") expect(p.parse("III. Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. Мојсијева 1:1'") expect(p.parse("3.. Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: '3.. Mojsijeva 1:1'") expect(p.parse("3.. Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3.. Мојсијева 1:1'") expect(p.parse("III Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III Mojsijeva 1:1'") expect(p.parse("III Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III Мојсијева 1:1'") expect(p.parse("3. Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. Mojsijeva 1:1'") expect(p.parse("3. Мојсијева 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. Мојсијева 1:1'") expect(p.parse("3 Mojsijeva 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 Mojsijeva 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("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("III Мојс 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III Мојс 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("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'") expect(p.parse("Лев 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Лев 1:1'") p.include_apocrypha(false) expect(p.parse("ТРЕЋОМ MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕЋОМ MOJSIJEVA 1:1'") expect(p.parse("ТРЕЋОМ МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕЋОМ МОЈСИЈЕВА 1:1'") expect(p.parse("ТРЕЋА MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕЋА MOJSIJEVA 1:1'") expect(p.parse("ТРЕЋА МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ТРЕЋА МОЈСИЈЕВА 1:1'") expect(p.parse("III. MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. MOJSIJEVA 1:1'") expect(p.parse("III. МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III. МОЈСИЈЕВА 1:1'") expect(p.parse("3.. MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: '3.. MOJSIJEVA 1:1'") expect(p.parse("3.. МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3.. МОЈСИЈЕВА 1:1'") expect(p.parse("III MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III MOJSIJEVA 1:1'") expect(p.parse("III МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III МОЈСИЈЕВА 1:1'") expect(p.parse("3. MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. MOJSIJEVA 1:1'") expect(p.parse("3. МОЈСИЈЕВА 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. МОЈСИЈЕВА 1:1'") expect(p.parse("3 MOJSIJEVA 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 MOJSIJEVA 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("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("III МОЈС 1:1").osis()).toEqual("Lev.1.1", "parsing: 'III МОЈС 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("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'") expect(p.parse("ЛЕВ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ЛЕВ 1:1'") ; return true; }); }); describe("Localized book Num (sr)", 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 (sr)", function() { expect(p.parse("Четврта Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четврта Mojsijeva 1:1'") expect(p.parse("Четврта Мојсијева 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четврта Мојсијева 1:1'") expect(p.parse("4.. Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: '4.. Mojsijeva 1:1'") expect(p.parse("4.. Мојсијева 1:1").osis()).toEqual("Num.1.1", "parsing: '4.. Мојсијева 1:1'") expect(p.parse("IV. Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. Mojsijeva 1:1'") expect(p.parse("IV. Мојсијева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. Мојсијева 1:1'") expect(p.parse("4. Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: '4. Mojsijeva 1:1'") expect(p.parse("4. Мојсијева 1:1").osis()).toEqual("Num.1.1", "parsing: '4. Мојсијева 1:1'") expect(p.parse("IV Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV Mojsijeva 1:1'") expect(p.parse("IV Мојсијева 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV Мојсијева 1:1'") expect(p.parse("Четврта Мојс 1:1").osis()).toEqual("Num.1.1", "parsing: 'Четврта Мојс 1:1'") expect(p.parse("4 Mojsijeva 1:1").osis()).toEqual("Num.1.1", "parsing: '4 Mojsijeva 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("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("Бројеви 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("ЧЕТВРТА MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВРТА MOJSIJEVA 1:1'") expect(p.parse("ЧЕТВРТА МОЈСИЈЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВРТА МОЈСИЈЕВА 1:1'") expect(p.parse("4.. MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: '4.. MOJSIJEVA 1:1'") expect(p.parse("4.. МОЈСИЈЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4.. МОЈСИЈЕВА 1:1'") expect(p.parse("IV. MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. MOJSIJEVA 1:1'") expect(p.parse("IV. МОЈСИЈЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV. МОЈСИЈЕВА 1:1'") expect(p.parse("4. MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: '4. MOJSIJEVA 1:1'") expect(p.parse("4. МОЈСИЈЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: '4. МОЈСИЈЕВА 1:1'") expect(p.parse("IV MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV MOJSIJEVA 1:1'") expect(p.parse("IV МОЈСИЈЕВА 1:1").osis()).toEqual("Num.1.1", "parsing: 'IV МОЈСИЈЕВА 1:1'") expect(p.parse("ЧЕТВРТА МОЈС 1:1").osis()).toEqual("Num.1.1", "parsing: 'ЧЕТВРТА МОЈС 1:1'") expect(p.parse("4 MOJSIJEVA 1:1").osis()).toEqual("Num.1.1", "parsing: '4 MOJSIJEVA 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("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("БРОЈЕВИ 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 (sr)", 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 (sr)", 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("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'") expect(p.parse("Сир 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Сир 1:1'") ; return true; }); }); describe("Localized book Wis (sr)", 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 (sr)", 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("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'") ; return true; }); }); describe("Localized book Lam (sr)", 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 (sr)", function() { 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("ПЛАЧ ЈЕРЕМИЈИН 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 (sr)", 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 (sr)", 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("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'") ; return true; }); }); describe("Localized book Rev (sr)", 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 (sr)", 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("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("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 (sr)", 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 (sr)", function() { expect(p.parse("Молитва Манасијина 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Молитва Манасијина 1:1'") expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'") ; return true; }); }); describe("Localized book Deut (sr)", 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 (sr)", function() { expect(p.parse("Поновљени закони 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Поновљени закони 1:1'") expect(p.parse("Пета Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Пета Mojsijeva 1:1'") expect(p.parse("Пета Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Пета Мојсијева 1:1'") expect(p.parse("5.. Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: '5.. Mojsijeva 1:1'") expect(p.parse("5.. Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: '5.. Мојсијева 1:1'") expect(p.parse("5. Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. Mojsijeva 1:1'") expect(p.parse("5. Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. Мојсијева 1:1'") expect(p.parse("V. Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. Mojsijeva 1:1'") expect(p.parse("V. Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. Мојсијева 1:1'") expect(p.parse("5 Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Mojsijeva 1:1'") expect(p.parse("5 Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Мојсијева 1:1'") expect(p.parse("V Mojsijeva 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V Mojsijeva 1:1'") expect(p.parse("V Мојсијева 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V Мојсијева 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'") expect(p.parse("5. Мојс 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. Мојс 1:1'") expect(p.parse("V. Мојс 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. Мојс 1:1'") expect(p.parse("5 Мојс 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Мојс 1:1'") expect(p.parse("V Мојс 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V Мојс 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'") p.include_apocrypha(false) expect(p.parse("ПОНОВЉЕНИ ЗАКОНИ 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПОНОВЉЕНИ ЗАКОНИ 1:1'") expect(p.parse("ПЕТА MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПЕТА MOJSIJEVA 1:1'") expect(p.parse("ПЕТА МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'ПЕТА МОЈСИЈЕВА 1:1'") expect(p.parse("5.. MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: '5.. MOJSIJEVA 1:1'") expect(p.parse("5.. МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: '5.. МОЈСИЈЕВА 1:1'") expect(p.parse("5. MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. MOJSIJEVA 1:1'") expect(p.parse("5. МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. МОЈСИЈЕВА 1:1'") expect(p.parse("V. MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. MOJSIJEVA 1:1'") expect(p.parse("V. МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. МОЈСИЈЕВА 1:1'") expect(p.parse("5 MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 MOJSIJEVA 1:1'") expect(p.parse("5 МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 МОЈСИЈЕВА 1:1'") expect(p.parse("V MOJSIJEVA 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V MOJSIJEVA 1:1'") expect(p.parse("V МОЈСИЈЕВА 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V МОЈСИЈЕВА 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'") expect(p.parse("5. МОЈС 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. МОЈС 1:1'") expect(p.parse("V. МОЈС 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V. МОЈС 1:1'") expect(p.parse("5 МОЈС 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 МОЈС 1:1'") expect(p.parse("V МОЈС 1:1").osis()).toEqual("Deut.1.1", "parsing: 'V МОЈС 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'") ; return true; }); }); describe("Localized book Josh (sr)", 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 (sr)", function() { 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'") p.include_apocrypha(false) 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'") ; return true; }); }); describe("Localized book Judg (sr)", 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 (sr)", function() { 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("СУДИЈА 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 (sr)", 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 (sr)", function() { expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'") expect(p.parse("Рута 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Рута 1:1'") expect(p.parse("Рут 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Рут 1:1'") p.include_apocrypha(false) expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'") expect(p.parse("РУТА 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'РУТА 1:1'") expect(p.parse("РУТ 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'РУТ 1:1'") ; return true; }); }); describe("Localized book 1Esd (sr)", 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 (sr)", function() { 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").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("I. Јездрина 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Јездрина 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("I Јездрина 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Јездрина 1:1'") expect(p.parse("I. Ездрина 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Ездрина 1:1'") expect(p.parse("1 Ездрина 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Ездрина 1:1'") expect(p.parse("I Ездрина 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Ездрина 1:1'") expect(p.parse("1 Јез 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Јез 1:1'") expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'") ; return true; }); }); describe("Localized book 2Esd (sr)", 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: 2Esd (sr)", function() { expect(p.parse("Друга Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Друга Јездрина 1:1'") expect(p.parse("Друга Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Друга Ездрина 1:1'") expect(p.parse("2.. Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2.. Јездрина 1:1'") expect(p.parse("II. Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Јездрина 1:1'") expect(p.parse("2. Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Јездрина 1:1'") expect(p.parse("2.. Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2.. Ездрина 1:1'") expect(p.parse("II Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Јездрина 1:1'") expect(p.parse("II. Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Ездрина 1:1'") expect(p.parse("2 Јездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Јездрина 1:1'") expect(p.parse("2. Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Ездрина 1:1'") expect(p.parse("II Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Ездрина 1:1'") expect(p.parse("2 Ездрина 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Ездрина 1:1'") expect(p.parse("2 Јез 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Јез 1:1'") expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'") ; return true; }); }); describe("Localized book Isa (sr)", 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: Isa (sr)", function() { expect(p.parse("Исаија 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Исаија 1:1'") expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'") expect(p.parse("Ис 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Ис 1:1'") p.include_apocrypha(false) expect(p.parse("ИСАИЈА 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ИСАИЈА 1:1'") expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'") expect(p.parse("ИС 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ИС 1:1'") ; return true; }); }); describe("Localized book 2Sam (sr)", 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: 2Sam (sr)", function() { expect(p.parse("Друга Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Друга Samuilova 1:1'") expect(p.parse("Друга Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Друга Самуилова 1:1'") expect(p.parse("Друга краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Друга краљевима 1:1'") expect(p.parse("2.. Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. Samuilova 1:1'") expect(p.parse("2.. Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. Самуилова 1:1'") expect(p.parse("2.. краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. краљевима 1:1'") expect(p.parse("II. Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Samuilova 1:1'") expect(p.parse("II. Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Самуилова 1:1'") expect(p.parse("II. краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. краљевима 1:1'") expect(p.parse("2. Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samuilova 1:1'") expect(p.parse("2. Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Самуилова 1:1'") expect(p.parse("2. краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. краљевима 1:1'") expect(p.parse("II Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Samuilova 1:1'") expect(p.parse("II Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Самуилова 1:1'") expect(p.parse("II краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II краљевима 1:1'") expect(p.parse("2 Samuilova 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samuilova 1:1'") expect(p.parse("2 Самуилова 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Самуилова 1:1'") expect(p.parse("2 краљевима 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 краљевима 1:1'") expect(p.parse("2 Сам 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Сам 1:1'") expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'") p.include_apocrypha(false) expect(p.parse("ДРУГА SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ДРУГА SAMUILOVA 1:1'") expect(p.parse("ДРУГА САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ДРУГА САМУИЛОВА 1:1'") expect(p.parse("ДРУГА КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ДРУГА КРАЉЕВИМА 1:1'") expect(p.parse("2.. SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. SAMUILOVA 1:1'") expect(p.parse("2.. САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. САМУИЛОВА 1:1'") expect(p.parse("2.. КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2.. КРАЉЕВИМА 1:1'") expect(p.parse("II. SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. SAMUILOVA 1:1'") expect(p.parse("II. САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. САМУИЛОВА 1:1'") expect(p.parse("II. КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. КРАЉЕВИМА 1:1'") expect(p.parse("2. SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMUILOVA 1:1'") expect(p.parse("2. САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. САМУИЛОВА 1:1'") expect(p.parse("2. КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. КРАЉЕВИМА 1:1'") expect(p.parse("II SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II SAMUILOVA 1:1'") expect(p.parse("II САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II САМУИЛОВА 1:1'") expect(p.parse("II КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II КРАЉЕВИМА 1:1'") expect(p.parse("2 SAMUILOVA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMUILOVA 1:1'") expect(p.parse("2 САМУИЛОВА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 САМУИЛОВА 1:1'") expect(p.parse("2 КРАЉЕВИМА 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 КРАЉЕВИМА 1:1'") expect(p.parse("2 САМ 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 САМ 1:1'") expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'") ; return true; }); }); describe("Localized book 1Sam (sr)", 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: 1Sam (sr)", function() { expect(p.parse("Прва Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Прва Samuilova 1:1'") expect(p.parse("Прва Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Прва Самуилова 1:1'") expect(p.parse("Прва краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Прва краљевима 1:1'") expect(p.parse("1.. Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. Samuilova 1:1'") expect(p.parse("1.. Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. Самуилова 1:1'") expect(p.parse("1.. краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. краљевима 1:1'") expect(p.parse("1. Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuilova 1:1'") expect(p.parse("1. Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Самуилова 1:1'") expect(p.parse("1. краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. краљевима 1:1'") expect(p.parse("I. Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Samuilova 1:1'") expect(p.parse("I. Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Самуилова 1:1'") expect(p.parse("I. краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. краљевима 1:1'") expect(p.parse("1 Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuilova 1:1'") expect(p.parse("1 Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Самуилова 1:1'") expect(p.parse("1 краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 краљевима 1:1'") expect(p.parse("I Samuilova 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Samuilova 1:1'") expect(p.parse("I Самуилова 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Самуилова 1:1'") expect(p.parse("I краљевима 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I краљевима 1:1'") expect(p.parse("1 Сам 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Сам 1:1'") expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'") p.include_apocrypha(false) expect(p.parse("ПРВА SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПРВА SAMUILOVA 1:1'") expect(p.parse("ПРВА САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПРВА САМУИЛОВА 1:1'") expect(p.parse("ПРВА КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ПРВА КРАЉЕВИМА 1:1'") expect(p.parse("1.. SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. SAMUILOVA 1:1'") expect(p.parse("1.. САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. САМУИЛОВА 1:1'") expect(p.parse("1.. КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1.. КРАЉЕВИМА 1:1'") expect(p.parse("1. SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUILOVA 1:1'") expect(p.parse("1. САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. САМУИЛОВА 1:1'") expect(p.parse("1. КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. КРАЉЕВИМА 1:1'") expect(p.parse("I. SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. SAMUILOVA 1:1'") expect(p.parse("I. САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. САМУИЛОВА 1:1'") expect(p.parse("I. КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. КРАЉЕВИМА 1:1'") expect(p.parse("1 SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUILOVA 1:1'") expect(p.parse("1 САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 САМУИЛОВА 1:1'") expect(p.parse("1 КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 КРАЉЕВИМА 1:1'") expect(p.parse("I SAMUILOVA 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I SAMUILOVA 1:1'") expect(p.parse("I САМУИЛОВА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I САМУИЛОВА 1:1'") expect(p.parse("I КРАЉЕВИМА 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I КРАЉЕВИМА 1:1'") expect(p.parse("1 САМ 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 САМ 1:1'") expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'") ; return true; }); }); describe("Localized book 2Kgs (sr)", 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: 2Kgs (sr)", function() { expect(p.parse("Четврта краљевства 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Четврта краљевства 1:1'") expect(p.parse("Четврта краљевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Четврта краљевима 1:1'") expect(p.parse("Друга о царевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Друга о царевима 1:1'") expect(p.parse("2.. о царевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2.. о царевима 1:1'") expect(p.parse("4.. краљевства 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4.. краљевства 1:1'") expect(p.parse("II. о царевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. о царевима 1:1'") expect(p.parse("IV. краљевства 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'IV. краљевства 1:1'") expect(p.parse("2. о царевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. о царевима 1:1'") expect(p.parse("4. краљевства 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4. краљевства 1:1'") expect(p.parse("4.. краљевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4.. краљевима 1:1'") expect(p.parse("II о царевима 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II о царевима 1:1'") expect(p.parse("