bible-ref-parse 2.1.18 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/Readme.md +1 -14
  2. package/dist/ar-bcv-parser.js +7480 -0
  3. package/{js/bg_bcv_parser.js → dist/bg-bcv-parser.js} +17 -15
  4. package/dist/ceb-bcv-parser.js +7498 -0
  5. package/{js/cs_bcv_parser.js → dist/cs-bcv-parser.js} +17 -15
  6. package/dist/da-bcv-parser.js +7560 -0
  7. package/{js/de_bcv_parser.js → dist/de-bcv-parser.js} +17 -15
  8. package/dist/el-bcv-parser.js +7929 -0
  9. package/{js/en_bcv_parser.js → dist/en-bcv-parser.js} +22 -20
  10. package/dist/es-bcv-parser.js +8164 -0
  11. package/{js/fa_bcv_parser.js → dist/fa-bcv-parser.js} +37 -35
  12. package/dist/fi-bcv-parser.js +7630 -0
  13. package/dist/fr-bcv-parser.js +7867 -0
  14. package/dist/he-bcv-parser.js +7504 -0
  15. package/{js/hi_bcv_parser.js → dist/hi-bcv-parser.js} +17 -15
  16. package/{js/hr_bcv_parser.js → dist/hr-bcv-parser.js} +18 -16
  17. package/dist/ht-bcv-parser.js +7526 -0
  18. package/{js/hu_bcv_parser.js → dist/hu-bcv-parser.js} +17 -15
  19. package/dist/is-bcv-parser.js +7553 -0
  20. package/{js/it_bcv_parser.js → dist/it-bcv-parser.js} +17 -15
  21. package/{js/ja_bcv_parser.js → dist/ja-bcv-parser.js} +17 -15
  22. package/dist/jv-bcv-parser.js +7489 -0
  23. package/dist/ko-bcv-parser.js +7528 -0
  24. package/dist/la-bcv-parser.js +7736 -0
  25. package/{js/mk_bcv_parser.js → dist/mk-bcv-parser.js} +17 -15
  26. package/dist/mr-bcv-parser.js +7480 -0
  27. package/dist/ne-bcv-parser.js +7478 -0
  28. package/{js/nl_bcv_parser.js → dist/nl-bcv-parser.js} +18 -16
  29. package/dist/no-bcv-parser.js +7633 -0
  30. package/dist/or-bcv-parser.js +7480 -0
  31. package/dist/pa-bcv-parser.js +7478 -0
  32. package/dist/pl-bcv-parser.js +7910 -0
  33. package/dist/pt-bcv-parser.js +8001 -0
  34. package/dist/ro-bcv-parser.js +7772 -0
  35. package/{js/ru_bcv_parser.js → dist/ru-bcv-parser.js} +27 -25
  36. package/dist/sk-bcv-parser.js +7713 -0
  37. package/dist/so-bcv-parser.js +7490 -0
  38. package/dist/sq-bcv-parser.js +7478 -0
  39. package/{js/sr_bcv_parser.js → dist/sr-bcv-parser.js} +19 -17
  40. package/dist/sv-bcv-parser.js +7695 -0
  41. package/{js/sw_bcv_parser.js → dist/sw-bcv-parser.js} +17 -15
  42. package/{js/ta_bcv_parser.js → dist/ta-bcv-parser.js} +17 -15
  43. package/dist/test/ar.spec.js +2634 -0
  44. package/dist/test/bg.spec.js +3849 -0
  45. package/dist/test/ceb.spec.js +2533 -0
  46. package/dist/test/cs.spec.js +6593 -0
  47. package/dist/test/da.spec.js +2976 -0
  48. package/dist/test/de.spec.js +3114 -0
  49. package/dist/test/el.spec.js +4287 -0
  50. package/dist/test/en.spec.js +13196 -0
  51. package/dist/test/es.spec.js +5634 -0
  52. package/dist/test/fa.spec.js +16707 -0
  53. package/dist/test/fi.spec.js +3001 -0
  54. package/dist/test/fr.spec.js +3712 -0
  55. package/dist/test/he.spec.js +2411 -0
  56. package/dist/test/hi.spec.js +2754 -0
  57. package/dist/test/hr.spec.js +2851 -0
  58. package/dist/test/ht.spec.js +2749 -0
  59. package/dist/test/hu.spec.js +3951 -0
  60. package/dist/test/is.spec.js +3753 -0
  61. package/dist/test/it.spec.js +2917 -0
  62. package/dist/test/ja.spec.js +3079 -0
  63. package/dist/test/jv.spec.js +2470 -0
  64. package/dist/test/ko.spec.js +2682 -0
  65. package/dist/test/la.spec.js +2915 -0
  66. package/dist/test/mk.spec.js +3064 -0
  67. package/dist/test/mr.spec.js +3664 -0
  68. package/dist/test/ne.spec.js +4300 -0
  69. package/dist/test/nl.spec.js +3849 -0
  70. package/dist/test/no.spec.js +2867 -0
  71. package/dist/test/or.spec.js +2411 -0
  72. package/dist/test/pa.spec.js +2460 -0
  73. package/dist/test/pl.spec.js +7682 -0
  74. package/dist/test/pt.spec.js +3318 -0
  75. package/dist/test/ro.spec.js +3065 -0
  76. package/dist/test/ru.spec.js +3796 -0
  77. package/dist/test/sk.spec.js +5611 -0
  78. package/dist/test/so.spec.js +2613 -0
  79. package/dist/test/sq.spec.js +2643 -0
  80. package/dist/test/sr.spec.js +3150 -0
  81. package/dist/test/sv.spec.js +2785 -0
  82. package/dist/test/sw.spec.js +2994 -0
  83. package/dist/test/ta.spec.js +4859 -0
  84. package/dist/test/th.spec.js +2403 -0
  85. package/dist/test/tl.spec.js +3728 -0
  86. package/dist/test/tr.spec.js +19459 -0
  87. package/dist/test/uk.spec.js +6852 -0
  88. package/dist/test/ur.spec.js +3536 -0
  89. package/dist/test/vi.spec.js +2897 -0
  90. package/dist/test/zh.spec.js +4744 -0
  91. package/{js/th_bcv_parser.js → dist/th-bcv-parser.js} +17 -15
  92. package/{js/tl_bcv_parser.js → dist/tl-bcv-parser.js} +18 -16
  93. package/dist/tr-bcv-parser.js +7673 -0
  94. package/{js/uk_bcv_parser.js → dist/uk-bcv-parser.js} +18 -16
  95. package/dist/ur-bcv-parser.js +7564 -0
  96. package/dist/vi-bcv-parser.js +7480 -0
  97. package/dist/zh-bcv-parser.js +7588 -0
  98. package/package.json +56 -41
  99. package/js/ar_bcv_parser.js +0 -6892
  100. package/js/ascii_bcv_parser.js +0 -7811
  101. package/js/ceb_bcv_parser.js +0 -6910
  102. package/js/da_bcv_parser.js +0 -6977
  103. package/js/el_bcv_parser.js +0 -7339
  104. package/js/en_bcv_parser.d.ts +0 -5
  105. package/js/en_bcv_parser.min.js +0 -221
  106. package/js/es_bcv_parser.js +0 -7554
  107. package/js/eu/Readme.md +0 -20
  108. package/js/fa_bcv_parser.d.ts +0 -5
  109. package/js/fi_bcv_parser.js +0 -7047
  110. package/js/fr_bcv_parser.js +0 -7267
  111. package/js/full_bcv_parser.d.ts +0 -5
  112. package/js/full_bcv_parser.js +0 -8497
  113. package/js/he_bcv_parser.js +0 -6513
  114. package/js/ht_bcv_parser.js +0 -6938
  115. package/js/is_bcv_parser.js +0 -6970
  116. package/js/jv_bcv_parser.js +0 -6901
  117. package/js/ko_bcv_parser.js +0 -6940
  118. package/js/la_bcv_parser.js +0 -7146
  119. package/js/mr_bcv_parser.js +0 -6892
  120. package/js/ne_bcv_parser.js +0 -6890
  121. package/js/no_bcv_parser.js +0 -7050
  122. package/js/or_bcv_parser.js +0 -6892
  123. package/js/pa_bcv_parser.js +0 -6890
  124. package/js/pl_bcv_parser.js +0 -7327
  125. package/js/pt_bcv_parser.js +0 -7412
  126. package/js/ro_bcv_parser.js +0 -7185
  127. package/js/sk_bcv_parser.js +0 -7130
  128. package/js/so_bcv_parser.js +0 -6896
  129. package/js/sq_bcv_parser.js +0 -6890
  130. package/js/sv_bcv_parser.js +0 -6981
  131. package/js/tr_bcv_parser.js +0 -7085
  132. package/js/ur_bcv_parser.js +0 -6976
  133. package/js/vi_bcv_parser.js +0 -6892
  134. package/js/zh_bcv_parser.js +0 -7000
@@ -0,0 +1,2915 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/la-bcv-parser.js").bcv_parser;
5
+
6
+ describe("Parsing", function() {
7
+ var p;
8
+ p = {};
9
+ beforeEach(function() {
10
+ p = new bcv_parser();
11
+ p.options.osis_compaction_strategy = "b";
12
+ return p.options.sequence_combination_strategy = "combine";
13
+ });
14
+ it("should round-trip OSIS references", function() {
15
+ var bc, bcv, bcv_range, book, books, i, len, results;
16
+ p.set_options({
17
+ osis_compaction_strategy: "bc"
18
+ });
19
+ 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"];
20
+ results = [];
21
+ for (i = 0, len = books.length; i < len; i++) {
22
+ book = books[i];
23
+ bc = book + ".1";
24
+ bcv = bc + ".1";
25
+ bcv_range = bcv + "-" + bc + ".2";
26
+ expect(p.parse(bc).osis()).toEqual(bc);
27
+ expect(p.parse(bcv).osis()).toEqual(bcv);
28
+ results.push(expect(p.parse(bcv_range).osis()).toEqual(bcv_range));
29
+ }
30
+ return results;
31
+ });
32
+ it("should round-trip OSIS Apocrypha references", function() {
33
+ var bc, bcv, bcv_range, book, books, i, j, len, len1, results;
34
+ p.set_options({
35
+ osis_compaction_strategy: "bc",
36
+ ps151_strategy: "b"
37
+ });
38
+ p.include_apocrypha(true);
39
+ books = ["Tob", "Jdt", "GkEsth", "Wis", "Sir", "Bar", "PrAzar", "Sus", "Bel", "SgThree", "EpJer", "1Macc", "2Macc", "3Macc", "4Macc", "1Esd", "2Esd", "PrMan", "Ps151"];
40
+ for (i = 0, len = books.length; i < len; i++) {
41
+ book = books[i];
42
+ bc = book + ".1";
43
+ bcv = bc + ".1";
44
+ bcv_range = bcv + "-" + bc + ".2";
45
+ expect(p.parse(bc).osis()).toEqual(bc);
46
+ expect(p.parse(bcv).osis()).toEqual(bcv);
47
+ expect(p.parse(bcv_range).osis()).toEqual(bcv_range);
48
+ }
49
+ p.set_options({
50
+ ps151_strategy: "bc"
51
+ });
52
+ expect(p.parse("Ps151.1").osis()).toEqual("Ps.151");
53
+ expect(p.parse("Ps151.1.1").osis()).toEqual("Ps.151.1");
54
+ expect(p.parse("Ps151.1-Ps151.2").osis()).toEqual("Ps.151.1-Ps.151.2");
55
+ p.include_apocrypha(false);
56
+ results = [];
57
+ for (j = 0, len1 = books.length; j < len1; j++) {
58
+ book = books[j];
59
+ bc = book + ".1";
60
+ results.push(expect(p.parse(bc).osis()).toEqual(""));
61
+ }
62
+ return results;
63
+ });
64
+ return it("should handle a preceding character", function() {
65
+ expect(p.parse(" Gen 1").osis()).toEqual("Gen.1");
66
+ expect(p.parse("Matt5John3").osis()).toEqual("Matt.5,John.3");
67
+ expect(p.parse("1Ps 1").osis()).toEqual("");
68
+ return expect(p.parse("11Sam 1").osis()).toEqual("");
69
+ });
70
+ });
71
+
72
+ describe("Localized book Gen (la)", function() {
73
+ var p;
74
+ p = {};
75
+ beforeEach(function() {
76
+ p = new bcv_parser();
77
+ p.set_options({
78
+ book_alone_strategy: "ignore",
79
+ book_sequence_strategy: "ignore",
80
+ osis_compaction_strategy: "bc",
81
+ captive_end_digits_strategy: "delete"
82
+ });
83
+ return p.include_apocrypha(true);
84
+ });
85
+ return it("should handle book: Gen (la)", function() {
86
+
87
+ expect(p.parse("Liber Genesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Liber Genesis 1:1'")
88
+ expect(p.parse("Genesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesis 1:1'")
89
+ expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'")
90
+ p.include_apocrypha(false)
91
+ expect(p.parse("LIBER GENESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'LIBER GENESIS 1:1'")
92
+ expect(p.parse("GENESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESIS 1:1'")
93
+ expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'")
94
+ ;
95
+ return true;
96
+ });
97
+ });
98
+
99
+ describe("Localized book Exod (la)", function() {
100
+ var p;
101
+ p = {};
102
+ beforeEach(function() {
103
+ p = new bcv_parser();
104
+ p.set_options({
105
+ book_alone_strategy: "ignore",
106
+ book_sequence_strategy: "ignore",
107
+ osis_compaction_strategy: "bc",
108
+ captive_end_digits_strategy: "delete"
109
+ });
110
+ return p.include_apocrypha(true);
111
+ });
112
+ return it("should handle book: Exod (la)", function() {
113
+
114
+ expect(p.parse("Liber Exodus 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Liber Exodus 1:1'")
115
+ expect(p.parse("Exodus 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exodus 1:1'")
116
+ expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'")
117
+ expect(p.parse("Ex 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Ex 1:1'")
118
+ p.include_apocrypha(false)
119
+ expect(p.parse("LIBER EXODUS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'LIBER EXODUS 1:1'")
120
+ expect(p.parse("EXODUS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXODUS 1:1'")
121
+ expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'")
122
+ expect(p.parse("EX 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EX 1:1'")
123
+ ;
124
+ return true;
125
+ });
126
+ });
127
+
128
+ describe("Localized book Bel (la)", function() {
129
+ var p;
130
+ p = {};
131
+ beforeEach(function() {
132
+ p = new bcv_parser();
133
+ p.set_options({
134
+ book_alone_strategy: "ignore",
135
+ book_sequence_strategy: "ignore",
136
+ osis_compaction_strategy: "bc",
137
+ captive_end_digits_strategy: "delete"
138
+ });
139
+ return p.include_apocrypha(true);
140
+ });
141
+ return it("should handle book: Bel (la)", function() {
142
+
143
+ expect(p.parse("Histoia Beli et draconis 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Histoia Beli et draconis 1:1'")
144
+ expect(p.parse("Bel et draconis 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel et draconis 1:1'")
145
+ expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'")
146
+ ;
147
+ return true;
148
+ });
149
+ });
150
+
151
+ describe("Localized book Lev (la)", function() {
152
+ var p;
153
+ p = {};
154
+ beforeEach(function() {
155
+ p = new bcv_parser();
156
+ p.set_options({
157
+ book_alone_strategy: "ignore",
158
+ book_sequence_strategy: "ignore",
159
+ osis_compaction_strategy: "bc",
160
+ captive_end_digits_strategy: "delete"
161
+ });
162
+ return p.include_apocrypha(true);
163
+ });
164
+ return it("should handle book: Lev (la)", function() {
165
+
166
+ expect(p.parse("Liber Leviticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Liber Leviticus 1:1'")
167
+ expect(p.parse("Leviticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Leviticus 1:1'")
168
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'")
169
+ p.include_apocrypha(false)
170
+ expect(p.parse("LIBER LEVITICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LIBER LEVITICUS 1:1'")
171
+ expect(p.parse("LEVITICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITICUS 1:1'")
172
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'")
173
+ ;
174
+ return true;
175
+ });
176
+ });
177
+
178
+ describe("Localized book Num (la)", function() {
179
+ var p;
180
+ p = {};
181
+ beforeEach(function() {
182
+ p = new bcv_parser();
183
+ p.set_options({
184
+ book_alone_strategy: "ignore",
185
+ book_sequence_strategy: "ignore",
186
+ osis_compaction_strategy: "bc",
187
+ captive_end_digits_strategy: "delete"
188
+ });
189
+ return p.include_apocrypha(true);
190
+ });
191
+ return it("should handle book: Num (la)", function() {
192
+
193
+ expect(p.parse("Liber Numeri 1:1").osis()).toEqual("Num.1.1", "parsing: 'Liber Numeri 1:1'")
194
+ expect(p.parse("Numeri 1:1").osis()).toEqual("Num.1.1", "parsing: 'Numeri 1:1'")
195
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'")
196
+ p.include_apocrypha(false)
197
+ expect(p.parse("LIBER NUMERI 1:1").osis()).toEqual("Num.1.1", "parsing: 'LIBER NUMERI 1:1'")
198
+ expect(p.parse("NUMERI 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUMERI 1:1'")
199
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'")
200
+ ;
201
+ return true;
202
+ });
203
+ });
204
+
205
+ describe("Localized book Sir (la)", function() {
206
+ var p;
207
+ p = {};
208
+ beforeEach(function() {
209
+ p = new bcv_parser();
210
+ p.set_options({
211
+ book_alone_strategy: "ignore",
212
+ book_sequence_strategy: "ignore",
213
+ osis_compaction_strategy: "bc",
214
+ captive_end_digits_strategy: "delete"
215
+ });
216
+ return p.include_apocrypha(true);
217
+ });
218
+ return it("should handle book: Sir (la)", function() {
219
+
220
+ expect(p.parse("Oratio Iesu filii Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Oratio Iesu filii Sirach 1:1'")
221
+ expect(p.parse("Liber Ecclesiasticus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Liber Ecclesiasticus 1:1'")
222
+ expect(p.parse("Ecclesiasticus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclesiasticus 1:1'")
223
+ expect(p.parse("Ecclus 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Ecclus 1:1'")
224
+ expect(p.parse("Sirach 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sirach 1:1'")
225
+ expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'")
226
+ ;
227
+ return true;
228
+ });
229
+ });
230
+
231
+ describe("Localized book Wis (la)", function() {
232
+ var p;
233
+ p = {};
234
+ beforeEach(function() {
235
+ p = new bcv_parser();
236
+ p.set_options({
237
+ book_alone_strategy: "ignore",
238
+ book_sequence_strategy: "ignore",
239
+ osis_compaction_strategy: "bc",
240
+ captive_end_digits_strategy: "delete"
241
+ });
242
+ return p.include_apocrypha(true);
243
+ });
244
+ return it("should handle book: Wis (la)", function() {
245
+
246
+ expect(p.parse("Sapientia Salomonis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sapientia Salomonis 1:1'")
247
+ expect(p.parse("Liber Sapientiae 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Liber Sapientiae 1:1'")
248
+ expect(p.parse("Sapientia 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sapientia 1:1'")
249
+ expect(p.parse("Sapient 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sapient 1:1'")
250
+ expect(p.parse("Sap 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Sap 1:1'")
251
+ expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'")
252
+ ;
253
+ return true;
254
+ });
255
+ });
256
+
257
+ describe("Localized book Lam (la)", function() {
258
+ var p;
259
+ p = {};
260
+ beforeEach(function() {
261
+ p = new bcv_parser();
262
+ p.set_options({
263
+ book_alone_strategy: "ignore",
264
+ book_sequence_strategy: "ignore",
265
+ osis_compaction_strategy: "bc",
266
+ captive_end_digits_strategy: "delete"
267
+ });
268
+ return p.include_apocrypha(true);
269
+ });
270
+ return it("should handle book: Lam (la)", function() {
271
+
272
+ expect(p.parse("Lamentationes 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lamentationes 1:1'")
273
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'")
274
+ p.include_apocrypha(false)
275
+ expect(p.parse("LAMENTATIONES 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAMENTATIONES 1:1'")
276
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'")
277
+ ;
278
+ return true;
279
+ });
280
+ });
281
+
282
+ describe("Localized book EpJer (la)", function() {
283
+ var p;
284
+ p = {};
285
+ beforeEach(function() {
286
+ p = new bcv_parser();
287
+ p.set_options({
288
+ book_alone_strategy: "ignore",
289
+ book_sequence_strategy: "ignore",
290
+ osis_compaction_strategy: "bc",
291
+ captive_end_digits_strategy: "delete"
292
+ });
293
+ return p.include_apocrypha(true);
294
+ });
295
+ return it("should handle book: EpJer (la)", function() {
296
+
297
+ expect(p.parse("Oratio Ieremiae 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Oratio Ieremiae 1:1'")
298
+ expect(p.parse("Or. Ier 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Or. Ier 1:1'")
299
+ expect(p.parse("Or Ier 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Or Ier 1:1'")
300
+ expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'")
301
+ ;
302
+ return true;
303
+ });
304
+ });
305
+
306
+ describe("Localized book Rev (la)", function() {
307
+ var p;
308
+ p = {};
309
+ beforeEach(function() {
310
+ p = new bcv_parser();
311
+ p.set_options({
312
+ book_alone_strategy: "ignore",
313
+ book_sequence_strategy: "ignore",
314
+ osis_compaction_strategy: "bc",
315
+ captive_end_digits_strategy: "delete"
316
+ });
317
+ return p.include_apocrypha(true);
318
+ });
319
+ return it("should handle book: Rev (la)", function() {
320
+
321
+ expect(p.parse("Apocalypsis Ioannis Apostoli 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apocalypsis Ioannis Apostoli 1:1'")
322
+ expect(p.parse("Apocalypsis Ioannis 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apocalypsis Ioannis 1:1'")
323
+ expect(p.parse("Apocalypsis 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apocalypsis 1:1'")
324
+ expect(p.parse("Apoc 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apoc 1:1'")
325
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'")
326
+ expect(p.parse("Ap 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ap 1:1'")
327
+ p.include_apocrypha(false)
328
+ expect(p.parse("APOCALYPSIS IOANNIS APOSTOLI 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOCALYPSIS IOANNIS APOSTOLI 1:1'")
329
+ expect(p.parse("APOCALYPSIS IOANNIS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOCALYPSIS IOANNIS 1:1'")
330
+ expect(p.parse("APOCALYPSIS 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOCALYPSIS 1:1'")
331
+ expect(p.parse("APOC 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOC 1:1'")
332
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'")
333
+ expect(p.parse("AP 1:1").osis()).toEqual("Rev.1.1", "parsing: 'AP 1:1'")
334
+ ;
335
+ return true;
336
+ });
337
+ });
338
+
339
+ describe("Localized book PrMan (la)", function() {
340
+ var p;
341
+ p = {};
342
+ beforeEach(function() {
343
+ p = new bcv_parser();
344
+ p.set_options({
345
+ book_alone_strategy: "ignore",
346
+ book_sequence_strategy: "ignore",
347
+ osis_compaction_strategy: "bc",
348
+ captive_end_digits_strategy: "delete"
349
+ });
350
+ return p.include_apocrypha(true);
351
+ });
352
+ return it("should handle book: PrMan (la)", function() {
353
+
354
+ expect(p.parse("Oratio regis Manassae 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Oratio regis Manassae 1:1'")
355
+ expect(p.parse("Oratio Manassae 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Oratio Manassae 1:1'")
356
+ expect(p.parse("Or. Man 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Or. Man 1:1'")
357
+ expect(p.parse("Or Man 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Or Man 1:1'")
358
+ expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'")
359
+ ;
360
+ return true;
361
+ });
362
+ });
363
+
364
+ describe("Localized book Deut (la)", function() {
365
+ var p;
366
+ p = {};
367
+ beforeEach(function() {
368
+ p = new bcv_parser();
369
+ p.set_options({
370
+ book_alone_strategy: "ignore",
371
+ book_sequence_strategy: "ignore",
372
+ osis_compaction_strategy: "bc",
373
+ captive_end_digits_strategy: "delete"
374
+ });
375
+ return p.include_apocrypha(true);
376
+ });
377
+ return it("should handle book: Deut (la)", function() {
378
+
379
+ expect(p.parse("Liber Deuteronomii 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Liber Deuteronomii 1:1'")
380
+ expect(p.parse("Deuteronomium 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronomium 1:1'")
381
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'")
382
+ p.include_apocrypha(false)
383
+ expect(p.parse("LIBER DEUTERONOMII 1:1").osis()).toEqual("Deut.1.1", "parsing: 'LIBER DEUTERONOMII 1:1'")
384
+ expect(p.parse("DEUTERONOMIUM 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONOMIUM 1:1'")
385
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'")
386
+ ;
387
+ return true;
388
+ });
389
+ });
390
+
391
+ describe("Localized book Josh (la)", function() {
392
+ var p;
393
+ p = {};
394
+ beforeEach(function() {
395
+ p = new bcv_parser();
396
+ p.set_options({
397
+ book_alone_strategy: "ignore",
398
+ book_sequence_strategy: "ignore",
399
+ osis_compaction_strategy: "bc",
400
+ captive_end_digits_strategy: "delete"
401
+ });
402
+ return p.include_apocrypha(true);
403
+ });
404
+ return it("should handle book: Josh (la)", function() {
405
+
406
+ expect(p.parse("Liber Iosue 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Liber Iosue 1:1'")
407
+ expect(p.parse("Iosue 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Iosue 1:1'")
408
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'")
409
+ expect(p.parse("Ios 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Ios 1:1'")
410
+ p.include_apocrypha(false)
411
+ expect(p.parse("LIBER IOSUE 1:1").osis()).toEqual("Josh.1.1", "parsing: 'LIBER IOSUE 1:1'")
412
+ expect(p.parse("IOSUE 1:1").osis()).toEqual("Josh.1.1", "parsing: 'IOSUE 1:1'")
413
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'")
414
+ expect(p.parse("IOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'IOS 1:1'")
415
+ ;
416
+ return true;
417
+ });
418
+ });
419
+
420
+ describe("Localized book Judg (la)", function() {
421
+ var p;
422
+ p = {};
423
+ beforeEach(function() {
424
+ p = new bcv_parser();
425
+ p.set_options({
426
+ book_alone_strategy: "ignore",
427
+ book_sequence_strategy: "ignore",
428
+ osis_compaction_strategy: "bc",
429
+ captive_end_digits_strategy: "delete"
430
+ });
431
+ return p.include_apocrypha(true);
432
+ });
433
+ return it("should handle book: Judg (la)", function() {
434
+
435
+ expect(p.parse("Liber Iudicum 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Liber Iudicum 1:1'")
436
+ expect(p.parse("Iudicum 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Iudicum 1:1'")
437
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'")
438
+ expect(p.parse("Iud 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Iud 1:1'")
439
+ p.include_apocrypha(false)
440
+ expect(p.parse("LIBER IUDICUM 1:1").osis()).toEqual("Judg.1.1", "parsing: 'LIBER IUDICUM 1:1'")
441
+ expect(p.parse("IUDICUM 1:1").osis()).toEqual("Judg.1.1", "parsing: 'IUDICUM 1:1'")
442
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'")
443
+ expect(p.parse("IUD 1:1").osis()).toEqual("Judg.1.1", "parsing: 'IUD 1:1'")
444
+ ;
445
+ return true;
446
+ });
447
+ });
448
+
449
+ describe("Localized book Ruth (la)", function() {
450
+ var p;
451
+ p = {};
452
+ beforeEach(function() {
453
+ p = new bcv_parser();
454
+ p.set_options({
455
+ book_alone_strategy: "ignore",
456
+ book_sequence_strategy: "ignore",
457
+ osis_compaction_strategy: "bc",
458
+ captive_end_digits_strategy: "delete"
459
+ });
460
+ return p.include_apocrypha(true);
461
+ });
462
+ return it("should handle book: Ruth (la)", function() {
463
+
464
+ expect(p.parse("Liber Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Liber Ruth 1:1'")
465
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'")
466
+ expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rut 1:1'")
467
+ expect(p.parse("Ru 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ru 1:1'")
468
+ p.include_apocrypha(false)
469
+ expect(p.parse("LIBER RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'LIBER RUTH 1:1'")
470
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'")
471
+ expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUT 1:1'")
472
+ expect(p.parse("RU 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RU 1:1'")
473
+ ;
474
+ return true;
475
+ });
476
+ });
477
+
478
+ describe("Localized book 1Esd (la)", function() {
479
+ var p;
480
+ p = {};
481
+ beforeEach(function() {
482
+ p = new bcv_parser();
483
+ p.set_options({
484
+ book_alone_strategy: "ignore",
485
+ book_sequence_strategy: "ignore",
486
+ osis_compaction_strategy: "bc",
487
+ captive_end_digits_strategy: "delete"
488
+ });
489
+ return p.include_apocrypha(true);
490
+ });
491
+ return it("should handle book: 1Esd (la)", function() {
492
+
493
+ expect(p.parse("Liber Esdrae I 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Liber Esdrae I 1:1'")
494
+ expect(p.parse("Liber I Esdrae 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Liber I Esdrae 1:1'")
495
+ expect(p.parse("1. Esdrae 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdrae 1:1'")
496
+ expect(p.parse("I. Esdrae 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdrae 1:1'")
497
+ expect(p.parse("1 Esdrae 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdrae 1:1'")
498
+ expect(p.parse("1. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdra 1:1'")
499
+ expect(p.parse("I Esdrae 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdrae 1:1'")
500
+ expect(p.parse("I. Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esdra 1:1'")
501
+ expect(p.parse("1 Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdra 1:1'")
502
+ expect(p.parse("I Esdra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esdra 1:1'")
503
+ expect(p.parse("1. Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esd 1:1'")
504
+ expect(p.parse("I. Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I. Esd 1:1'")
505
+ expect(p.parse("1 Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esd 1:1'")
506
+ expect(p.parse("I Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'I Esd 1:1'")
507
+ expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'")
508
+ ;
509
+ return true;
510
+ });
511
+ });
512
+
513
+ describe("Localized book 2Esd (la)", function() {
514
+ var p;
515
+ p = {};
516
+ beforeEach(function() {
517
+ p = new bcv_parser();
518
+ p.set_options({
519
+ book_alone_strategy: "ignore",
520
+ book_sequence_strategy: "ignore",
521
+ osis_compaction_strategy: "bc",
522
+ captive_end_digits_strategy: "delete"
523
+ });
524
+ return p.include_apocrypha(true);
525
+ });
526
+ return it("should handle book: 2Esd (la)", function() {
527
+
528
+ expect(p.parse("Liber Esdrae II 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Liber Esdrae II 1:1'")
529
+ expect(p.parse("Liber II Esdrae 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Liber II Esdrae 1:1'")
530
+ expect(p.parse("II. Esdrae 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdrae 1:1'")
531
+ expect(p.parse("2. Esdrae 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdrae 1:1'")
532
+ expect(p.parse("II Esdrae 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdrae 1:1'")
533
+ expect(p.parse("II. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esdra 1:1'")
534
+ expect(p.parse("2 Esdrae 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdrae 1:1'")
535
+ expect(p.parse("2. Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdra 1:1'")
536
+ expect(p.parse("II Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esdra 1:1'")
537
+ expect(p.parse("2 Esdra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdra 1:1'")
538
+ expect(p.parse("II. Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II. Esd 1:1'")
539
+ expect(p.parse("2. Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esd 1:1'")
540
+ expect(p.parse("II Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'II Esd 1:1'")
541
+ expect(p.parse("2 Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esd 1:1'")
542
+ expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'")
543
+ ;
544
+ return true;
545
+ });
546
+ });
547
+
548
+ describe("Localized book Isa (la)", function() {
549
+ var p;
550
+ p = {};
551
+ beforeEach(function() {
552
+ p = new bcv_parser();
553
+ p.set_options({
554
+ book_alone_strategy: "ignore",
555
+ book_sequence_strategy: "ignore",
556
+ osis_compaction_strategy: "bc",
557
+ captive_end_digits_strategy: "delete"
558
+ });
559
+ return p.include_apocrypha(true);
560
+ });
561
+ return it("should handle book: Isa (la)", function() {
562
+
563
+ expect(p.parse("Liber Isaiae 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Liber Isaiae 1:1'")
564
+ expect(p.parse("Isaias 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaias 1:1'")
565
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'")
566
+ p.include_apocrypha(false)
567
+ expect(p.parse("LIBER ISAIAE 1:1").osis()).toEqual("Isa.1.1", "parsing: 'LIBER ISAIAE 1:1'")
568
+ expect(p.parse("ISAIAS 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISAIAS 1:1'")
569
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'")
570
+ ;
571
+ return true;
572
+ });
573
+ });
574
+
575
+ describe("Localized book 2Sam (la)", function() {
576
+ var p;
577
+ p = {};
578
+ beforeEach(function() {
579
+ p = new bcv_parser();
580
+ p.set_options({
581
+ book_alone_strategy: "ignore",
582
+ book_sequence_strategy: "ignore",
583
+ osis_compaction_strategy: "bc",
584
+ captive_end_digits_strategy: "delete"
585
+ });
586
+ return p.include_apocrypha(true);
587
+ });
588
+ return it("should handle book: 2Sam (la)", function() {
589
+
590
+ expect(p.parse("Liber II Samuelis 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Liber II Samuelis 1:1'")
591
+ expect(p.parse("II. Regnorum 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Regnorum 1:1'")
592
+ expect(p.parse("II. Samuelis 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Samuelis 1:1'")
593
+ expect(p.parse("2. Regnorum 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Regnorum 1:1'")
594
+ expect(p.parse("2. Samuelis 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samuelis 1:1'")
595
+ expect(p.parse("II Regnorum 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Regnorum 1:1'")
596
+ expect(p.parse("II Samuelis 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Samuelis 1:1'")
597
+ expect(p.parse("Samuelis II 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Samuelis II 1:1'")
598
+ expect(p.parse("2 Regnorum 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Regnorum 1:1'")
599
+ expect(p.parse("2 Samuelis 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samuelis 1:1'")
600
+ expect(p.parse("II. Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. Sam 1:1'")
601
+ expect(p.parse("2. Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Sam 1:1'")
602
+ expect(p.parse("II Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II Sam 1:1'")
603
+ expect(p.parse("2 Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Sam 1:1'")
604
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'")
605
+ p.include_apocrypha(false)
606
+ expect(p.parse("LIBER II SAMUELIS 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'LIBER II SAMUELIS 1:1'")
607
+ expect(p.parse("II. REGNORUM 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. REGNORUM 1:1'")
608
+ expect(p.parse("II. SAMUELIS 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. SAMUELIS 1:1'")
609
+ expect(p.parse("2. REGNORUM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. REGNORUM 1:1'")
610
+ expect(p.parse("2. SAMUELIS 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMUELIS 1:1'")
611
+ expect(p.parse("II REGNORUM 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II REGNORUM 1:1'")
612
+ expect(p.parse("II SAMUELIS 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II SAMUELIS 1:1'")
613
+ expect(p.parse("SAMUELIS II 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'SAMUELIS II 1:1'")
614
+ expect(p.parse("2 REGNORUM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 REGNORUM 1:1'")
615
+ expect(p.parse("2 SAMUELIS 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMUELIS 1:1'")
616
+ expect(p.parse("II. SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II. SAM 1:1'")
617
+ expect(p.parse("2. SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAM 1:1'")
618
+ expect(p.parse("II SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'II SAM 1:1'")
619
+ expect(p.parse("2 SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAM 1:1'")
620
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'")
621
+ ;
622
+ return true;
623
+ });
624
+ });
625
+
626
+ describe("Localized book 1Sam (la)", function() {
627
+ var p;
628
+ p = {};
629
+ beforeEach(function() {
630
+ p = new bcv_parser();
631
+ p.set_options({
632
+ book_alone_strategy: "ignore",
633
+ book_sequence_strategy: "ignore",
634
+ osis_compaction_strategy: "bc",
635
+ captive_end_digits_strategy: "delete"
636
+ });
637
+ return p.include_apocrypha(true);
638
+ });
639
+ return it("should handle book: 1Sam (la)", function() {
640
+
641
+ expect(p.parse("Liber I Samuelis 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Liber I Samuelis 1:1'")
642
+ expect(p.parse("1. Regnorum 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Regnorum 1:1'")
643
+ expect(p.parse("1. Samuelis 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuelis 1:1'")
644
+ expect(p.parse("I. Regnorum 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Regnorum 1:1'")
645
+ expect(p.parse("I. Samuelis 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Samuelis 1:1'")
646
+ expect(p.parse("1 Regnorum 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Regnorum 1:1'")
647
+ expect(p.parse("1 Samuelis 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuelis 1:1'")
648
+ expect(p.parse("I Regnorum 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Regnorum 1:1'")
649
+ expect(p.parse("I Samuelis 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Samuelis 1:1'")
650
+ expect(p.parse("Samuelis I 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Samuelis I 1:1'")
651
+ expect(p.parse("1. Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Sam 1:1'")
652
+ expect(p.parse("I. Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. Sam 1:1'")
653
+ expect(p.parse("1 Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Sam 1:1'")
654
+ expect(p.parse("I Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I Sam 1:1'")
655
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'")
656
+ p.include_apocrypha(false)
657
+ expect(p.parse("LIBER I SAMUELIS 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'LIBER I SAMUELIS 1:1'")
658
+ expect(p.parse("1. REGNORUM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. REGNORUM 1:1'")
659
+ expect(p.parse("1. SAMUELIS 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUELIS 1:1'")
660
+ expect(p.parse("I. REGNORUM 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. REGNORUM 1:1'")
661
+ expect(p.parse("I. SAMUELIS 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. SAMUELIS 1:1'")
662
+ expect(p.parse("1 REGNORUM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 REGNORUM 1:1'")
663
+ expect(p.parse("1 SAMUELIS 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUELIS 1:1'")
664
+ expect(p.parse("I REGNORUM 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I REGNORUM 1:1'")
665
+ expect(p.parse("I SAMUELIS 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I SAMUELIS 1:1'")
666
+ expect(p.parse("SAMUELIS I 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'SAMUELIS I 1:1'")
667
+ expect(p.parse("1. SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAM 1:1'")
668
+ expect(p.parse("I. SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I. SAM 1:1'")
669
+ expect(p.parse("1 SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAM 1:1'")
670
+ expect(p.parse("I SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'I SAM 1:1'")
671
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'")
672
+ ;
673
+ return true;
674
+ });
675
+ });
676
+
677
+ describe("Localized book 2Kgs (la)", function() {
678
+ var p;
679
+ p = {};
680
+ beforeEach(function() {
681
+ p = new bcv_parser();
682
+ p.set_options({
683
+ book_alone_strategy: "ignore",
684
+ book_sequence_strategy: "ignore",
685
+ osis_compaction_strategy: "bc",
686
+ captive_end_digits_strategy: "delete"
687
+ });
688
+ return p.include_apocrypha(true);
689
+ });
690
+ return it("should handle book: 2Kgs (la)", function() {
691
+
692
+ expect(p.parse("Liber II Regum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Liber II Regum 1:1'")
693
+ expect(p.parse("IV. Regnorum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'IV. Regnorum 1:1'")
694
+ expect(p.parse("4. Regnorum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4. Regnorum 1:1'")
695
+ expect(p.parse("IV Regnorum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'IV Regnorum 1:1'")
696
+ expect(p.parse("4 Regnorum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4 Regnorum 1:1'")
697
+ expect(p.parse("II. Regum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. Regum 1:1'")
698
+ expect(p.parse("2. Regum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Regum 1:1'")
699
+ expect(p.parse("II Regum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II Regum 1:1'")
700
+ expect(p.parse("Regum II 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Regum II 1:1'")
701
+ expect(p.parse("2 Regum 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Regum 1:1'")
702
+ expect(p.parse("II. Reg 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. Reg 1:1'")
703
+ expect(p.parse("2. Reg 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Reg 1:1'")
704
+ expect(p.parse("II Reg 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II Reg 1:1'")
705
+ expect(p.parse("2 Reg 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Reg 1:1'")
706
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'")
707
+ p.include_apocrypha(false)
708
+ expect(p.parse("LIBER II REGUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'LIBER II REGUM 1:1'")
709
+ expect(p.parse("IV. REGNORUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'IV. REGNORUM 1:1'")
710
+ expect(p.parse("4. REGNORUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4. REGNORUM 1:1'")
711
+ expect(p.parse("IV REGNORUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'IV REGNORUM 1:1'")
712
+ expect(p.parse("4 REGNORUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '4 REGNORUM 1:1'")
713
+ expect(p.parse("II. REGUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. REGUM 1:1'")
714
+ expect(p.parse("2. REGUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. REGUM 1:1'")
715
+ expect(p.parse("II REGUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II REGUM 1:1'")
716
+ expect(p.parse("REGUM II 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'REGUM II 1:1'")
717
+ expect(p.parse("2 REGUM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 REGUM 1:1'")
718
+ expect(p.parse("II. REG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II. REG 1:1'")
719
+ expect(p.parse("2. REG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. REG 1:1'")
720
+ expect(p.parse("II REG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'II REG 1:1'")
721
+ expect(p.parse("2 REG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 REG 1:1'")
722
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'")
723
+ ;
724
+ return true;
725
+ });
726
+ });
727
+
728
+ describe("Localized book 1Kgs (la)", function() {
729
+ var p;
730
+ p = {};
731
+ beforeEach(function() {
732
+ p = new bcv_parser();
733
+ p.set_options({
734
+ book_alone_strategy: "ignore",
735
+ book_sequence_strategy: "ignore",
736
+ osis_compaction_strategy: "bc",
737
+ captive_end_digits_strategy: "delete"
738
+ });
739
+ return p.include_apocrypha(true);
740
+ });
741
+ return it("should handle book: 1Kgs (la)", function() {
742
+
743
+ expect(p.parse("III. Regnorum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'III. Regnorum 1:1'")
744
+ expect(p.parse("Liber I Regum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Liber I Regum 1:1'")
745
+ expect(p.parse("III Regnorum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'III Regnorum 1:1'")
746
+ expect(p.parse("3. Regnorum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '3. Regnorum 1:1'")
747
+ expect(p.parse("3 Regnorum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '3 Regnorum 1:1'")
748
+ expect(p.parse("1. Regum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Regum 1:1'")
749
+ expect(p.parse("I. Regum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. Regum 1:1'")
750
+ expect(p.parse("1 Regum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Regum 1:1'")
751
+ expect(p.parse("I Regum 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I Regum 1:1'")
752
+ expect(p.parse("Regum I 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Regum I 1:1'")
753
+ expect(p.parse("1. Reg 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Reg 1:1'")
754
+ expect(p.parse("I. Reg 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. Reg 1:1'")
755
+ expect(p.parse("1 Reg 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Reg 1:1'")
756
+ expect(p.parse("I Reg 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I Reg 1:1'")
757
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'")
758
+ p.include_apocrypha(false)
759
+ expect(p.parse("III. REGNORUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'III. REGNORUM 1:1'")
760
+ expect(p.parse("LIBER I REGUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'LIBER I REGUM 1:1'")
761
+ expect(p.parse("III REGNORUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'III REGNORUM 1:1'")
762
+ expect(p.parse("3. REGNORUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '3. REGNORUM 1:1'")
763
+ expect(p.parse("3 REGNORUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '3 REGNORUM 1:1'")
764
+ expect(p.parse("1. REGUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. REGUM 1:1'")
765
+ expect(p.parse("I. REGUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. REGUM 1:1'")
766
+ expect(p.parse("1 REGUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 REGUM 1:1'")
767
+ expect(p.parse("I REGUM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I REGUM 1:1'")
768
+ expect(p.parse("REGUM I 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'REGUM I 1:1'")
769
+ expect(p.parse("1. REG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. REG 1:1'")
770
+ expect(p.parse("I. REG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I. REG 1:1'")
771
+ expect(p.parse("1 REG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 REG 1:1'")
772
+ expect(p.parse("I REG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'I REG 1:1'")
773
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'")
774
+ ;
775
+ return true;
776
+ });
777
+ });
778
+
779
+ describe("Localized book 2Chr (la)", function() {
780
+ var p;
781
+ p = {};
782
+ beforeEach(function() {
783
+ p = new bcv_parser();
784
+ p.set_options({
785
+ book_alone_strategy: "ignore",
786
+ book_sequence_strategy: "ignore",
787
+ osis_compaction_strategy: "bc",
788
+ captive_end_digits_strategy: "delete"
789
+ });
790
+ return p.include_apocrypha(true);
791
+ });
792
+ return it("should handle book: 2Chr (la)", function() {
793
+
794
+ expect(p.parse("Liber II Paralipomenon 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Liber II Paralipomenon 1:1'")
795
+ expect(p.parse("II. Paralipomenon 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. Paralipomenon 1:1'")
796
+ expect(p.parse("2. Paralipomenon 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Paralipomenon 1:1'")
797
+ expect(p.parse("II Paralipomenon 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II Paralipomenon 1:1'")
798
+ expect(p.parse("Paralipomenon II 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Paralipomenon II 1:1'")
799
+ expect(p.parse("2 Paralipomenon 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Paralipomenon 1:1'")
800
+ expect(p.parse("II. Par 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. Par 1:1'")
801
+ expect(p.parse("2. Par 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Par 1:1'")
802
+ expect(p.parse("II Par 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II Par 1:1'")
803
+ expect(p.parse("2 Par 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Par 1:1'")
804
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'")
805
+ p.include_apocrypha(false)
806
+ expect(p.parse("LIBER II PARALIPOMENON 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'LIBER II PARALIPOMENON 1:1'")
807
+ expect(p.parse("II. PARALIPOMENON 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. PARALIPOMENON 1:1'")
808
+ expect(p.parse("2. PARALIPOMENON 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. PARALIPOMENON 1:1'")
809
+ expect(p.parse("II PARALIPOMENON 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II PARALIPOMENON 1:1'")
810
+ expect(p.parse("PARALIPOMENON II 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'PARALIPOMENON II 1:1'")
811
+ expect(p.parse("2 PARALIPOMENON 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 PARALIPOMENON 1:1'")
812
+ expect(p.parse("II. PAR 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II. PAR 1:1'")
813
+ expect(p.parse("2. PAR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. PAR 1:1'")
814
+ expect(p.parse("II PAR 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'II PAR 1:1'")
815
+ expect(p.parse("2 PAR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 PAR 1:1'")
816
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'")
817
+ ;
818
+ return true;
819
+ });
820
+ });
821
+
822
+ describe("Localized book 1Chr (la)", function() {
823
+ var p;
824
+ p = {};
825
+ beforeEach(function() {
826
+ p = new bcv_parser();
827
+ p.set_options({
828
+ book_alone_strategy: "ignore",
829
+ book_sequence_strategy: "ignore",
830
+ osis_compaction_strategy: "bc",
831
+ captive_end_digits_strategy: "delete"
832
+ });
833
+ return p.include_apocrypha(true);
834
+ });
835
+ return it("should handle book: 1Chr (la)", function() {
836
+
837
+ expect(p.parse("Liber I Paralipomenon 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Liber I Paralipomenon 1:1'")
838
+ expect(p.parse("1. Paralipomenon 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Paralipomenon 1:1'")
839
+ expect(p.parse("I. Paralipomenon 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. Paralipomenon 1:1'")
840
+ expect(p.parse("1 Paralipomenon 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Paralipomenon 1:1'")
841
+ expect(p.parse("I Paralipomenon 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I Paralipomenon 1:1'")
842
+ expect(p.parse("Paralipomenon I 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Paralipomenon I 1:1'")
843
+ expect(p.parse("1. Par 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Par 1:1'")
844
+ expect(p.parse("I. Par 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. Par 1:1'")
845
+ expect(p.parse("1 Par 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Par 1:1'")
846
+ expect(p.parse("I Par 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I Par 1:1'")
847
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'")
848
+ p.include_apocrypha(false)
849
+ expect(p.parse("LIBER I PARALIPOMENON 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'LIBER I PARALIPOMENON 1:1'")
850
+ expect(p.parse("1. PARALIPOMENON 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. PARALIPOMENON 1:1'")
851
+ expect(p.parse("I. PARALIPOMENON 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. PARALIPOMENON 1:1'")
852
+ expect(p.parse("1 PARALIPOMENON 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 PARALIPOMENON 1:1'")
853
+ expect(p.parse("I PARALIPOMENON 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I PARALIPOMENON 1:1'")
854
+ expect(p.parse("PARALIPOMENON I 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'PARALIPOMENON I 1:1'")
855
+ expect(p.parse("1. PAR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. PAR 1:1'")
856
+ expect(p.parse("I. PAR 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I. PAR 1:1'")
857
+ expect(p.parse("1 PAR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 PAR 1:1'")
858
+ expect(p.parse("I PAR 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'I PAR 1:1'")
859
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'")
860
+ ;
861
+ return true;
862
+ });
863
+ });
864
+
865
+ describe("Localized book Ezra (la)", function() {
866
+ var p;
867
+ p = {};
868
+ beforeEach(function() {
869
+ p = new bcv_parser();
870
+ p.set_options({
871
+ book_alone_strategy: "ignore",
872
+ book_sequence_strategy: "ignore",
873
+ osis_compaction_strategy: "bc",
874
+ captive_end_digits_strategy: "delete"
875
+ });
876
+ return p.include_apocrypha(true);
877
+ });
878
+ return it("should handle book: Ezra (la)", function() {
879
+
880
+ expect(p.parse("Liber Esdrae 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Liber Esdrae 1:1'")
881
+ expect(p.parse("Esdrae 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esdrae 1:1'")
882
+ expect(p.parse("Esdra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esdra 1:1'")
883
+ expect(p.parse("Esdr 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esdr 1:1'")
884
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'")
885
+ expect(p.parse("Esd 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esd 1:1'")
886
+ p.include_apocrypha(false)
887
+ expect(p.parse("LIBER ESDRAE 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'LIBER ESDRAE 1:1'")
888
+ expect(p.parse("ESDRAE 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESDRAE 1:1'")
889
+ expect(p.parse("ESDRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESDRA 1:1'")
890
+ expect(p.parse("ESDR 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESDR 1:1'")
891
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'")
892
+ expect(p.parse("ESD 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESD 1:1'")
893
+ ;
894
+ return true;
895
+ });
896
+ });
897
+
898
+ describe("Localized book Neh (la)", function() {
899
+ var p;
900
+ p = {};
901
+ beforeEach(function() {
902
+ p = new bcv_parser();
903
+ p.set_options({
904
+ book_alone_strategy: "ignore",
905
+ book_sequence_strategy: "ignore",
906
+ osis_compaction_strategy: "bc",
907
+ captive_end_digits_strategy: "delete"
908
+ });
909
+ return p.include_apocrypha(true);
910
+ });
911
+ return it("should handle book: Neh (la)", function() {
912
+
913
+ expect(p.parse("Liber Nehemiae 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Liber Nehemiae 1:1'")
914
+ expect(p.parse("Nehemiae 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemiae 1:1'")
915
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'")
916
+ p.include_apocrypha(false)
917
+ expect(p.parse("LIBER NEHEMIAE 1:1").osis()).toEqual("Neh.1.1", "parsing: 'LIBER NEHEMIAE 1:1'")
918
+ expect(p.parse("NEHEMIAE 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMIAE 1:1'")
919
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'")
920
+ ;
921
+ return true;
922
+ });
923
+ });
924
+
925
+ describe("Localized book GkEsth (la)", function() {
926
+ var p;
927
+ p = {};
928
+ beforeEach(function() {
929
+ p = new bcv_parser();
930
+ p.set_options({
931
+ book_alone_strategy: "ignore",
932
+ book_sequence_strategy: "ignore",
933
+ osis_compaction_strategy: "bc",
934
+ captive_end_digits_strategy: "delete"
935
+ });
936
+ return p.include_apocrypha(true);
937
+ });
938
+ return it("should handle book: GkEsth (la)", function() {
939
+
940
+ expect(p.parse("Esther graeca 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Esther graeca 1:1'")
941
+ expect(p.parse("Graeca Esther 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Graeca Esther 1:1'")
942
+ expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'")
943
+ ;
944
+ return true;
945
+ });
946
+ });
947
+
948
+ describe("Localized book Esth (la)", function() {
949
+ var p;
950
+ p = {};
951
+ beforeEach(function() {
952
+ p = new bcv_parser();
953
+ p.set_options({
954
+ book_alone_strategy: "ignore",
955
+ book_sequence_strategy: "ignore",
956
+ osis_compaction_strategy: "bc",
957
+ captive_end_digits_strategy: "delete"
958
+ });
959
+ return p.include_apocrypha(true);
960
+ });
961
+ return it("should handle book: Esth (la)", function() {
962
+
963
+ expect(p.parse("Liber Esther 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Liber Esther 1:1'")
964
+ expect(p.parse("Esther 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esther 1:1'")
965
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'")
966
+ expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Est 1:1'")
967
+ p.include_apocrypha(false)
968
+ expect(p.parse("LIBER ESTHER 1:1").osis()).toEqual("Esth.1.1", "parsing: 'LIBER ESTHER 1:1'")
969
+ expect(p.parse("ESTHER 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTHER 1:1'")
970
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'")
971
+ expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1", "parsing: 'EST 1:1'")
972
+ ;
973
+ return true;
974
+ });
975
+ });
976
+
977
+ describe("Localized book Job (la)", function() {
978
+ var p;
979
+ p = {};
980
+ beforeEach(function() {
981
+ p = new bcv_parser();
982
+ p.set_options({
983
+ book_alone_strategy: "ignore",
984
+ book_sequence_strategy: "ignore",
985
+ osis_compaction_strategy: "bc",
986
+ captive_end_digits_strategy: "delete"
987
+ });
988
+ return p.include_apocrypha(true);
989
+ });
990
+ return it("should handle book: Job (la)", function() {
991
+
992
+ expect(p.parse("Liber Iob 1:1").osis()).toEqual("Job.1.1", "parsing: 'Liber Iob 1:1'")
993
+ expect(p.parse("Iob 1:1").osis()).toEqual("Job.1.1", "parsing: 'Iob 1:1'")
994
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'")
995
+ p.include_apocrypha(false)
996
+ expect(p.parse("LIBER IOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'LIBER IOB 1:1'")
997
+ expect(p.parse("IOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'IOB 1:1'")
998
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'")
999
+ ;
1000
+ return true;
1001
+ });
1002
+ });
1003
+
1004
+ describe("Localized book Ps (la)", function() {
1005
+ var p;
1006
+ p = {};
1007
+ beforeEach(function() {
1008
+ p = new bcv_parser();
1009
+ p.set_options({
1010
+ book_alone_strategy: "ignore",
1011
+ book_sequence_strategy: "ignore",
1012
+ osis_compaction_strategy: "bc",
1013
+ captive_end_digits_strategy: "delete"
1014
+ });
1015
+ return p.include_apocrypha(true);
1016
+ });
1017
+ return it("should handle book: Ps (la)", function() {
1018
+
1019
+ expect(p.parse("Liber Psalmorum 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Liber Psalmorum 1:1'")
1020
+ expect(p.parse("Psalmus 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Psalmus 1:1'")
1021
+ expect(p.parse("Psalmi 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Psalmi 1:1'")
1022
+ expect(p.parse("Psa 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Psa 1:1'")
1023
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'")
1024
+ p.include_apocrypha(false)
1025
+ expect(p.parse("LIBER PSALMORUM 1:1").osis()).toEqual("Ps.1.1", "parsing: 'LIBER PSALMORUM 1:1'")
1026
+ expect(p.parse("PSALMUS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PSALMUS 1:1'")
1027
+ expect(p.parse("PSALMI 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PSALMI 1:1'")
1028
+ expect(p.parse("PSA 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PSA 1:1'")
1029
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'")
1030
+ ;
1031
+ return true;
1032
+ });
1033
+ });
1034
+
1035
+ describe("Localized book PrAzar (la)", function() {
1036
+ var p;
1037
+ p = {};
1038
+ beforeEach(function() {
1039
+ p = new bcv_parser();
1040
+ p.set_options({
1041
+ book_alone_strategy: "ignore",
1042
+ book_sequence_strategy: "ignore",
1043
+ osis_compaction_strategy: "bc",
1044
+ captive_end_digits_strategy: "delete"
1045
+ });
1046
+ return p.include_apocrypha(true);
1047
+ });
1048
+ return it("should handle book: PrAzar (la)", function() {
1049
+
1050
+ expect(p.parse("Oratio Azariae 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'Oratio Azariae 1:1'")
1051
+ expect(p.parse("Or. Azar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'Or. Azar 1:1'")
1052
+ expect(p.parse("Or Azar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'Or Azar 1:1'")
1053
+ expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'")
1054
+ ;
1055
+ return true;
1056
+ });
1057
+ });
1058
+
1059
+ describe("Localized book Prov (la)", function() {
1060
+ var p;
1061
+ p = {};
1062
+ beforeEach(function() {
1063
+ p = new bcv_parser();
1064
+ p.set_options({
1065
+ book_alone_strategy: "ignore",
1066
+ book_sequence_strategy: "ignore",
1067
+ osis_compaction_strategy: "bc",
1068
+ captive_end_digits_strategy: "delete"
1069
+ });
1070
+ return p.include_apocrypha(true);
1071
+ });
1072
+ return it("should handle book: Prov (la)", function() {
1073
+
1074
+ expect(p.parse("Liber Proverbiorum 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Liber Proverbiorum 1:1'")
1075
+ expect(p.parse("Proverbia 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Proverbia 1:1'")
1076
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'")
1077
+ expect(p.parse("Pro 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Pro 1:1'")
1078
+ p.include_apocrypha(false)
1079
+ expect(p.parse("LIBER PROVERBIORUM 1:1").osis()).toEqual("Prov.1.1", "parsing: 'LIBER PROVERBIORUM 1:1'")
1080
+ expect(p.parse("PROVERBIA 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROVERBIA 1:1'")
1081
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'")
1082
+ expect(p.parse("PRO 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PRO 1:1'")
1083
+ ;
1084
+ return true;
1085
+ });
1086
+ });
1087
+
1088
+ describe("Localized book Eccl (la)", function() {
1089
+ var p;
1090
+ p = {};
1091
+ beforeEach(function() {
1092
+ p = new bcv_parser();
1093
+ p.set_options({
1094
+ book_alone_strategy: "ignore",
1095
+ book_sequence_strategy: "ignore",
1096
+ osis_compaction_strategy: "bc",
1097
+ captive_end_digits_strategy: "delete"
1098
+ });
1099
+ return p.include_apocrypha(true);
1100
+ });
1101
+ return it("should handle book: Eccl (la)", function() {
1102
+
1103
+ expect(p.parse("Liber Ecclesiastes 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Liber Ecclesiastes 1:1'")
1104
+ expect(p.parse("Ecclesiastes 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Ecclesiastes 1:1'")
1105
+ expect(p.parse("Liber Qoelet 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Liber Qoelet 1:1'")
1106
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'")
1107
+ expect(p.parse("Ec 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Ec 1:1'")
1108
+ expect(p.parse("Qo 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Qo 1:1'")
1109
+ p.include_apocrypha(false)
1110
+ expect(p.parse("LIBER ECCLESIASTES 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'LIBER ECCLESIASTES 1:1'")
1111
+ expect(p.parse("ECCLESIASTES 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCLESIASTES 1:1'")
1112
+ expect(p.parse("LIBER QOELET 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'LIBER QOELET 1:1'")
1113
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'")
1114
+ expect(p.parse("EC 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'EC 1:1'")
1115
+ expect(p.parse("QO 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'QO 1:1'")
1116
+ ;
1117
+ return true;
1118
+ });
1119
+ });
1120
+
1121
+ describe("Localized book SgThree (la)", function() {
1122
+ var p;
1123
+ p = {};
1124
+ beforeEach(function() {
1125
+ p = new bcv_parser();
1126
+ p.set_options({
1127
+ book_alone_strategy: "ignore",
1128
+ book_sequence_strategy: "ignore",
1129
+ osis_compaction_strategy: "bc",
1130
+ captive_end_digits_strategy: "delete"
1131
+ });
1132
+ return p.include_apocrypha(true);
1133
+ });
1134
+ return it("should handle book: SgThree (la)", function() {
1135
+
1136
+ expect(p.parse("Hymnus trium puerorum 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'Hymnus trium puerorum 1:1'")
1137
+ expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'SgThree 1:1'")
1138
+ ;
1139
+ return true;
1140
+ });
1141
+ });
1142
+
1143
+ describe("Localized book Song (la)", function() {
1144
+ var p;
1145
+ p = {};
1146
+ beforeEach(function() {
1147
+ p = new bcv_parser();
1148
+ p.set_options({
1149
+ book_alone_strategy: "ignore",
1150
+ book_sequence_strategy: "ignore",
1151
+ osis_compaction_strategy: "bc",
1152
+ captive_end_digits_strategy: "delete"
1153
+ });
1154
+ return p.include_apocrypha(true);
1155
+ });
1156
+ return it("should handle book: Song (la)", function() {
1157
+
1158
+ expect(p.parse("Canticum Canticorum 1:1").osis()).toEqual("Song.1.1", "parsing: 'Canticum Canticorum 1:1'")
1159
+ expect(p.parse("Cant. Cantic 1:1").osis()).toEqual("Song.1.1", "parsing: 'Cant. Cantic 1:1'")
1160
+ expect(p.parse("Cant Cantic 1:1").osis()).toEqual("Song.1.1", "parsing: 'Cant Cantic 1:1'")
1161
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'")
1162
+ expect(p.parse("Can 1:1").osis()).toEqual("Song.1.1", "parsing: 'Can 1:1'")
1163
+ p.include_apocrypha(false)
1164
+ expect(p.parse("CANTICUM CANTICORUM 1:1").osis()).toEqual("Song.1.1", "parsing: 'CANTICUM CANTICORUM 1:1'")
1165
+ expect(p.parse("CANT. CANTIC 1:1").osis()).toEqual("Song.1.1", "parsing: 'CANT. CANTIC 1:1'")
1166
+ expect(p.parse("CANT CANTIC 1:1").osis()).toEqual("Song.1.1", "parsing: 'CANT CANTIC 1:1'")
1167
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'")
1168
+ expect(p.parse("CAN 1:1").osis()).toEqual("Song.1.1", "parsing: 'CAN 1:1'")
1169
+ ;
1170
+ return true;
1171
+ });
1172
+ });
1173
+
1174
+ describe("Localized book Jer (la)", function() {
1175
+ var p;
1176
+ p = {};
1177
+ beforeEach(function() {
1178
+ p = new bcv_parser();
1179
+ p.set_options({
1180
+ book_alone_strategy: "ignore",
1181
+ book_sequence_strategy: "ignore",
1182
+ osis_compaction_strategy: "bc",
1183
+ captive_end_digits_strategy: "delete"
1184
+ });
1185
+ return p.include_apocrypha(true);
1186
+ });
1187
+ return it("should handle book: Jer (la)", function() {
1188
+
1189
+ expect(p.parse("Liber Ieremiae 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Liber Ieremiae 1:1'")
1190
+ expect(p.parse("Ieremias 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Ieremias 1:1'")
1191
+ expect(p.parse("Ier 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Ier 1:1'")
1192
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'")
1193
+ p.include_apocrypha(false)
1194
+ expect(p.parse("LIBER IEREMIAE 1:1").osis()).toEqual("Jer.1.1", "parsing: 'LIBER IEREMIAE 1:1'")
1195
+ expect(p.parse("IEREMIAS 1:1").osis()).toEqual("Jer.1.1", "parsing: 'IEREMIAS 1:1'")
1196
+ expect(p.parse("IER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'IER 1:1'")
1197
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'")
1198
+ ;
1199
+ return true;
1200
+ });
1201
+ });
1202
+
1203
+ describe("Localized book Ezek (la)", function() {
1204
+ var p;
1205
+ p = {};
1206
+ beforeEach(function() {
1207
+ p = new bcv_parser();
1208
+ p.set_options({
1209
+ book_alone_strategy: "ignore",
1210
+ book_sequence_strategy: "ignore",
1211
+ osis_compaction_strategy: "bc",
1212
+ captive_end_digits_strategy: "delete"
1213
+ });
1214
+ return p.include_apocrypha(true);
1215
+ });
1216
+ return it("should handle book: Ezek (la)", function() {
1217
+
1218
+ expect(p.parse("Prophetia Ezechielis 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Prophetia Ezechielis 1:1'")
1219
+ expect(p.parse("Ezechiel 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezechiel 1:1'")
1220
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'")
1221
+ expect(p.parse("Eze 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Eze 1:1'")
1222
+ p.include_apocrypha(false)
1223
+ expect(p.parse("PROPHETIA EZECHIELIS 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'PROPHETIA EZECHIELIS 1:1'")
1224
+ expect(p.parse("EZECHIEL 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZECHIEL 1:1'")
1225
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'")
1226
+ expect(p.parse("EZE 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZE 1:1'")
1227
+ ;
1228
+ return true;
1229
+ });
1230
+ });
1231
+
1232
+ describe("Localized book Dan (la)", function() {
1233
+ var p;
1234
+ p = {};
1235
+ beforeEach(function() {
1236
+ p = new bcv_parser();
1237
+ p.set_options({
1238
+ book_alone_strategy: "ignore",
1239
+ book_sequence_strategy: "ignore",
1240
+ osis_compaction_strategy: "bc",
1241
+ captive_end_digits_strategy: "delete"
1242
+ });
1243
+ return p.include_apocrypha(true);
1244
+ });
1245
+ return it("should handle book: Dan (la)", function() {
1246
+
1247
+ expect(p.parse("Prophetia Danielis 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Prophetia Danielis 1:1'")
1248
+ expect(p.parse("Daniel 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Daniel 1:1'")
1249
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'")
1250
+ p.include_apocrypha(false)
1251
+ expect(p.parse("PROPHETIA DANIELIS 1:1").osis()).toEqual("Dan.1.1", "parsing: 'PROPHETIA DANIELIS 1:1'")
1252
+ expect(p.parse("DANIEL 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DANIEL 1:1'")
1253
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'")
1254
+ ;
1255
+ return true;
1256
+ });
1257
+ });
1258
+
1259
+ describe("Localized book Hos (la)", function() {
1260
+ var p;
1261
+ p = {};
1262
+ beforeEach(function() {
1263
+ p = new bcv_parser();
1264
+ p.set_options({
1265
+ book_alone_strategy: "ignore",
1266
+ book_sequence_strategy: "ignore",
1267
+ osis_compaction_strategy: "bc",
1268
+ captive_end_digits_strategy: "delete"
1269
+ });
1270
+ return p.include_apocrypha(true);
1271
+ });
1272
+ return it("should handle book: Hos (la)", function() {
1273
+
1274
+ expect(p.parse("Prophetia Osee 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Prophetia Osee 1:1'")
1275
+ expect(p.parse("Osee 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Osee 1:1'")
1276
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'")
1277
+ expect(p.parse("Os 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Os 1:1'")
1278
+ p.include_apocrypha(false)
1279
+ expect(p.parse("PROPHETIA OSEE 1:1").osis()).toEqual("Hos.1.1", "parsing: 'PROPHETIA OSEE 1:1'")
1280
+ expect(p.parse("OSEE 1:1").osis()).toEqual("Hos.1.1", "parsing: 'OSEE 1:1'")
1281
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'")
1282
+ expect(p.parse("OS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'OS 1:1'")
1283
+ ;
1284
+ return true;
1285
+ });
1286
+ });
1287
+
1288
+ describe("Localized book Joel (la)", function() {
1289
+ var p;
1290
+ p = {};
1291
+ beforeEach(function() {
1292
+ p = new bcv_parser();
1293
+ p.set_options({
1294
+ book_alone_strategy: "ignore",
1295
+ book_sequence_strategy: "ignore",
1296
+ osis_compaction_strategy: "bc",
1297
+ captive_end_digits_strategy: "delete"
1298
+ });
1299
+ return p.include_apocrypha(true);
1300
+ });
1301
+ return it("should handle book: Joel (la)", function() {
1302
+
1303
+ expect(p.parse("Prophetia Ioel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Prophetia Ioel 1:1'")
1304
+ expect(p.parse("Ioel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Ioel 1:1'")
1305
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'")
1306
+ p.include_apocrypha(false)
1307
+ expect(p.parse("PROPHETIA IOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'PROPHETIA IOEL 1:1'")
1308
+ expect(p.parse("IOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'IOEL 1:1'")
1309
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'")
1310
+ ;
1311
+ return true;
1312
+ });
1313
+ });
1314
+
1315
+ describe("Localized book Amos (la)", function() {
1316
+ var p;
1317
+ p = {};
1318
+ beforeEach(function() {
1319
+ p = new bcv_parser();
1320
+ p.set_options({
1321
+ book_alone_strategy: "ignore",
1322
+ book_sequence_strategy: "ignore",
1323
+ osis_compaction_strategy: "bc",
1324
+ captive_end_digits_strategy: "delete"
1325
+ });
1326
+ return p.include_apocrypha(true);
1327
+ });
1328
+ return it("should handle book: Amos (la)", function() {
1329
+
1330
+ expect(p.parse("Prophetia Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Prophetia Amos 1:1'")
1331
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'")
1332
+ p.include_apocrypha(false)
1333
+ expect(p.parse("PROPHETIA AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'PROPHETIA AMOS 1:1'")
1334
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'")
1335
+ ;
1336
+ return true;
1337
+ });
1338
+ });
1339
+
1340
+ describe("Localized book Obad (la)", function() {
1341
+ var p;
1342
+ p = {};
1343
+ beforeEach(function() {
1344
+ p = new bcv_parser();
1345
+ p.set_options({
1346
+ book_alone_strategy: "ignore",
1347
+ book_sequence_strategy: "ignore",
1348
+ osis_compaction_strategy: "bc",
1349
+ captive_end_digits_strategy: "delete"
1350
+ });
1351
+ return p.include_apocrypha(true);
1352
+ });
1353
+ return it("should handle book: Obad (la)", function() {
1354
+
1355
+ expect(p.parse("Prophetia Abdiae 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Prophetia Abdiae 1:1'")
1356
+ expect(p.parse("Abdias 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Abdias 1:1'")
1357
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'")
1358
+ expect(p.parse("Abd 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Abd 1:1'")
1359
+ p.include_apocrypha(false)
1360
+ expect(p.parse("PROPHETIA ABDIAE 1:1").osis()).toEqual("Obad.1.1", "parsing: 'PROPHETIA ABDIAE 1:1'")
1361
+ expect(p.parse("ABDIAS 1:1").osis()).toEqual("Obad.1.1", "parsing: 'ABDIAS 1:1'")
1362
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'")
1363
+ expect(p.parse("ABD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'ABD 1:1'")
1364
+ ;
1365
+ return true;
1366
+ });
1367
+ });
1368
+
1369
+ describe("Localized book Jonah (la)", function() {
1370
+ var p;
1371
+ p = {};
1372
+ beforeEach(function() {
1373
+ p = new bcv_parser();
1374
+ p.set_options({
1375
+ book_alone_strategy: "ignore",
1376
+ book_sequence_strategy: "ignore",
1377
+ osis_compaction_strategy: "bc",
1378
+ captive_end_digits_strategy: "delete"
1379
+ });
1380
+ return p.include_apocrypha(true);
1381
+ });
1382
+ return it("should handle book: Jonah (la)", function() {
1383
+
1384
+ expect(p.parse("Prophetia Ionae 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Prophetia Ionae 1:1'")
1385
+ expect(p.parse("Ionas 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Ionas 1:1'")
1386
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'")
1387
+ expect(p.parse("Iona 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Iona 1:1'")
1388
+ p.include_apocrypha(false)
1389
+ expect(p.parse("PROPHETIA IONAE 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'PROPHETIA IONAE 1:1'")
1390
+ expect(p.parse("IONAS 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'IONAS 1:1'")
1391
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'")
1392
+ expect(p.parse("IONA 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'IONA 1:1'")
1393
+ ;
1394
+ return true;
1395
+ });
1396
+ });
1397
+
1398
+ describe("Localized book Mic (la)", function() {
1399
+ var p;
1400
+ p = {};
1401
+ beforeEach(function() {
1402
+ p = new bcv_parser();
1403
+ p.set_options({
1404
+ book_alone_strategy: "ignore",
1405
+ book_sequence_strategy: "ignore",
1406
+ osis_compaction_strategy: "bc",
1407
+ captive_end_digits_strategy: "delete"
1408
+ });
1409
+ return p.include_apocrypha(true);
1410
+ });
1411
+ return it("should handle book: Mic (la)", function() {
1412
+
1413
+ expect(p.parse("Prophetia Michaeae 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Prophetia Michaeae 1:1'")
1414
+ expect(p.parse("Michaeas 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Michaeas 1:1'")
1415
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'")
1416
+ p.include_apocrypha(false)
1417
+ expect(p.parse("PROPHETIA MICHAEAE 1:1").osis()).toEqual("Mic.1.1", "parsing: 'PROPHETIA MICHAEAE 1:1'")
1418
+ expect(p.parse("MICHAEAS 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MICHAEAS 1:1'")
1419
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'")
1420
+ ;
1421
+ return true;
1422
+ });
1423
+ });
1424
+
1425
+ describe("Localized book Nah (la)", function() {
1426
+ var p;
1427
+ p = {};
1428
+ beforeEach(function() {
1429
+ p = new bcv_parser();
1430
+ p.set_options({
1431
+ book_alone_strategy: "ignore",
1432
+ book_sequence_strategy: "ignore",
1433
+ osis_compaction_strategy: "bc",
1434
+ captive_end_digits_strategy: "delete"
1435
+ });
1436
+ return p.include_apocrypha(true);
1437
+ });
1438
+ return it("should handle book: Nah (la)", function() {
1439
+
1440
+ expect(p.parse("Prophetia Nahum 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Prophetia Nahum 1:1'")
1441
+ expect(p.parse("Nahum 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nahum 1:1'")
1442
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'")
1443
+ p.include_apocrypha(false)
1444
+ expect(p.parse("PROPHETIA NAHUM 1:1").osis()).toEqual("Nah.1.1", "parsing: 'PROPHETIA NAHUM 1:1'")
1445
+ expect(p.parse("NAHUM 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAHUM 1:1'")
1446
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'")
1447
+ ;
1448
+ return true;
1449
+ });
1450
+ });
1451
+
1452
+ describe("Localized book Hab (la)", function() {
1453
+ var p;
1454
+ p = {};
1455
+ beforeEach(function() {
1456
+ p = new bcv_parser();
1457
+ p.set_options({
1458
+ book_alone_strategy: "ignore",
1459
+ book_sequence_strategy: "ignore",
1460
+ osis_compaction_strategy: "bc",
1461
+ captive_end_digits_strategy: "delete"
1462
+ });
1463
+ return p.include_apocrypha(true);
1464
+ });
1465
+ return it("should handle book: Hab (la)", function() {
1466
+
1467
+ expect(p.parse("Prophetia Habacuc 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Prophetia Habacuc 1:1'")
1468
+ expect(p.parse("Habacuc 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habacuc 1:1'")
1469
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'")
1470
+ p.include_apocrypha(false)
1471
+ expect(p.parse("PROPHETIA HABACUC 1:1").osis()).toEqual("Hab.1.1", "parsing: 'PROPHETIA HABACUC 1:1'")
1472
+ expect(p.parse("HABACUC 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABACUC 1:1'")
1473
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'")
1474
+ ;
1475
+ return true;
1476
+ });
1477
+ });
1478
+
1479
+ describe("Localized book Zeph (la)", function() {
1480
+ var p;
1481
+ p = {};
1482
+ beforeEach(function() {
1483
+ p = new bcv_parser();
1484
+ p.set_options({
1485
+ book_alone_strategy: "ignore",
1486
+ book_sequence_strategy: "ignore",
1487
+ osis_compaction_strategy: "bc",
1488
+ captive_end_digits_strategy: "delete"
1489
+ });
1490
+ return p.include_apocrypha(true);
1491
+ });
1492
+ return it("should handle book: Zeph (la)", function() {
1493
+
1494
+ expect(p.parse("Prophetia Sophoniae 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Prophetia Sophoniae 1:1'")
1495
+ expect(p.parse("Sophonias 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sophonias 1:1'")
1496
+ expect(p.parse("Soph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Soph 1:1'")
1497
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'")
1498
+ p.include_apocrypha(false)
1499
+ expect(p.parse("PROPHETIA SOPHONIAE 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'PROPHETIA SOPHONIAE 1:1'")
1500
+ expect(p.parse("SOPHONIAS 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SOPHONIAS 1:1'")
1501
+ expect(p.parse("SOPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SOPH 1:1'")
1502
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'")
1503
+ ;
1504
+ return true;
1505
+ });
1506
+ });
1507
+
1508
+ describe("Localized book Hag (la)", function() {
1509
+ var p;
1510
+ p = {};
1511
+ beforeEach(function() {
1512
+ p = new bcv_parser();
1513
+ p.set_options({
1514
+ book_alone_strategy: "ignore",
1515
+ book_sequence_strategy: "ignore",
1516
+ osis_compaction_strategy: "bc",
1517
+ captive_end_digits_strategy: "delete"
1518
+ });
1519
+ return p.include_apocrypha(true);
1520
+ });
1521
+ return it("should handle book: Hag (la)", function() {
1522
+
1523
+ expect(p.parse("Prophetia Aggaei 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Prophetia Aggaei 1:1'")
1524
+ expect(p.parse("Aggaeus 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Aggaeus 1:1'")
1525
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'")
1526
+ expect(p.parse("Ag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Ag 1:1'")
1527
+ p.include_apocrypha(false)
1528
+ expect(p.parse("PROPHETIA AGGAEI 1:1").osis()).toEqual("Hag.1.1", "parsing: 'PROPHETIA AGGAEI 1:1'")
1529
+ expect(p.parse("AGGAEUS 1:1").osis()).toEqual("Hag.1.1", "parsing: 'AGGAEUS 1:1'")
1530
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'")
1531
+ expect(p.parse("AG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'AG 1:1'")
1532
+ ;
1533
+ return true;
1534
+ });
1535
+ });
1536
+
1537
+ describe("Localized book Zech (la)", function() {
1538
+ var p;
1539
+ p = {};
1540
+ beforeEach(function() {
1541
+ p = new bcv_parser();
1542
+ p.set_options({
1543
+ book_alone_strategy: "ignore",
1544
+ book_sequence_strategy: "ignore",
1545
+ osis_compaction_strategy: "bc",
1546
+ captive_end_digits_strategy: "delete"
1547
+ });
1548
+ return p.include_apocrypha(true);
1549
+ });
1550
+ return it("should handle book: Zech (la)", function() {
1551
+
1552
+ expect(p.parse("Prophetia Zachariae 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Prophetia Zachariae 1:1'")
1553
+ expect(p.parse("Zacharias 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zacharias 1:1'")
1554
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'")
1555
+ expect(p.parse("Zac 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zac 1:1'")
1556
+ p.include_apocrypha(false)
1557
+ expect(p.parse("PROPHETIA ZACHARIAE 1:1").osis()).toEqual("Zech.1.1", "parsing: 'PROPHETIA ZACHARIAE 1:1'")
1558
+ expect(p.parse("ZACHARIAS 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZACHARIAS 1:1'")
1559
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'")
1560
+ expect(p.parse("ZAC 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAC 1:1'")
1561
+ ;
1562
+ return true;
1563
+ });
1564
+ });
1565
+
1566
+ describe("Localized book Mal (la)", function() {
1567
+ var p;
1568
+ p = {};
1569
+ beforeEach(function() {
1570
+ p = new bcv_parser();
1571
+ p.set_options({
1572
+ book_alone_strategy: "ignore",
1573
+ book_sequence_strategy: "ignore",
1574
+ osis_compaction_strategy: "bc",
1575
+ captive_end_digits_strategy: "delete"
1576
+ });
1577
+ return p.include_apocrypha(true);
1578
+ });
1579
+ return it("should handle book: Mal (la)", function() {
1580
+
1581
+ expect(p.parse("Prophetia Malachiae 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Prophetia Malachiae 1:1'")
1582
+ expect(p.parse("Malachias 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malachias 1:1'")
1583
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'")
1584
+ p.include_apocrypha(false)
1585
+ expect(p.parse("PROPHETIA MALACHIAE 1:1").osis()).toEqual("Mal.1.1", "parsing: 'PROPHETIA MALACHIAE 1:1'")
1586
+ expect(p.parse("MALACHIAS 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALACHIAS 1:1'")
1587
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'")
1588
+ ;
1589
+ return true;
1590
+ });
1591
+ });
1592
+
1593
+ describe("Localized book Matt (la)", function() {
1594
+ var p;
1595
+ p = {};
1596
+ beforeEach(function() {
1597
+ p = new bcv_parser();
1598
+ p.set_options({
1599
+ book_alone_strategy: "ignore",
1600
+ book_sequence_strategy: "ignore",
1601
+ osis_compaction_strategy: "bc",
1602
+ captive_end_digits_strategy: "delete"
1603
+ });
1604
+ return p.include_apocrypha(true);
1605
+ });
1606
+ return it("should handle book: Matt (la)", function() {
1607
+
1608
+ expect(p.parse("Evangelium secundum Matthaeum 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Evangelium secundum Matthaeum 1:1'")
1609
+ expect(p.parse("Matthaeus 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matthaeus 1:1'")
1610
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'")
1611
+ p.include_apocrypha(false)
1612
+ expect(p.parse("EVANGELIUM SECUNDUM MATTHAEUM 1:1").osis()).toEqual("Matt.1.1", "parsing: 'EVANGELIUM SECUNDUM MATTHAEUM 1:1'")
1613
+ expect(p.parse("MATTHAEUS 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATTHAEUS 1:1'")
1614
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'")
1615
+ ;
1616
+ return true;
1617
+ });
1618
+ });
1619
+
1620
+ describe("Localized book Mark (la)", function() {
1621
+ var p;
1622
+ p = {};
1623
+ beforeEach(function() {
1624
+ p = new bcv_parser();
1625
+ p.set_options({
1626
+ book_alone_strategy: "ignore",
1627
+ book_sequence_strategy: "ignore",
1628
+ osis_compaction_strategy: "bc",
1629
+ captive_end_digits_strategy: "delete"
1630
+ });
1631
+ return p.include_apocrypha(true);
1632
+ });
1633
+ return it("should handle book: Mark (la)", function() {
1634
+
1635
+ expect(p.parse("Evangelium secundum Marcum 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Evangelium secundum Marcum 1:1'")
1636
+ expect(p.parse("Marcus 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Marcus 1:1'")
1637
+ expect(p.parse("Marc 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Marc 1:1'")
1638
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'")
1639
+ expect(p.parse("Mc 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mc 1:1'")
1640
+ p.include_apocrypha(false)
1641
+ expect(p.parse("EVANGELIUM SECUNDUM MARCUM 1:1").osis()).toEqual("Mark.1.1", "parsing: 'EVANGELIUM SECUNDUM MARCUM 1:1'")
1642
+ expect(p.parse("MARCUS 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARCUS 1:1'")
1643
+ expect(p.parse("MARC 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARC 1:1'")
1644
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'")
1645
+ expect(p.parse("MC 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MC 1:1'")
1646
+ ;
1647
+ return true;
1648
+ });
1649
+ });
1650
+
1651
+ describe("Localized book Luke (la)", function() {
1652
+ var p;
1653
+ p = {};
1654
+ beforeEach(function() {
1655
+ p = new bcv_parser();
1656
+ p.set_options({
1657
+ book_alone_strategy: "ignore",
1658
+ book_sequence_strategy: "ignore",
1659
+ osis_compaction_strategy: "bc",
1660
+ captive_end_digits_strategy: "delete"
1661
+ });
1662
+ return p.include_apocrypha(true);
1663
+ });
1664
+ return it("should handle book: Luke (la)", function() {
1665
+
1666
+ expect(p.parse("Evangelium secundum Lucam 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Evangelium secundum Lucam 1:1'")
1667
+ expect(p.parse("Lucas 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lucas 1:1'")
1668
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'")
1669
+ expect(p.parse("Luc 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luc 1:1'")
1670
+ expect(p.parse("Lc 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lc 1:1'")
1671
+ expect(p.parse("Lu 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lu 1:1'")
1672
+ p.include_apocrypha(false)
1673
+ expect(p.parse("EVANGELIUM SECUNDUM LUCAM 1:1").osis()).toEqual("Luke.1.1", "parsing: 'EVANGELIUM SECUNDUM LUCAM 1:1'")
1674
+ expect(p.parse("LUCAS 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUCAS 1:1'")
1675
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'")
1676
+ expect(p.parse("LUC 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUC 1:1'")
1677
+ expect(p.parse("LC 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LC 1:1'")
1678
+ expect(p.parse("LU 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LU 1:1'")
1679
+ ;
1680
+ return true;
1681
+ });
1682
+ });
1683
+
1684
+ describe("Localized book 1John (la)", function() {
1685
+ var p;
1686
+ p = {};
1687
+ beforeEach(function() {
1688
+ p = new bcv_parser();
1689
+ p.set_options({
1690
+ book_alone_strategy: "ignore",
1691
+ book_sequence_strategy: "ignore",
1692
+ osis_compaction_strategy: "bc",
1693
+ captive_end_digits_strategy: "delete"
1694
+ });
1695
+ return p.include_apocrypha(true);
1696
+ });
1697
+ return it("should handle book: 1John (la)", function() {
1698
+
1699
+ expect(p.parse("Epistula I Ioannis 1:1").osis()).toEqual("1John.1.1", "parsing: 'Epistula I Ioannis 1:1'")
1700
+ expect(p.parse("Epistula Ioannis I 1:1").osis()).toEqual("1John.1.1", "parsing: 'Epistula Ioannis I 1:1'")
1701
+ expect(p.parse("1. Ioannis 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Ioannis 1:1'")
1702
+ expect(p.parse("I. Ioannis 1:1").osis()).toEqual("1John.1.1", "parsing: 'I. Ioannis 1:1'")
1703
+ expect(p.parse("1 Ioannis 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Ioannis 1:1'")
1704
+ expect(p.parse("I Ioannis 1:1").osis()).toEqual("1John.1.1", "parsing: 'I Ioannis 1:1'")
1705
+ expect(p.parse("Ioannis I 1:1").osis()).toEqual("1John.1.1", "parsing: 'Ioannis I 1:1'")
1706
+ expect(p.parse("1. In 1:1").osis()).toEqual("1John.1.1", "parsing: '1. In 1:1'")
1707
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'")
1708
+ expect(p.parse("I. In 1:1").osis()).toEqual("1John.1.1", "parsing: 'I. In 1:1'")
1709
+ expect(p.parse("1 In 1:1").osis()).toEqual("1John.1.1", "parsing: '1 In 1:1'")
1710
+ expect(p.parse("I In 1:1").osis()).toEqual("1John.1.1", "parsing: 'I In 1:1'")
1711
+ p.include_apocrypha(false)
1712
+ expect(p.parse("EPISTULA I IOANNIS 1:1").osis()).toEqual("1John.1.1", "parsing: 'EPISTULA I IOANNIS 1:1'")
1713
+ expect(p.parse("EPISTULA IOANNIS I 1:1").osis()).toEqual("1John.1.1", "parsing: 'EPISTULA IOANNIS I 1:1'")
1714
+ expect(p.parse("1. IOANNIS 1:1").osis()).toEqual("1John.1.1", "parsing: '1. IOANNIS 1:1'")
1715
+ expect(p.parse("I. IOANNIS 1:1").osis()).toEqual("1John.1.1", "parsing: 'I. IOANNIS 1:1'")
1716
+ expect(p.parse("1 IOANNIS 1:1").osis()).toEqual("1John.1.1", "parsing: '1 IOANNIS 1:1'")
1717
+ expect(p.parse("I IOANNIS 1:1").osis()).toEqual("1John.1.1", "parsing: 'I IOANNIS 1:1'")
1718
+ expect(p.parse("IOANNIS I 1:1").osis()).toEqual("1John.1.1", "parsing: 'IOANNIS I 1:1'")
1719
+ expect(p.parse("1. IN 1:1").osis()).toEqual("1John.1.1", "parsing: '1. IN 1:1'")
1720
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'")
1721
+ expect(p.parse("I. IN 1:1").osis()).toEqual("1John.1.1", "parsing: 'I. IN 1:1'")
1722
+ expect(p.parse("1 IN 1:1").osis()).toEqual("1John.1.1", "parsing: '1 IN 1:1'")
1723
+ expect(p.parse("I IN 1:1").osis()).toEqual("1John.1.1", "parsing: 'I IN 1:1'")
1724
+ ;
1725
+ return true;
1726
+ });
1727
+ });
1728
+
1729
+ describe("Localized book 2John (la)", function() {
1730
+ var p;
1731
+ p = {};
1732
+ beforeEach(function() {
1733
+ p = new bcv_parser();
1734
+ p.set_options({
1735
+ book_alone_strategy: "ignore",
1736
+ book_sequence_strategy: "ignore",
1737
+ osis_compaction_strategy: "bc",
1738
+ captive_end_digits_strategy: "delete"
1739
+ });
1740
+ return p.include_apocrypha(true);
1741
+ });
1742
+ return it("should handle book: 2John (la)", function() {
1743
+
1744
+ expect(p.parse("Epistula II Ioannis 1:1").osis()).toEqual("2John.1.1", "parsing: 'Epistula II Ioannis 1:1'")
1745
+ expect(p.parse("Epistula Ioannis II 1:1").osis()).toEqual("2John.1.1", "parsing: 'Epistula Ioannis II 1:1'")
1746
+ expect(p.parse("II. Ioannis 1:1").osis()).toEqual("2John.1.1", "parsing: 'II. Ioannis 1:1'")
1747
+ expect(p.parse("2. Ioannis 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Ioannis 1:1'")
1748
+ expect(p.parse("II Ioannis 1:1").osis()).toEqual("2John.1.1", "parsing: 'II Ioannis 1:1'")
1749
+ expect(p.parse("Ioannis II 1:1").osis()).toEqual("2John.1.1", "parsing: 'Ioannis II 1:1'")
1750
+ expect(p.parse("2 Ioannis 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Ioannis 1:1'")
1751
+ expect(p.parse("II. In 1:1").osis()).toEqual("2John.1.1", "parsing: 'II. In 1:1'")
1752
+ expect(p.parse("2. In 1:1").osis()).toEqual("2John.1.1", "parsing: '2. In 1:1'")
1753
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'")
1754
+ expect(p.parse("II In 1:1").osis()).toEqual("2John.1.1", "parsing: 'II In 1:1'")
1755
+ expect(p.parse("2 In 1:1").osis()).toEqual("2John.1.1", "parsing: '2 In 1:1'")
1756
+ p.include_apocrypha(false)
1757
+ expect(p.parse("EPISTULA II IOANNIS 1:1").osis()).toEqual("2John.1.1", "parsing: 'EPISTULA II IOANNIS 1:1'")
1758
+ expect(p.parse("EPISTULA IOANNIS II 1:1").osis()).toEqual("2John.1.1", "parsing: 'EPISTULA IOANNIS II 1:1'")
1759
+ expect(p.parse("II. IOANNIS 1:1").osis()).toEqual("2John.1.1", "parsing: 'II. IOANNIS 1:1'")
1760
+ expect(p.parse("2. IOANNIS 1:1").osis()).toEqual("2John.1.1", "parsing: '2. IOANNIS 1:1'")
1761
+ expect(p.parse("II IOANNIS 1:1").osis()).toEqual("2John.1.1", "parsing: 'II IOANNIS 1:1'")
1762
+ expect(p.parse("IOANNIS II 1:1").osis()).toEqual("2John.1.1", "parsing: 'IOANNIS II 1:1'")
1763
+ expect(p.parse("2 IOANNIS 1:1").osis()).toEqual("2John.1.1", "parsing: '2 IOANNIS 1:1'")
1764
+ expect(p.parse("II. IN 1:1").osis()).toEqual("2John.1.1", "parsing: 'II. IN 1:1'")
1765
+ expect(p.parse("2. IN 1:1").osis()).toEqual("2John.1.1", "parsing: '2. IN 1:1'")
1766
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'")
1767
+ expect(p.parse("II IN 1:1").osis()).toEqual("2John.1.1", "parsing: 'II IN 1:1'")
1768
+ expect(p.parse("2 IN 1:1").osis()).toEqual("2John.1.1", "parsing: '2 IN 1:1'")
1769
+ ;
1770
+ return true;
1771
+ });
1772
+ });
1773
+
1774
+ describe("Localized book 3John (la)", function() {
1775
+ var p;
1776
+ p = {};
1777
+ beforeEach(function() {
1778
+ p = new bcv_parser();
1779
+ p.set_options({
1780
+ book_alone_strategy: "ignore",
1781
+ book_sequence_strategy: "ignore",
1782
+ osis_compaction_strategy: "bc",
1783
+ captive_end_digits_strategy: "delete"
1784
+ });
1785
+ return p.include_apocrypha(true);
1786
+ });
1787
+ return it("should handle book: 3John (la)", function() {
1788
+
1789
+ expect(p.parse("Epistula III Ioannis 1:1").osis()).toEqual("3John.1.1", "parsing: 'Epistula III Ioannis 1:1'")
1790
+ expect(p.parse("Epistula Ioannis III 1:1").osis()).toEqual("3John.1.1", "parsing: 'Epistula Ioannis III 1:1'")
1791
+ expect(p.parse("III. Ioannis 1:1").osis()).toEqual("3John.1.1", "parsing: 'III. Ioannis 1:1'")
1792
+ expect(p.parse("III Ioannis 1:1").osis()).toEqual("3John.1.1", "parsing: 'III Ioannis 1:1'")
1793
+ expect(p.parse("Ioannis III 1:1").osis()).toEqual("3John.1.1", "parsing: 'Ioannis III 1:1'")
1794
+ expect(p.parse("3. Ioannis 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Ioannis 1:1'")
1795
+ expect(p.parse("3 Ioannis 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Ioannis 1:1'")
1796
+ expect(p.parse("III. In 1:1").osis()).toEqual("3John.1.1", "parsing: 'III. In 1:1'")
1797
+ expect(p.parse("III In 1:1").osis()).toEqual("3John.1.1", "parsing: 'III In 1:1'")
1798
+ expect(p.parse("3. In 1:1").osis()).toEqual("3John.1.1", "parsing: '3. In 1:1'")
1799
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'")
1800
+ expect(p.parse("3 In 1:1").osis()).toEqual("3John.1.1", "parsing: '3 In 1:1'")
1801
+ p.include_apocrypha(false)
1802
+ expect(p.parse("EPISTULA III IOANNIS 1:1").osis()).toEqual("3John.1.1", "parsing: 'EPISTULA III IOANNIS 1:1'")
1803
+ expect(p.parse("EPISTULA IOANNIS III 1:1").osis()).toEqual("3John.1.1", "parsing: 'EPISTULA IOANNIS III 1:1'")
1804
+ expect(p.parse("III. IOANNIS 1:1").osis()).toEqual("3John.1.1", "parsing: 'III. IOANNIS 1:1'")
1805
+ expect(p.parse("III IOANNIS 1:1").osis()).toEqual("3John.1.1", "parsing: 'III IOANNIS 1:1'")
1806
+ expect(p.parse("IOANNIS III 1:1").osis()).toEqual("3John.1.1", "parsing: 'IOANNIS III 1:1'")
1807
+ expect(p.parse("3. IOANNIS 1:1").osis()).toEqual("3John.1.1", "parsing: '3. IOANNIS 1:1'")
1808
+ expect(p.parse("3 IOANNIS 1:1").osis()).toEqual("3John.1.1", "parsing: '3 IOANNIS 1:1'")
1809
+ expect(p.parse("III. IN 1:1").osis()).toEqual("3John.1.1", "parsing: 'III. IN 1:1'")
1810
+ expect(p.parse("III IN 1:1").osis()).toEqual("3John.1.1", "parsing: 'III IN 1:1'")
1811
+ expect(p.parse("3. IN 1:1").osis()).toEqual("3John.1.1", "parsing: '3. IN 1:1'")
1812
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'")
1813
+ expect(p.parse("3 IN 1:1").osis()).toEqual("3John.1.1", "parsing: '3 IN 1:1'")
1814
+ ;
1815
+ return true;
1816
+ });
1817
+ });
1818
+
1819
+ describe("Localized book John (la)", function() {
1820
+ var p;
1821
+ p = {};
1822
+ beforeEach(function() {
1823
+ p = new bcv_parser();
1824
+ p.set_options({
1825
+ book_alone_strategy: "ignore",
1826
+ book_sequence_strategy: "ignore",
1827
+ osis_compaction_strategy: "bc",
1828
+ captive_end_digits_strategy: "delete"
1829
+ });
1830
+ return p.include_apocrypha(true);
1831
+ });
1832
+ return it("should handle book: John (la)", function() {
1833
+
1834
+ expect(p.parse("Evangelium secundum Ioannem 1:1").osis()).toEqual("John.1.1", "parsing: 'Evangelium secundum Ioannem 1:1'")
1835
+ expect(p.parse("Ioannes 1:1").osis()).toEqual("John.1.1", "parsing: 'Ioannes 1:1'")
1836
+ expect(p.parse("Ioan 1:1").osis()).toEqual("John.1.1", "parsing: 'Ioan 1:1'")
1837
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'")
1838
+ expect(p.parse("In 1:1").osis()).toEqual("John.1.1", "parsing: 'In 1:1'")
1839
+ p.include_apocrypha(false)
1840
+ expect(p.parse("EVANGELIUM SECUNDUM IOANNEM 1:1").osis()).toEqual("John.1.1", "parsing: 'EVANGELIUM SECUNDUM IOANNEM 1:1'")
1841
+ expect(p.parse("IOANNES 1:1").osis()).toEqual("John.1.1", "parsing: 'IOANNES 1:1'")
1842
+ expect(p.parse("IOAN 1:1").osis()).toEqual("John.1.1", "parsing: 'IOAN 1:1'")
1843
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'")
1844
+ expect(p.parse("IN 1:1").osis()).toEqual("John.1.1", "parsing: 'IN 1:1'")
1845
+ ;
1846
+ return true;
1847
+ });
1848
+ });
1849
+
1850
+ describe("Localized book Acts (la)", function() {
1851
+ var p;
1852
+ p = {};
1853
+ beforeEach(function() {
1854
+ p = new bcv_parser();
1855
+ p.set_options({
1856
+ book_alone_strategy: "ignore",
1857
+ book_sequence_strategy: "ignore",
1858
+ osis_compaction_strategy: "bc",
1859
+ captive_end_digits_strategy: "delete"
1860
+ });
1861
+ return p.include_apocrypha(true);
1862
+ });
1863
+ return it("should handle book: Acts (la)", function() {
1864
+
1865
+ expect(p.parse("Actus Apostolorum 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Actus Apostolorum 1:1'")
1866
+ expect(p.parse("Actus 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Actus 1:1'")
1867
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'")
1868
+ p.include_apocrypha(false)
1869
+ expect(p.parse("ACTUS APOSTOLORUM 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTUS APOSTOLORUM 1:1'")
1870
+ expect(p.parse("ACTUS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTUS 1:1'")
1871
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'")
1872
+ ;
1873
+ return true;
1874
+ });
1875
+ });
1876
+
1877
+ describe("Localized book Rom (la)", function() {
1878
+ var p;
1879
+ p = {};
1880
+ beforeEach(function() {
1881
+ p = new bcv_parser();
1882
+ p.set_options({
1883
+ book_alone_strategy: "ignore",
1884
+ book_sequence_strategy: "ignore",
1885
+ osis_compaction_strategy: "bc",
1886
+ captive_end_digits_strategy: "delete"
1887
+ });
1888
+ return p.include_apocrypha(true);
1889
+ });
1890
+ return it("should handle book: Rom (la)", function() {
1891
+
1892
+ expect(p.parse("Epistula ad Romanos 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Epistula ad Romanos 1:1'")
1893
+ expect(p.parse("ad Romanos 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ad Romanos 1:1'")
1894
+ expect(p.parse("Romanos 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Romanos 1:1'")
1895
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'")
1896
+ p.include_apocrypha(false)
1897
+ expect(p.parse("EPISTULA AD ROMANOS 1:1").osis()).toEqual("Rom.1.1", "parsing: 'EPISTULA AD ROMANOS 1:1'")
1898
+ expect(p.parse("AD ROMANOS 1:1").osis()).toEqual("Rom.1.1", "parsing: 'AD ROMANOS 1:1'")
1899
+ expect(p.parse("ROMANOS 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROMANOS 1:1'")
1900
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'")
1901
+ ;
1902
+ return true;
1903
+ });
1904
+ });
1905
+
1906
+ describe("Localized book 2Cor (la)", function() {
1907
+ var p;
1908
+ p = {};
1909
+ beforeEach(function() {
1910
+ p = new bcv_parser();
1911
+ p.set_options({
1912
+ book_alone_strategy: "ignore",
1913
+ book_sequence_strategy: "ignore",
1914
+ osis_compaction_strategy: "bc",
1915
+ captive_end_digits_strategy: "delete"
1916
+ });
1917
+ return p.include_apocrypha(true);
1918
+ });
1919
+ return it("should handle book: 2Cor (la)", function() {
1920
+
1921
+ expect(p.parse("Epistula II ad Corinthios 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Epistula II ad Corinthios 1:1'")
1922
+ expect(p.parse("Epistula ad Corinthios II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Epistula ad Corinthios II 1:1'")
1923
+ expect(p.parse("ad Corinthios II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'ad Corinthios II 1:1'")
1924
+ expect(p.parse("II. Corinthios 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II. Corinthios 1:1'")
1925
+ expect(p.parse("2. Corinthios 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Corinthios 1:1'")
1926
+ expect(p.parse("Corinthios II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Corinthios II 1:1'")
1927
+ expect(p.parse("II Corinthios 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II Corinthios 1:1'")
1928
+ expect(p.parse("2 Corinthios 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Corinthios 1:1'")
1929
+ expect(p.parse("II. Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II. Cor 1:1'")
1930
+ expect(p.parse("2. Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Cor 1:1'")
1931
+ expect(p.parse("II Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II Cor 1:1'")
1932
+ expect(p.parse("2 Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Cor 1:1'")
1933
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'")
1934
+ p.include_apocrypha(false)
1935
+ expect(p.parse("EPISTULA II AD CORINTHIOS 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'EPISTULA II AD CORINTHIOS 1:1'")
1936
+ expect(p.parse("EPISTULA AD CORINTHIOS II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'EPISTULA AD CORINTHIOS II 1:1'")
1937
+ expect(p.parse("AD CORINTHIOS II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'AD CORINTHIOS II 1:1'")
1938
+ expect(p.parse("II. CORINTHIOS 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II. CORINTHIOS 1:1'")
1939
+ expect(p.parse("2. CORINTHIOS 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. CORINTHIOS 1:1'")
1940
+ expect(p.parse("CORINTHIOS II 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'CORINTHIOS II 1:1'")
1941
+ expect(p.parse("II CORINTHIOS 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II CORINTHIOS 1:1'")
1942
+ expect(p.parse("2 CORINTHIOS 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 CORINTHIOS 1:1'")
1943
+ expect(p.parse("II. COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II. COR 1:1'")
1944
+ expect(p.parse("2. COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. COR 1:1'")
1945
+ expect(p.parse("II COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'II COR 1:1'")
1946
+ expect(p.parse("2 COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 COR 1:1'")
1947
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'")
1948
+ ;
1949
+ return true;
1950
+ });
1951
+ });
1952
+
1953
+ describe("Localized book 1Cor (la)", function() {
1954
+ var p;
1955
+ p = {};
1956
+ beforeEach(function() {
1957
+ p = new bcv_parser();
1958
+ p.set_options({
1959
+ book_alone_strategy: "ignore",
1960
+ book_sequence_strategy: "ignore",
1961
+ osis_compaction_strategy: "bc",
1962
+ captive_end_digits_strategy: "delete"
1963
+ });
1964
+ return p.include_apocrypha(true);
1965
+ });
1966
+ return it("should handle book: 1Cor (la)", function() {
1967
+
1968
+ expect(p.parse("Epistula I ad Corinthios 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Epistula I ad Corinthios 1:1'")
1969
+ expect(p.parse("Epistula ad Corinthios I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Epistula ad Corinthios I 1:1'")
1970
+ expect(p.parse("ad Corinthios I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'ad Corinthios I 1:1'")
1971
+ expect(p.parse("1. Corinthios 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Corinthios 1:1'")
1972
+ expect(p.parse("I. Corinthios 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I. Corinthios 1:1'")
1973
+ expect(p.parse("1 Corinthios 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Corinthios 1:1'")
1974
+ expect(p.parse("Corinthios I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Corinthios I 1:1'")
1975
+ expect(p.parse("I Corinthios 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I Corinthios 1:1'")
1976
+ expect(p.parse("1. Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Cor 1:1'")
1977
+ expect(p.parse("I. Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I. Cor 1:1'")
1978
+ expect(p.parse("1 Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Cor 1:1'")
1979
+ expect(p.parse("I Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I Cor 1:1'")
1980
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'")
1981
+ p.include_apocrypha(false)
1982
+ expect(p.parse("EPISTULA I AD CORINTHIOS 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'EPISTULA I AD CORINTHIOS 1:1'")
1983
+ expect(p.parse("EPISTULA AD CORINTHIOS I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'EPISTULA AD CORINTHIOS I 1:1'")
1984
+ expect(p.parse("AD CORINTHIOS I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'AD CORINTHIOS I 1:1'")
1985
+ expect(p.parse("1. CORINTHIOS 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. CORINTHIOS 1:1'")
1986
+ expect(p.parse("I. CORINTHIOS 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I. CORINTHIOS 1:1'")
1987
+ expect(p.parse("1 CORINTHIOS 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 CORINTHIOS 1:1'")
1988
+ expect(p.parse("CORINTHIOS I 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'CORINTHIOS I 1:1'")
1989
+ expect(p.parse("I CORINTHIOS 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I CORINTHIOS 1:1'")
1990
+ expect(p.parse("1. COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. COR 1:1'")
1991
+ expect(p.parse("I. COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I. COR 1:1'")
1992
+ expect(p.parse("1 COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 COR 1:1'")
1993
+ expect(p.parse("I COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'I COR 1:1'")
1994
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'")
1995
+ ;
1996
+ return true;
1997
+ });
1998
+ });
1999
+
2000
+ describe("Localized book Gal (la)", function() {
2001
+ var p;
2002
+ p = {};
2003
+ beforeEach(function() {
2004
+ p = new bcv_parser();
2005
+ p.set_options({
2006
+ book_alone_strategy: "ignore",
2007
+ book_sequence_strategy: "ignore",
2008
+ osis_compaction_strategy: "bc",
2009
+ captive_end_digits_strategy: "delete"
2010
+ });
2011
+ return p.include_apocrypha(true);
2012
+ });
2013
+ return it("should handle book: Gal (la)", function() {
2014
+
2015
+ expect(p.parse("Epistula ad Galatas 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Epistula ad Galatas 1:1'")
2016
+ expect(p.parse("ad Galatas 1:1").osis()).toEqual("Gal.1.1", "parsing: 'ad Galatas 1:1'")
2017
+ expect(p.parse("Galatas 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Galatas 1:1'")
2018
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'")
2019
+ p.include_apocrypha(false)
2020
+ expect(p.parse("EPISTULA AD GALATAS 1:1").osis()).toEqual("Gal.1.1", "parsing: 'EPISTULA AD GALATAS 1:1'")
2021
+ expect(p.parse("AD GALATAS 1:1").osis()).toEqual("Gal.1.1", "parsing: 'AD GALATAS 1:1'")
2022
+ expect(p.parse("GALATAS 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GALATAS 1:1'")
2023
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'")
2024
+ ;
2025
+ return true;
2026
+ });
2027
+ });
2028
+
2029
+ describe("Localized book Eph (la)", function() {
2030
+ var p;
2031
+ p = {};
2032
+ beforeEach(function() {
2033
+ p = new bcv_parser();
2034
+ p.set_options({
2035
+ book_alone_strategy: "ignore",
2036
+ book_sequence_strategy: "ignore",
2037
+ osis_compaction_strategy: "bc",
2038
+ captive_end_digits_strategy: "delete"
2039
+ });
2040
+ return p.include_apocrypha(true);
2041
+ });
2042
+ return it("should handle book: Eph (la)", function() {
2043
+
2044
+ expect(p.parse("Epistula ad Ephesios 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Epistula ad Ephesios 1:1'")
2045
+ expect(p.parse("ad Ephesios 1:1").osis()).toEqual("Eph.1.1", "parsing: 'ad Ephesios 1:1'")
2046
+ expect(p.parse("Ephesios 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Ephesios 1:1'")
2047
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'")
2048
+ p.include_apocrypha(false)
2049
+ expect(p.parse("EPISTULA AD EPHESIOS 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPISTULA AD EPHESIOS 1:1'")
2050
+ expect(p.parse("AD EPHESIOS 1:1").osis()).toEqual("Eph.1.1", "parsing: 'AD EPHESIOS 1:1'")
2051
+ expect(p.parse("EPHESIOS 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPHESIOS 1:1'")
2052
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'")
2053
+ ;
2054
+ return true;
2055
+ });
2056
+ });
2057
+
2058
+ describe("Localized book Phil (la)", function() {
2059
+ var p;
2060
+ p = {};
2061
+ beforeEach(function() {
2062
+ p = new bcv_parser();
2063
+ p.set_options({
2064
+ book_alone_strategy: "ignore",
2065
+ book_sequence_strategy: "ignore",
2066
+ osis_compaction_strategy: "bc",
2067
+ captive_end_digits_strategy: "delete"
2068
+ });
2069
+ return p.include_apocrypha(true);
2070
+ });
2071
+ return it("should handle book: Phil (la)", function() {
2072
+
2073
+ expect(p.parse("Epistula ad Philippenses 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Epistula ad Philippenses 1:1'")
2074
+ expect(p.parse("ad Philippenses 1:1").osis()).toEqual("Phil.1.1", "parsing: 'ad Philippenses 1:1'")
2075
+ expect(p.parse("Philippenses 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Philippenses 1:1'")
2076
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'")
2077
+ p.include_apocrypha(false)
2078
+ expect(p.parse("EPISTULA AD PHILIPPENSES 1:1").osis()).toEqual("Phil.1.1", "parsing: 'EPISTULA AD PHILIPPENSES 1:1'")
2079
+ expect(p.parse("AD PHILIPPENSES 1:1").osis()).toEqual("Phil.1.1", "parsing: 'AD PHILIPPENSES 1:1'")
2080
+ expect(p.parse("PHILIPPENSES 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHILIPPENSES 1:1'")
2081
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'")
2082
+ ;
2083
+ return true;
2084
+ });
2085
+ });
2086
+
2087
+ describe("Localized book Col (la)", function() {
2088
+ var p;
2089
+ p = {};
2090
+ beforeEach(function() {
2091
+ p = new bcv_parser();
2092
+ p.set_options({
2093
+ book_alone_strategy: "ignore",
2094
+ book_sequence_strategy: "ignore",
2095
+ osis_compaction_strategy: "bc",
2096
+ captive_end_digits_strategy: "delete"
2097
+ });
2098
+ return p.include_apocrypha(true);
2099
+ });
2100
+ return it("should handle book: Col (la)", function() {
2101
+
2102
+ expect(p.parse("Epistula ad Colossenses 1:1").osis()).toEqual("Col.1.1", "parsing: 'Epistula ad Colossenses 1:1'")
2103
+ expect(p.parse("ad Colossenses 1:1").osis()).toEqual("Col.1.1", "parsing: 'ad Colossenses 1:1'")
2104
+ expect(p.parse("Colossenses 1:1").osis()).toEqual("Col.1.1", "parsing: 'Colossenses 1:1'")
2105
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'")
2106
+ p.include_apocrypha(false)
2107
+ expect(p.parse("EPISTULA AD COLOSSENSES 1:1").osis()).toEqual("Col.1.1", "parsing: 'EPISTULA AD COLOSSENSES 1:1'")
2108
+ expect(p.parse("AD COLOSSENSES 1:1").osis()).toEqual("Col.1.1", "parsing: 'AD COLOSSENSES 1:1'")
2109
+ expect(p.parse("COLOSSENSES 1:1").osis()).toEqual("Col.1.1", "parsing: 'COLOSSENSES 1:1'")
2110
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'")
2111
+ ;
2112
+ return true;
2113
+ });
2114
+ });
2115
+
2116
+ describe("Localized book 2Thess (la)", function() {
2117
+ var p;
2118
+ p = {};
2119
+ beforeEach(function() {
2120
+ p = new bcv_parser();
2121
+ p.set_options({
2122
+ book_alone_strategy: "ignore",
2123
+ book_sequence_strategy: "ignore",
2124
+ osis_compaction_strategy: "bc",
2125
+ captive_end_digits_strategy: "delete"
2126
+ });
2127
+ return p.include_apocrypha(true);
2128
+ });
2129
+ return it("should handle book: 2Thess (la)", function() {
2130
+
2131
+ expect(p.parse("Epistula II ad Thessalonicenses 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Epistula II ad Thessalonicenses 1:1'")
2132
+ expect(p.parse("Epistula ad Thessalonicenses II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Epistula ad Thessalonicenses II 1:1'")
2133
+ expect(p.parse("ad Thessalonicenses II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ad Thessalonicenses II 1:1'")
2134
+ expect(p.parse("II. Thessalonicenses 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. Thessalonicenses 1:1'")
2135
+ expect(p.parse("2. Thessalonicenses 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Thessalonicenses 1:1'")
2136
+ expect(p.parse("II Thessalonicenses 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II Thessalonicenses 1:1'")
2137
+ expect(p.parse("Thessalonicenses II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Thessalonicenses II 1:1'")
2138
+ expect(p.parse("2 Thessalonicenses 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Thessalonicenses 1:1'")
2139
+ expect(p.parse("II. Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. Thess 1:1'")
2140
+ expect(p.parse("2. Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Thess 1:1'")
2141
+ expect(p.parse("II Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II Thess 1:1'")
2142
+ expect(p.parse("2 Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Thess 1:1'")
2143
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'")
2144
+ expect(p.parse("II. Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. Th 1:1'")
2145
+ expect(p.parse("2. Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Th 1:1'")
2146
+ expect(p.parse("II Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II Th 1:1'")
2147
+ expect(p.parse("2 Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Th 1:1'")
2148
+ p.include_apocrypha(false)
2149
+ expect(p.parse("EPISTULA II AD THESSALONICENSES 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'EPISTULA II AD THESSALONICENSES 1:1'")
2150
+ expect(p.parse("EPISTULA AD THESSALONICENSES II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'EPISTULA AD THESSALONICENSES II 1:1'")
2151
+ expect(p.parse("AD THESSALONICENSES II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'AD THESSALONICENSES II 1:1'")
2152
+ expect(p.parse("II. THESSALONICENSES 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. THESSALONICENSES 1:1'")
2153
+ expect(p.parse("2. THESSALONICENSES 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. THESSALONICENSES 1:1'")
2154
+ expect(p.parse("II THESSALONICENSES 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II THESSALONICENSES 1:1'")
2155
+ expect(p.parse("THESSALONICENSES II 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'THESSALONICENSES II 1:1'")
2156
+ expect(p.parse("2 THESSALONICENSES 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 THESSALONICENSES 1:1'")
2157
+ expect(p.parse("II. THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. THESS 1:1'")
2158
+ expect(p.parse("2. THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. THESS 1:1'")
2159
+ expect(p.parse("II THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II THESS 1:1'")
2160
+ expect(p.parse("2 THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 THESS 1:1'")
2161
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'")
2162
+ expect(p.parse("II. TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II. TH 1:1'")
2163
+ expect(p.parse("2. TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TH 1:1'")
2164
+ expect(p.parse("II TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'II TH 1:1'")
2165
+ expect(p.parse("2 TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TH 1:1'")
2166
+ ;
2167
+ return true;
2168
+ });
2169
+ });
2170
+
2171
+ describe("Localized book 1Thess (la)", function() {
2172
+ var p;
2173
+ p = {};
2174
+ beforeEach(function() {
2175
+ p = new bcv_parser();
2176
+ p.set_options({
2177
+ book_alone_strategy: "ignore",
2178
+ book_sequence_strategy: "ignore",
2179
+ osis_compaction_strategy: "bc",
2180
+ captive_end_digits_strategy: "delete"
2181
+ });
2182
+ return p.include_apocrypha(true);
2183
+ });
2184
+ return it("should handle book: 1Thess (la)", function() {
2185
+
2186
+ expect(p.parse("Epistula I ad Thessalonicenses 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Epistula I ad Thessalonicenses 1:1'")
2187
+ expect(p.parse("Epistula ad Thessalonicenses I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Epistula ad Thessalonicenses I 1:1'")
2188
+ expect(p.parse("ad Thessalonicenses I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'ad Thessalonicenses I 1:1'")
2189
+ expect(p.parse("1. Thessalonicenses 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Thessalonicenses 1:1'")
2190
+ expect(p.parse("I. Thessalonicenses 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. Thessalonicenses 1:1'")
2191
+ expect(p.parse("1 Thessalonicenses 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Thessalonicenses 1:1'")
2192
+ expect(p.parse("I Thessalonicenses 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I Thessalonicenses 1:1'")
2193
+ expect(p.parse("Thessalonicenses I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Thessalonicenses I 1:1'")
2194
+ expect(p.parse("1. Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Thess 1:1'")
2195
+ expect(p.parse("I. Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. Thess 1:1'")
2196
+ expect(p.parse("1 Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Thess 1:1'")
2197
+ expect(p.parse("I Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I Thess 1:1'")
2198
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'")
2199
+ expect(p.parse("1. Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Th 1:1'")
2200
+ expect(p.parse("I. Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. Th 1:1'")
2201
+ expect(p.parse("1 Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Th 1:1'")
2202
+ expect(p.parse("I Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I Th 1:1'")
2203
+ p.include_apocrypha(false)
2204
+ expect(p.parse("EPISTULA I AD THESSALONICENSES 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'EPISTULA I AD THESSALONICENSES 1:1'")
2205
+ expect(p.parse("EPISTULA AD THESSALONICENSES I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'EPISTULA AD THESSALONICENSES I 1:1'")
2206
+ expect(p.parse("AD THESSALONICENSES I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'AD THESSALONICENSES I 1:1'")
2207
+ expect(p.parse("1. THESSALONICENSES 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. THESSALONICENSES 1:1'")
2208
+ expect(p.parse("I. THESSALONICENSES 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. THESSALONICENSES 1:1'")
2209
+ expect(p.parse("1 THESSALONICENSES 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 THESSALONICENSES 1:1'")
2210
+ expect(p.parse("I THESSALONICENSES 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I THESSALONICENSES 1:1'")
2211
+ expect(p.parse("THESSALONICENSES I 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'THESSALONICENSES I 1:1'")
2212
+ expect(p.parse("1. THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. THESS 1:1'")
2213
+ expect(p.parse("I. THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. THESS 1:1'")
2214
+ expect(p.parse("1 THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 THESS 1:1'")
2215
+ expect(p.parse("I THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I THESS 1:1'")
2216
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'")
2217
+ expect(p.parse("1. TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TH 1:1'")
2218
+ expect(p.parse("I. TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I. TH 1:1'")
2219
+ expect(p.parse("1 TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TH 1:1'")
2220
+ expect(p.parse("I TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'I TH 1:1'")
2221
+ ;
2222
+ return true;
2223
+ });
2224
+ });
2225
+
2226
+ describe("Localized book 2Tim (la)", function() {
2227
+ var p;
2228
+ p = {};
2229
+ beforeEach(function() {
2230
+ p = new bcv_parser();
2231
+ p.set_options({
2232
+ book_alone_strategy: "ignore",
2233
+ book_sequence_strategy: "ignore",
2234
+ osis_compaction_strategy: "bc",
2235
+ captive_end_digits_strategy: "delete"
2236
+ });
2237
+ return p.include_apocrypha(true);
2238
+ });
2239
+ return it("should handle book: 2Tim (la)", function() {
2240
+
2241
+ expect(p.parse("Epistula II ad Timotheum 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Epistula II ad Timotheum 1:1'")
2242
+ expect(p.parse("Epistula ad Timotheum II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Epistula ad Timotheum II 1:1'")
2243
+ expect(p.parse("ad Timotheum II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ad Timotheum II 1:1'")
2244
+ expect(p.parse("II. Timotheum 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. Timotheum 1:1'")
2245
+ expect(p.parse("2. Timotheum 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Timotheum 1:1'")
2246
+ expect(p.parse("II Timotheum 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II Timotheum 1:1'")
2247
+ expect(p.parse("Timotheum II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Timotheum II 1:1'")
2248
+ expect(p.parse("2 Timotheum 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Timotheum 1:1'")
2249
+ expect(p.parse("II. Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. Tim 1:1'")
2250
+ expect(p.parse("2. Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Tim 1:1'")
2251
+ expect(p.parse("II Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II Tim 1:1'")
2252
+ expect(p.parse("II. Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. Ti 1:1'")
2253
+ expect(p.parse("II. Tm 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. Tm 1:1'")
2254
+ expect(p.parse("2 Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Tim 1:1'")
2255
+ expect(p.parse("2. Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Ti 1:1'")
2256
+ expect(p.parse("2. Tm 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Tm 1:1'")
2257
+ expect(p.parse("II Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II Ti 1:1'")
2258
+ expect(p.parse("II Tm 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II Tm 1:1'")
2259
+ expect(p.parse("2 Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Ti 1:1'")
2260
+ expect(p.parse("2 Tm 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Tm 1:1'")
2261
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'")
2262
+ p.include_apocrypha(false)
2263
+ expect(p.parse("EPISTULA II AD TIMOTHEUM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'EPISTULA II AD TIMOTHEUM 1:1'")
2264
+ expect(p.parse("EPISTULA AD TIMOTHEUM II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'EPISTULA AD TIMOTHEUM II 1:1'")
2265
+ expect(p.parse("AD TIMOTHEUM II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'AD TIMOTHEUM II 1:1'")
2266
+ expect(p.parse("II. TIMOTHEUM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. TIMOTHEUM 1:1'")
2267
+ expect(p.parse("2. TIMOTHEUM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIMOTHEUM 1:1'")
2268
+ expect(p.parse("II TIMOTHEUM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II TIMOTHEUM 1:1'")
2269
+ expect(p.parse("TIMOTHEUM II 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'TIMOTHEUM II 1:1'")
2270
+ expect(p.parse("2 TIMOTHEUM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIMOTHEUM 1:1'")
2271
+ expect(p.parse("II. TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. TIM 1:1'")
2272
+ expect(p.parse("2. TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIM 1:1'")
2273
+ expect(p.parse("II TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II TIM 1:1'")
2274
+ expect(p.parse("II. TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. TI 1:1'")
2275
+ expect(p.parse("II. TM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II. TM 1:1'")
2276
+ expect(p.parse("2 TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIM 1:1'")
2277
+ expect(p.parse("2. TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TI 1:1'")
2278
+ expect(p.parse("2. TM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TM 1:1'")
2279
+ expect(p.parse("II TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II TI 1:1'")
2280
+ expect(p.parse("II TM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'II TM 1:1'")
2281
+ expect(p.parse("2 TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TI 1:1'")
2282
+ expect(p.parse("2 TM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TM 1:1'")
2283
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'")
2284
+ ;
2285
+ return true;
2286
+ });
2287
+ });
2288
+
2289
+ describe("Localized book 1Tim (la)", function() {
2290
+ var p;
2291
+ p = {};
2292
+ beforeEach(function() {
2293
+ p = new bcv_parser();
2294
+ p.set_options({
2295
+ book_alone_strategy: "ignore",
2296
+ book_sequence_strategy: "ignore",
2297
+ osis_compaction_strategy: "bc",
2298
+ captive_end_digits_strategy: "delete"
2299
+ });
2300
+ return p.include_apocrypha(true);
2301
+ });
2302
+ return it("should handle book: 1Tim (la)", function() {
2303
+
2304
+ expect(p.parse("Epistula I ad Timotheum 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Epistula I ad Timotheum 1:1'")
2305
+ expect(p.parse("Epistula ad Timotheum I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Epistula ad Timotheum I 1:1'")
2306
+ expect(p.parse("ad Timotheum I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'ad Timotheum I 1:1'")
2307
+ expect(p.parse("1. Timotheum 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Timotheum 1:1'")
2308
+ expect(p.parse("I. Timotheum 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. Timotheum 1:1'")
2309
+ expect(p.parse("1 Timotheum 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Timotheum 1:1'")
2310
+ expect(p.parse("I Timotheum 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I Timotheum 1:1'")
2311
+ expect(p.parse("Timotheum I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Timotheum I 1:1'")
2312
+ expect(p.parse("1. Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Tim 1:1'")
2313
+ expect(p.parse("I. Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. Tim 1:1'")
2314
+ expect(p.parse("1 Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Tim 1:1'")
2315
+ expect(p.parse("1. Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Ti 1:1'")
2316
+ expect(p.parse("1. Tm 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Tm 1:1'")
2317
+ expect(p.parse("I Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I Tim 1:1'")
2318
+ expect(p.parse("I. Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. Ti 1:1'")
2319
+ expect(p.parse("I. Tm 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. Tm 1:1'")
2320
+ expect(p.parse("1 Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Ti 1:1'")
2321
+ expect(p.parse("1 Tm 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Tm 1:1'")
2322
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'")
2323
+ expect(p.parse("I Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I Ti 1:1'")
2324
+ expect(p.parse("I Tm 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I Tm 1:1'")
2325
+ p.include_apocrypha(false)
2326
+ expect(p.parse("EPISTULA I AD TIMOTHEUM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'EPISTULA I AD TIMOTHEUM 1:1'")
2327
+ expect(p.parse("EPISTULA AD TIMOTHEUM I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'EPISTULA AD TIMOTHEUM I 1:1'")
2328
+ expect(p.parse("AD TIMOTHEUM I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'AD TIMOTHEUM I 1:1'")
2329
+ expect(p.parse("1. TIMOTHEUM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIMOTHEUM 1:1'")
2330
+ expect(p.parse("I. TIMOTHEUM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. TIMOTHEUM 1:1'")
2331
+ expect(p.parse("1 TIMOTHEUM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIMOTHEUM 1:1'")
2332
+ expect(p.parse("I TIMOTHEUM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I TIMOTHEUM 1:1'")
2333
+ expect(p.parse("TIMOTHEUM I 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'TIMOTHEUM I 1:1'")
2334
+ expect(p.parse("1. TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIM 1:1'")
2335
+ expect(p.parse("I. TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. TIM 1:1'")
2336
+ expect(p.parse("1 TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIM 1:1'")
2337
+ expect(p.parse("1. TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TI 1:1'")
2338
+ expect(p.parse("1. TM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TM 1:1'")
2339
+ expect(p.parse("I TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I TIM 1:1'")
2340
+ expect(p.parse("I. TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. TI 1:1'")
2341
+ expect(p.parse("I. TM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I. TM 1:1'")
2342
+ expect(p.parse("1 TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TI 1:1'")
2343
+ expect(p.parse("1 TM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TM 1:1'")
2344
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'")
2345
+ expect(p.parse("I TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I TI 1:1'")
2346
+ expect(p.parse("I TM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'I TM 1:1'")
2347
+ ;
2348
+ return true;
2349
+ });
2350
+ });
2351
+
2352
+ describe("Localized book Titus (la)", function() {
2353
+ var p;
2354
+ p = {};
2355
+ beforeEach(function() {
2356
+ p = new bcv_parser();
2357
+ p.set_options({
2358
+ book_alone_strategy: "ignore",
2359
+ book_sequence_strategy: "ignore",
2360
+ osis_compaction_strategy: "bc",
2361
+ captive_end_digits_strategy: "delete"
2362
+ });
2363
+ return p.include_apocrypha(true);
2364
+ });
2365
+ return it("should handle book: Titus (la)", function() {
2366
+
2367
+ expect(p.parse("Epistula ad Titum 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Epistula ad Titum 1:1'")
2368
+ expect(p.parse("ad Titum 1:1").osis()).toEqual("Titus.1.1", "parsing: 'ad Titum 1:1'")
2369
+ expect(p.parse("Titum 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titum 1:1'")
2370
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'")
2371
+ expect(p.parse("Tit 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tit 1:1'")
2372
+ p.include_apocrypha(false)
2373
+ expect(p.parse("EPISTULA AD TITUM 1:1").osis()).toEqual("Titus.1.1", "parsing: 'EPISTULA AD TITUM 1:1'")
2374
+ expect(p.parse("AD TITUM 1:1").osis()).toEqual("Titus.1.1", "parsing: 'AD TITUM 1:1'")
2375
+ expect(p.parse("TITUM 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUM 1:1'")
2376
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'")
2377
+ expect(p.parse("TIT 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TIT 1:1'")
2378
+ ;
2379
+ return true;
2380
+ });
2381
+ });
2382
+
2383
+ describe("Localized book Phlm (la)", function() {
2384
+ var p;
2385
+ p = {};
2386
+ beforeEach(function() {
2387
+ p = new bcv_parser();
2388
+ p.set_options({
2389
+ book_alone_strategy: "ignore",
2390
+ book_sequence_strategy: "ignore",
2391
+ osis_compaction_strategy: "bc",
2392
+ captive_end_digits_strategy: "delete"
2393
+ });
2394
+ return p.include_apocrypha(true);
2395
+ });
2396
+ return it("should handle book: Phlm (la)", function() {
2397
+
2398
+ expect(p.parse("Epistulam ad Philemonem 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Epistulam ad Philemonem 1:1'")
2399
+ expect(p.parse("Epistula ad Philemonem 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Epistula ad Philemonem 1:1'")
2400
+ expect(p.parse("ad Philemonem 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'ad Philemonem 1:1'")
2401
+ expect(p.parse("Philemonem 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Philemonem 1:1'")
2402
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'")
2403
+ expect(p.parse("Phmn 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phmn 1:1'")
2404
+ p.include_apocrypha(false)
2405
+ expect(p.parse("EPISTULAM AD PHILEMONEM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'EPISTULAM AD PHILEMONEM 1:1'")
2406
+ expect(p.parse("EPISTULA AD PHILEMONEM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'EPISTULA AD PHILEMONEM 1:1'")
2407
+ expect(p.parse("AD PHILEMONEM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'AD PHILEMONEM 1:1'")
2408
+ expect(p.parse("PHILEMONEM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHILEMONEM 1:1'")
2409
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'")
2410
+ expect(p.parse("PHMN 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHMN 1:1'")
2411
+ ;
2412
+ return true;
2413
+ });
2414
+ });
2415
+
2416
+ describe("Localized book Heb (la)", function() {
2417
+ var p;
2418
+ p = {};
2419
+ beforeEach(function() {
2420
+ p = new bcv_parser();
2421
+ p.set_options({
2422
+ book_alone_strategy: "ignore",
2423
+ book_sequence_strategy: "ignore",
2424
+ osis_compaction_strategy: "bc",
2425
+ captive_end_digits_strategy: "delete"
2426
+ });
2427
+ return p.include_apocrypha(true);
2428
+ });
2429
+ return it("should handle book: Heb (la)", function() {
2430
+
2431
+ expect(p.parse("Epistula ad Hebraeos 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Epistula ad Hebraeos 1:1'")
2432
+ expect(p.parse("ad Hebraeos 1:1").osis()).toEqual("Heb.1.1", "parsing: 'ad Hebraeos 1:1'")
2433
+ expect(p.parse("Hebraeos 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebraeos 1:1'")
2434
+ expect(p.parse("Hebr 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebr 1:1'")
2435
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'")
2436
+ p.include_apocrypha(false)
2437
+ expect(p.parse("EPISTULA AD HEBRAEOS 1:1").osis()).toEqual("Heb.1.1", "parsing: 'EPISTULA AD HEBRAEOS 1:1'")
2438
+ expect(p.parse("AD HEBRAEOS 1:1").osis()).toEqual("Heb.1.1", "parsing: 'AD HEBRAEOS 1:1'")
2439
+ expect(p.parse("HEBRAEOS 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBRAEOS 1:1'")
2440
+ expect(p.parse("HEBR 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBR 1:1'")
2441
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'")
2442
+ ;
2443
+ return true;
2444
+ });
2445
+ });
2446
+
2447
+ describe("Localized book Jas (la)", function() {
2448
+ var p;
2449
+ p = {};
2450
+ beforeEach(function() {
2451
+ p = new bcv_parser();
2452
+ p.set_options({
2453
+ book_alone_strategy: "ignore",
2454
+ book_sequence_strategy: "ignore",
2455
+ osis_compaction_strategy: "bc",
2456
+ captive_end_digits_strategy: "delete"
2457
+ });
2458
+ return p.include_apocrypha(true);
2459
+ });
2460
+ return it("should handle book: Jas (la)", function() {
2461
+
2462
+ expect(p.parse("Epistula Iacobi 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Epistula Iacobi 1:1'")
2463
+ expect(p.parse("Iacobi 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Iacobi 1:1'")
2464
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'")
2465
+ p.include_apocrypha(false)
2466
+ expect(p.parse("EPISTULA IACOBI 1:1").osis()).toEqual("Jas.1.1", "parsing: 'EPISTULA IACOBI 1:1'")
2467
+ expect(p.parse("IACOBI 1:1").osis()).toEqual("Jas.1.1", "parsing: 'IACOBI 1:1'")
2468
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'")
2469
+ ;
2470
+ return true;
2471
+ });
2472
+ });
2473
+
2474
+ describe("Localized book 2Pet (la)", function() {
2475
+ var p;
2476
+ p = {};
2477
+ beforeEach(function() {
2478
+ p = new bcv_parser();
2479
+ p.set_options({
2480
+ book_alone_strategy: "ignore",
2481
+ book_sequence_strategy: "ignore",
2482
+ osis_compaction_strategy: "bc",
2483
+ captive_end_digits_strategy: "delete"
2484
+ });
2485
+ return p.include_apocrypha(true);
2486
+ });
2487
+ return it("should handle book: 2Pet (la)", function() {
2488
+
2489
+ expect(p.parse("Epistula II Petri 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Epistula II Petri 1:1'")
2490
+ expect(p.parse("Epistula Petri II 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Epistula Petri II 1:1'")
2491
+ expect(p.parse("II. Petri 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II. Petri 1:1'")
2492
+ expect(p.parse("2. Petri 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Petri 1:1'")
2493
+ expect(p.parse("II Petri 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II Petri 1:1'")
2494
+ expect(p.parse("Petri II 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Petri II 1:1'")
2495
+ expect(p.parse("2 Petri 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Petri 1:1'")
2496
+ expect(p.parse("II. Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II. Pet 1:1'")
2497
+ expect(p.parse("2. Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Pet 1:1'")
2498
+ expect(p.parse("II Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II Pet 1:1'")
2499
+ expect(p.parse("2 Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Pet 1:1'")
2500
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'")
2501
+ p.include_apocrypha(false)
2502
+ expect(p.parse("EPISTULA II PETRI 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'EPISTULA II PETRI 1:1'")
2503
+ expect(p.parse("EPISTULA PETRI II 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'EPISTULA PETRI II 1:1'")
2504
+ expect(p.parse("II. PETRI 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II. PETRI 1:1'")
2505
+ expect(p.parse("2. PETRI 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PETRI 1:1'")
2506
+ expect(p.parse("II PETRI 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II PETRI 1:1'")
2507
+ expect(p.parse("PETRI II 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'PETRI II 1:1'")
2508
+ expect(p.parse("2 PETRI 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETRI 1:1'")
2509
+ expect(p.parse("II. PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II. PET 1:1'")
2510
+ expect(p.parse("2. PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PET 1:1'")
2511
+ expect(p.parse("II PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'II PET 1:1'")
2512
+ expect(p.parse("2 PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PET 1:1'")
2513
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'")
2514
+ ;
2515
+ return true;
2516
+ });
2517
+ });
2518
+
2519
+ describe("Localized book 1Pet (la)", function() {
2520
+ var p;
2521
+ p = {};
2522
+ beforeEach(function() {
2523
+ p = new bcv_parser();
2524
+ p.set_options({
2525
+ book_alone_strategy: "ignore",
2526
+ book_sequence_strategy: "ignore",
2527
+ osis_compaction_strategy: "bc",
2528
+ captive_end_digits_strategy: "delete"
2529
+ });
2530
+ return p.include_apocrypha(true);
2531
+ });
2532
+ return it("should handle book: 1Pet (la)", function() {
2533
+
2534
+ expect(p.parse("Epistula I Petri 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Epistula I Petri 1:1'")
2535
+ expect(p.parse("Epistula Petri I 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Epistula Petri I 1:1'")
2536
+ expect(p.parse("1. Petri 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Petri 1:1'")
2537
+ expect(p.parse("I. Petri 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I. Petri 1:1'")
2538
+ expect(p.parse("1 Petri 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Petri 1:1'")
2539
+ expect(p.parse("I Petri 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I Petri 1:1'")
2540
+ expect(p.parse("Petri I 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Petri I 1:1'")
2541
+ expect(p.parse("1. Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Pet 1:1'")
2542
+ expect(p.parse("I. Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I. Pet 1:1'")
2543
+ expect(p.parse("1 Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Pet 1:1'")
2544
+ expect(p.parse("I Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I Pet 1:1'")
2545
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'")
2546
+ p.include_apocrypha(false)
2547
+ expect(p.parse("EPISTULA I PETRI 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'EPISTULA I PETRI 1:1'")
2548
+ expect(p.parse("EPISTULA PETRI I 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'EPISTULA PETRI I 1:1'")
2549
+ expect(p.parse("1. PETRI 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PETRI 1:1'")
2550
+ expect(p.parse("I. PETRI 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I. PETRI 1:1'")
2551
+ expect(p.parse("1 PETRI 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETRI 1:1'")
2552
+ expect(p.parse("I PETRI 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I PETRI 1:1'")
2553
+ expect(p.parse("PETRI I 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'PETRI I 1:1'")
2554
+ expect(p.parse("1. PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PET 1:1'")
2555
+ expect(p.parse("I. PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I. PET 1:1'")
2556
+ expect(p.parse("1 PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PET 1:1'")
2557
+ expect(p.parse("I PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'I PET 1:1'")
2558
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'")
2559
+ ;
2560
+ return true;
2561
+ });
2562
+ });
2563
+
2564
+ describe("Localized book Jude (la)", function() {
2565
+ var p;
2566
+ p = {};
2567
+ beforeEach(function() {
2568
+ p = new bcv_parser();
2569
+ p.set_options({
2570
+ book_alone_strategy: "ignore",
2571
+ book_sequence_strategy: "ignore",
2572
+ osis_compaction_strategy: "bc",
2573
+ captive_end_digits_strategy: "delete"
2574
+ });
2575
+ return p.include_apocrypha(true);
2576
+ });
2577
+ return it("should handle book: Jude (la)", function() {
2578
+
2579
+ expect(p.parse("Epistula Iudae 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Epistula Iudae 1:1'")
2580
+ expect(p.parse("Iudae 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Iudae 1:1'")
2581
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'")
2582
+ p.include_apocrypha(false)
2583
+ expect(p.parse("EPISTULA IUDAE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'EPISTULA IUDAE 1:1'")
2584
+ expect(p.parse("IUDAE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'IUDAE 1:1'")
2585
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'")
2586
+ ;
2587
+ return true;
2588
+ });
2589
+ });
2590
+
2591
+ describe("Localized book Tob (la)", function() {
2592
+ var p;
2593
+ p = {};
2594
+ beforeEach(function() {
2595
+ p = new bcv_parser();
2596
+ p.set_options({
2597
+ book_alone_strategy: "ignore",
2598
+ book_sequence_strategy: "ignore",
2599
+ osis_compaction_strategy: "bc",
2600
+ captive_end_digits_strategy: "delete"
2601
+ });
2602
+ return p.include_apocrypha(true);
2603
+ });
2604
+ return it("should handle book: Tob (la)", function() {
2605
+
2606
+ expect(p.parse("Liber Thobis 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Liber Thobis 1:1'")
2607
+ expect(p.parse("Liber Tobiae 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Liber Tobiae 1:1'")
2608
+ expect(p.parse("Tobiae 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobiae 1:1'")
2609
+ expect(p.parse("Tobias 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobias 1:1'")
2610
+ expect(p.parse("Tho 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tho 1:1'")
2611
+ expect(p.parse("Tob 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tob 1:1'")
2612
+ ;
2613
+ return true;
2614
+ });
2615
+ });
2616
+
2617
+ describe("Localized book Jdt (la)", function() {
2618
+ var p;
2619
+ p = {};
2620
+ beforeEach(function() {
2621
+ p = new bcv_parser();
2622
+ p.set_options({
2623
+ book_alone_strategy: "ignore",
2624
+ book_sequence_strategy: "ignore",
2625
+ osis_compaction_strategy: "bc",
2626
+ captive_end_digits_strategy: "delete"
2627
+ });
2628
+ return p.include_apocrypha(true);
2629
+ });
2630
+ return it("should handle book: Jdt (la)", function() {
2631
+
2632
+ expect(p.parse("Liber Iudith 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Liber Iudith 1:1'")
2633
+ expect(p.parse("Iudith 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Iudith 1:1'")
2634
+ expect(p.parse("Idt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Idt 1:1'")
2635
+ expect(p.parse("Jdt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Jdt 1:1'")
2636
+ ;
2637
+ return true;
2638
+ });
2639
+ });
2640
+
2641
+ describe("Localized book Bar (la)", function() {
2642
+ var p;
2643
+ p = {};
2644
+ beforeEach(function() {
2645
+ p = new bcv_parser();
2646
+ p.set_options({
2647
+ book_alone_strategy: "ignore",
2648
+ book_sequence_strategy: "ignore",
2649
+ osis_compaction_strategy: "bc",
2650
+ captive_end_digits_strategy: "delete"
2651
+ });
2652
+ return p.include_apocrypha(true);
2653
+ });
2654
+ return it("should handle book: Bar (la)", function() {
2655
+
2656
+ expect(p.parse("Liber Baruch 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Liber Baruch 1:1'")
2657
+ expect(p.parse("Baruch 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Baruch 1:1'")
2658
+ expect(p.parse("Bar 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Bar 1:1'")
2659
+ ;
2660
+ return true;
2661
+ });
2662
+ });
2663
+
2664
+ describe("Localized book Sus (la)", function() {
2665
+ var p;
2666
+ p = {};
2667
+ beforeEach(function() {
2668
+ p = new bcv_parser();
2669
+ p.set_options({
2670
+ book_alone_strategy: "ignore",
2671
+ book_sequence_strategy: "ignore",
2672
+ osis_compaction_strategy: "bc",
2673
+ captive_end_digits_strategy: "delete"
2674
+ });
2675
+ return p.include_apocrypha(true);
2676
+ });
2677
+ return it("should handle book: Sus (la)", function() {
2678
+
2679
+ expect(p.parse("Historia Susannae 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Historia Susannae 1:1'")
2680
+ expect(p.parse("Susannae 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Susannae 1:1'")
2681
+ expect(p.parse("Susanna 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Susanna 1:1'")
2682
+ expect(p.parse("Sus 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Sus 1:1'")
2683
+ ;
2684
+ return true;
2685
+ });
2686
+ });
2687
+
2688
+ describe("Localized book 2Macc (la)", function() {
2689
+ var p;
2690
+ p = {};
2691
+ beforeEach(function() {
2692
+ p = new bcv_parser();
2693
+ p.set_options({
2694
+ book_alone_strategy: "ignore",
2695
+ book_sequence_strategy: "ignore",
2696
+ osis_compaction_strategy: "bc",
2697
+ captive_end_digits_strategy: "delete"
2698
+ });
2699
+ return p.include_apocrypha(true);
2700
+ });
2701
+ return it("should handle book: 2Macc (la)", function() {
2702
+
2703
+ expect(p.parse("Liber II Maccabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'Liber II Maccabaeorum 1:1'")
2704
+ expect(p.parse("Liber Maccabaeorum II 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'Liber Maccabaeorum II 1:1'")
2705
+ expect(p.parse("II. Machabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II. Machabaeorum 1:1'")
2706
+ expect(p.parse("2. Machabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2. Machabaeorum 1:1'")
2707
+ expect(p.parse("II Machabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II Machabaeorum 1:1'")
2708
+ expect(p.parse("II. Macabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II. Macabaeorum 1:1'")
2709
+ expect(p.parse("Machabaeorum II 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'Machabaeorum II 1:1'")
2710
+ expect(p.parse("2 Machabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 Machabaeorum 1:1'")
2711
+ expect(p.parse("2. Macabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2. Macabaeorum 1:1'")
2712
+ expect(p.parse("II Macabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II Macabaeorum 1:1'")
2713
+ expect(p.parse("2 Macabaeorum 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 Macabaeorum 1:1'")
2714
+ expect(p.parse("II. Mac 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II. Mac 1:1'")
2715
+ expect(p.parse("2. Mac 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2. Mac 1:1'")
2716
+ expect(p.parse("II Mac 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'II Mac 1:1'")
2717
+ expect(p.parse("2 Mac 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 Mac 1:1'")
2718
+ expect(p.parse("2Macc 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2Macc 1:1'")
2719
+ ;
2720
+ return true;
2721
+ });
2722
+ });
2723
+
2724
+ describe("Localized book 3Macc (la)", function() {
2725
+ var p;
2726
+ p = {};
2727
+ beforeEach(function() {
2728
+ p = new bcv_parser();
2729
+ p.set_options({
2730
+ book_alone_strategy: "ignore",
2731
+ book_sequence_strategy: "ignore",
2732
+ osis_compaction_strategy: "bc",
2733
+ captive_end_digits_strategy: "delete"
2734
+ });
2735
+ return p.include_apocrypha(true);
2736
+ });
2737
+ return it("should handle book: 3Macc (la)", function() {
2738
+
2739
+ expect(p.parse("Liber III Maccabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'Liber III Maccabaeorum 1:1'")
2740
+ expect(p.parse("Liber Maccabaeorum III 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'Liber Maccabaeorum III 1:1'")
2741
+ expect(p.parse("III. Machabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III. Machabaeorum 1:1'")
2742
+ expect(p.parse("III Machabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III Machabaeorum 1:1'")
2743
+ expect(p.parse("III. Macabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III. Macabaeorum 1:1'")
2744
+ expect(p.parse("Machabaeorum III 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'Machabaeorum III 1:1'")
2745
+ expect(p.parse("3. Machabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3. Machabaeorum 1:1'")
2746
+ expect(p.parse("III Macabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III Macabaeorum 1:1'")
2747
+ expect(p.parse("3 Machabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3 Machabaeorum 1:1'")
2748
+ expect(p.parse("3. Macabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3. Macabaeorum 1:1'")
2749
+ expect(p.parse("3 Macabaeorum 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3 Macabaeorum 1:1'")
2750
+ expect(p.parse("III. Mac 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III. Mac 1:1'")
2751
+ expect(p.parse("III Mac 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'III Mac 1:1'")
2752
+ expect(p.parse("3. Mac 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3. Mac 1:1'")
2753
+ expect(p.parse("3 Mac 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3 Mac 1:1'")
2754
+ expect(p.parse("3Macc 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3Macc 1:1'")
2755
+ ;
2756
+ return true;
2757
+ });
2758
+ });
2759
+
2760
+ describe("Localized book 4Macc (la)", function() {
2761
+ var p;
2762
+ p = {};
2763
+ beforeEach(function() {
2764
+ p = new bcv_parser();
2765
+ p.set_options({
2766
+ book_alone_strategy: "ignore",
2767
+ book_sequence_strategy: "ignore",
2768
+ osis_compaction_strategy: "bc",
2769
+ captive_end_digits_strategy: "delete"
2770
+ });
2771
+ return p.include_apocrypha(true);
2772
+ });
2773
+ return it("should handle book: 4Macc (la)", function() {
2774
+
2775
+ expect(p.parse("Liber IV Maccabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'Liber IV Maccabaeorum 1:1'")
2776
+ expect(p.parse("Liber Maccabaeorum IV 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'Liber Maccabaeorum IV 1:1'")
2777
+ expect(p.parse("IV. Machabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV. Machabaeorum 1:1'")
2778
+ expect(p.parse("4. Machabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4. Machabaeorum 1:1'")
2779
+ expect(p.parse("IV Machabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV Machabaeorum 1:1'")
2780
+ expect(p.parse("IV. Macabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV. Macabaeorum 1:1'")
2781
+ expect(p.parse("Machabaeorum IV 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'Machabaeorum IV 1:1'")
2782
+ expect(p.parse("4 Machabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4 Machabaeorum 1:1'")
2783
+ expect(p.parse("4. Macabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4. Macabaeorum 1:1'")
2784
+ expect(p.parse("IV Macabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV Macabaeorum 1:1'")
2785
+ expect(p.parse("4 Macabaeorum 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4 Macabaeorum 1:1'")
2786
+ expect(p.parse("IV. Mac 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV. Mac 1:1'")
2787
+ expect(p.parse("4. Mac 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4. Mac 1:1'")
2788
+ expect(p.parse("IV Mac 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'IV Mac 1:1'")
2789
+ expect(p.parse("4 Mac 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4 Mac 1:1'")
2790
+ expect(p.parse("4Macc 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4Macc 1:1'")
2791
+ ;
2792
+ return true;
2793
+ });
2794
+ });
2795
+
2796
+ describe("Localized book 1Macc (la)", function() {
2797
+ var p;
2798
+ p = {};
2799
+ beforeEach(function() {
2800
+ p = new bcv_parser();
2801
+ p.set_options({
2802
+ book_alone_strategy: "ignore",
2803
+ book_sequence_strategy: "ignore",
2804
+ osis_compaction_strategy: "bc",
2805
+ captive_end_digits_strategy: "delete"
2806
+ });
2807
+ return p.include_apocrypha(true);
2808
+ });
2809
+ return it("should handle book: 1Macc (la)", function() {
2810
+
2811
+ expect(p.parse("Liber I Maccabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'Liber I Maccabaeorum 1:1'")
2812
+ expect(p.parse("Liber Maccabaeorum I 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'Liber Maccabaeorum I 1:1'")
2813
+ expect(p.parse("1. Machabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1. Machabaeorum 1:1'")
2814
+ expect(p.parse("I. Machabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I. Machabaeorum 1:1'")
2815
+ expect(p.parse("1 Machabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 Machabaeorum 1:1'")
2816
+ expect(p.parse("1. Macabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1. Macabaeorum 1:1'")
2817
+ expect(p.parse("I Machabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I Machabaeorum 1:1'")
2818
+ expect(p.parse("I. Macabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I. Macabaeorum 1:1'")
2819
+ expect(p.parse("Machabaeorum I 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'Machabaeorum I 1:1'")
2820
+ expect(p.parse("1 Macabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 Macabaeorum 1:1'")
2821
+ expect(p.parse("I Macabaeorum 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I Macabaeorum 1:1'")
2822
+ expect(p.parse("1. Mac 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1. Mac 1:1'")
2823
+ expect(p.parse("I. Mac 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I. Mac 1:1'")
2824
+ expect(p.parse("1 Mac 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 Mac 1:1'")
2825
+ expect(p.parse("1Macc 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1Macc 1:1'")
2826
+ expect(p.parse("I Mac 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'I Mac 1:1'")
2827
+ ;
2828
+ return true;
2829
+ });
2830
+ });
2831
+
2832
+ describe("Miscellaneous tests", function() {
2833
+ var p;
2834
+ p = {};
2835
+ beforeEach(function() {
2836
+ p = new bcv_parser();
2837
+ p.set_options({
2838
+ book_alone_strategy: "ignore",
2839
+ book_sequence_strategy: "ignore",
2840
+ osis_compaction_strategy: "bc",
2841
+ captive_end_digits_strategy: "delete"
2842
+ });
2843
+ return p.include_apocrypha(true);
2844
+ });
2845
+ it("should return the expected language", function() {
2846
+ return expect(p.languages).toEqual(["la"]);
2847
+ });
2848
+ it("should handle ranges (la)", function() {
2849
+ expect(p.parse("Titus 1:1 ad 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 ad 2'");
2850
+ expect(p.parse("Matt 1ad2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1ad2'");
2851
+ return expect(p.parse("Phlm 2 AD 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 AD 3'");
2852
+ });
2853
+ it("should handle chapters (la)", function() {
2854
+ expect(p.parse("Titus 1:1, caput 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, caput 2'");
2855
+ expect(p.parse("Matt 3:4 CAPUT 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 CAPUT 6'");
2856
+ expect(p.parse("Titus 1:1, cap. 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, cap. 2'");
2857
+ expect(p.parse("Matt 3:4 CAP. 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 CAP. 6'");
2858
+ expect(p.parse("Titus 1:1, cap 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, cap 2'");
2859
+ return expect(p.parse("Matt 3:4 CAP 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 CAP 6'");
2860
+ });
2861
+ it("should handle verses (la)", function() {
2862
+ expect(p.parse("Exod 1:1 versus 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 versus 3'");
2863
+ expect(p.parse("Phlm VERSUS 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VERSUS 6'");
2864
+ expect(p.parse("Exod 1:1 vers. 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 vers. 3'");
2865
+ expect(p.parse("Phlm VERS. 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VERS. 6'");
2866
+ expect(p.parse("Exod 1:1 vers 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 vers 3'");
2867
+ expect(p.parse("Phlm VERS 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VERS 6'");
2868
+ expect(p.parse("Exod 1:1 ver. 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 ver. 3'");
2869
+ expect(p.parse("Phlm VER. 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VER. 6'");
2870
+ expect(p.parse("Exod 1:1 ver 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 ver 3'");
2871
+ expect(p.parse("Phlm VER 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VER 6'");
2872
+ expect(p.parse("Exod 1:1 v. 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 v. 3'");
2873
+ expect(p.parse("Phlm V. 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm V. 6'");
2874
+ expect(p.parse("Exod 1:1 v 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 v 3'");
2875
+ return expect(p.parse("Phlm V 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm V 6'");
2876
+ });
2877
+ it("should handle 'and' (la)", function() {
2878
+ expect(p.parse("Exod 1:1 et 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 et 3'");
2879
+ return expect(p.parse("Phlm 2 ET 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 ET 6'");
2880
+ });
2881
+ it("should handle titles (la)", function() {
2882
+ expect(p.parse("Ps 3 titulus, 4:2, 5:titulus").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'Ps 3 titulus, 4:2, 5:titulus'");
2883
+ return expect(p.parse("PS 3 TITULUS, 4:2, 5:TITULUS").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'PS 3 TITULUS, 4:2, 5:TITULUS'");
2884
+ });
2885
+ it("should handle 'ff' (la)", function() {
2886
+ expect(p.parse("Rev 3et sequentes, 4:2et sequentes").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3et sequentes, 4:2et sequentes'");
2887
+ expect(p.parse("REV 3 ET SEQUENTES, 4:2 ET SEQUENTES").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 ET SEQUENTES, 4:2 ET SEQUENTES'");
2888
+ expect(p.parse("Rev 3et seq., 4:2et seq.").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3et seq., 4:2et seq.'");
2889
+ expect(p.parse("REV 3 ET SEQ., 4:2 ET SEQ.").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 ET SEQ., 4:2 ET SEQ.'");
2890
+ expect(p.parse("Rev 3et seq, 4:2et seq").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3et seq, 4:2et seq'");
2891
+ return expect(p.parse("REV 3 ET SEQ, 4:2 ET SEQ").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 ET SEQ, 4:2 ET SEQ'");
2892
+ });
2893
+ it("should handle translations (la)", function() {
2894
+ expect(p.parse("Lev 1 (VG)").osis_and_translations()).toEqual([["Lev.1", "VG"]]);
2895
+ expect(p.parse("lev 1 vg").osis_and_translations()).toEqual([["Lev.1", "VG"]]);
2896
+ expect(p.parse("Lev 1 (VULG)").osis_and_translations()).toEqual([["Lev.1", "VULG"]]);
2897
+ return expect(p.parse("lev 1 vulg").osis_and_translations()).toEqual([["Lev.1", "VULG"]]);
2898
+ });
2899
+ it("should handle book ranges (la)", function() {
2900
+ p.set_options({
2901
+ book_alone_strategy: "full",
2902
+ book_range_strategy: "include"
2903
+ });
2904
+ return expect(p.parse("I ad III In").osis()).toEqual("1John.1-3John.1", "parsing: 'I ad III In'");
2905
+ });
2906
+ return it("should handle boundaries (la)", function() {
2907
+ p.set_options({
2908
+ book_alone_strategy: "full"
2909
+ });
2910
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
2911
+ return expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
2912
+ });
2913
+ });
2914
+
2915
+ }).call(this);