bible-ref-parse 3.0.14 → 3.0.15

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 (40) hide show
  1. package/dist/am-bcv-parser.js +7218 -0
  2. package/dist/am-bcv-parser.min.js +1 -0
  3. package/dist/bb-bcv-parser.js +7247 -0
  4. package/dist/bb-bcv-parser.min.js +1 -0
  5. package/dist/bn-bcv-parser.js +7229 -0
  6. package/dist/bn-bcv-parser.min.js +1 -0
  7. package/dist/ee-bcv-parser.js +7127 -0
  8. package/dist/ee-bcv-parser.min.js +1 -0
  9. package/dist/hl-bcv-parser.js +7127 -0
  10. package/dist/hl-bcv-parser.min.js +1 -0
  11. package/dist/id-bcv-parser.js +7116 -0
  12. package/dist/id-bcv-parser.min.js +1 -0
  13. package/dist/lu-bcv-parser.js +7203 -0
  14. package/dist/lu-bcv-parser.min.js +1 -0
  15. package/dist/mg-bcv-parser.js +7116 -0
  16. package/dist/mg-bcv-parser.min.js +1 -0
  17. package/dist/mq-bcv-parser.js +7114 -0
  18. package/dist/mq-bcv-parser.min.js +1 -0
  19. package/dist/nd-bcv-parser.js +7116 -0
  20. package/dist/nd-bcv-parser.min.js +1 -0
  21. package/dist/ny-bcv-parser.js +7125 -0
  22. package/dist/ny-bcv-parser.min.js +1 -0
  23. package/dist/si-bcv-parser.js +7171 -0
  24. package/dist/si-bcv-parser.min.js +1 -0
  25. package/dist/test/am.spec.js +1939 -0
  26. package/dist/test/bb.spec.js +2083 -0
  27. package/dist/test/bn.spec.js +2340 -0
  28. package/dist/test/ee.spec.js +1781 -0
  29. package/dist/test/hl.spec.js +1771 -0
  30. package/dist/test/id.spec.js +1757 -0
  31. package/dist/test/lu.spec.js +1759 -0
  32. package/dist/test/mg.spec.js +1783 -0
  33. package/dist/test/mq.spec.js +1745 -0
  34. package/dist/test/nd.spec.js +1781 -0
  35. package/dist/test/ny.spec.js +1791 -0
  36. package/dist/test/si.spec.js +1797 -0
  37. package/dist/test/zu.spec.js +2075 -0
  38. package/dist/zu-bcv-parser.js +7236 -0
  39. package/dist/zu-bcv-parser.min.js +1 -0
  40. package/package.json +1 -1
@@ -0,0 +1,1783 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/mg-bcv-parser.js").bcv_parser;
5
+
6
+ describe("Parsing (mg)", function() {
7
+ var p;
8
+ p = {};
9
+ beforeEach(function() {
10
+ p = new bcv_parser();
11
+ p.options.osis_compaction_strategy = "b";
12
+ 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;
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
+ for (i = 0, len = books.length; i < len; i++) {
21
+ book = books[i];
22
+ bc = book + ".1";
23
+ bcv = bc + ".1";
24
+ bcv_range = bcv + "-" + bc + ".2";
25
+ expect(p.parse(bc).osis()).toEqual(bc);
26
+ expect(p.parse(bcv).osis()).toEqual(bcv);
27
+ expect(p.parse(bcv_range).osis()).toEqual(bcv_range);
28
+ }
29
+ });
30
+ it("should round-trip OSIS Apocrypha references", function() {
31
+ var bc, bcv, bcv_range, book, books, i, j, len, len1;
32
+ p.set_options({
33
+ osis_compaction_strategy: "bc",
34
+ ps151_strategy: "b"
35
+ });
36
+ p.include_apocrypha(true);
37
+ books = ["Tob", "Jdt", "GkEsth", "Wis", "Sir", "Bar", "PrAzar", "Sus", "Bel", "SgThree", "EpJer", "1Macc", "2Macc", "3Macc", "4Macc", "1Esd", "2Esd", "PrMan", "Ps151"];
38
+ for (i = 0, len = books.length; i < len; i++) {
39
+ book = books[i];
40
+ bc = book + ".1";
41
+ bcv = bc + ".1";
42
+ bcv_range = bcv + "-" + bc + ".2";
43
+ expect(p.parse(bc).osis()).toEqual(bc);
44
+ expect(p.parse(bcv).osis()).toEqual(bcv);
45
+ expect(p.parse(bcv_range).osis()).toEqual(bcv_range);
46
+ }
47
+ p.set_options({
48
+ ps151_strategy: "bc"
49
+ });
50
+ expect(p.parse("Ps151.1").osis()).toEqual("Ps.151");
51
+ expect(p.parse("Ps151.1.1").osis()).toEqual("Ps.151.1");
52
+ expect(p.parse("Ps151.1-Ps151.2").osis()).toEqual("Ps.151.1-Ps.151.2");
53
+ p.include_apocrypha(false);
54
+ for (j = 0, len1 = books.length; j < len1; j++) {
55
+ book = books[j];
56
+ bc = book + ".1";
57
+ expect(p.parse(bc).osis()).toEqual("");
58
+ }
59
+ });
60
+ it("should handle a preceding character", function() {
61
+ expect(p.parse(" Gen 1").osis()).toEqual("Gen.1");
62
+ expect(p.parse("Matt5John3").osis()).toEqual("Matt.5,John.3");
63
+ expect(p.parse("1Ps 1").osis()).toEqual("");
64
+ expect(p.parse("11Sam 1").osis()).toEqual("");
65
+ });
66
+ });
67
+
68
+ describe("Localized book Gen (mg)", function() {
69
+ var p;
70
+ p = {};
71
+ beforeEach(function() {
72
+ p = new bcv_parser();
73
+ p.set_options({
74
+ book_alone_strategy: "ignore",
75
+ book_sequence_strategy: "ignore",
76
+ osis_compaction_strategy: "bc",
77
+ captive_end_digits_strategy: "delete"
78
+ });
79
+ p.include_apocrypha(true);
80
+ });
81
+ it("should handle book: Gen (mg)", function() {
82
+ expect(p.parse("Genesisy 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesisy 1:1'");
83
+ expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'");
84
+ p.include_apocrypha(false);
85
+ expect(p.parse("GENESISY 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESISY 1:1'");
86
+ expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'");
87
+ });
88
+ });
89
+
90
+ describe("Localized book Exod (mg)", function() {
91
+ var p;
92
+ p = {};
93
+ beforeEach(function() {
94
+ p = new bcv_parser();
95
+ p.set_options({
96
+ book_alone_strategy: "ignore",
97
+ book_sequence_strategy: "ignore",
98
+ osis_compaction_strategy: "bc",
99
+ captive_end_digits_strategy: "delete"
100
+ });
101
+ p.include_apocrypha(true);
102
+ });
103
+ it("should handle book: Exod (mg)", function() {
104
+ expect(p.parse("Eksodosy 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Eksodosy 1:1'");
105
+ expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'");
106
+ expect(p.parse("Eks 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Eks 1:1'");
107
+ p.include_apocrypha(false);
108
+ expect(p.parse("EKSODOSY 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EKSODOSY 1:1'");
109
+ expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'");
110
+ expect(p.parse("EKS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EKS 1:1'");
111
+ });
112
+ });
113
+
114
+ describe("Localized book Lev (mg)", function() {
115
+ var p;
116
+ p = {};
117
+ beforeEach(function() {
118
+ p = new bcv_parser();
119
+ p.set_options({
120
+ book_alone_strategy: "ignore",
121
+ book_sequence_strategy: "ignore",
122
+ osis_compaction_strategy: "bc",
123
+ captive_end_digits_strategy: "delete"
124
+ });
125
+ p.include_apocrypha(true);
126
+ });
127
+ it("should handle book: Lev (mg)", function() {
128
+ expect(p.parse("Levitikosy 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Levitikosy 1:1'");
129
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'");
130
+ p.include_apocrypha(false);
131
+ expect(p.parse("LEVITIKOSY 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITIKOSY 1:1'");
132
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'");
133
+ });
134
+ });
135
+
136
+ describe("Localized book Num (mg)", function() {
137
+ var p;
138
+ p = {};
139
+ beforeEach(function() {
140
+ p = new bcv_parser();
141
+ p.set_options({
142
+ book_alone_strategy: "ignore",
143
+ book_sequence_strategy: "ignore",
144
+ osis_compaction_strategy: "bc",
145
+ captive_end_digits_strategy: "delete"
146
+ });
147
+ p.include_apocrypha(true);
148
+ });
149
+ it("should handle book: Num (mg)", function() {
150
+ expect(p.parse("Nomery 1:1").osis()).toEqual("Num.1.1", "parsing: 'Nomery 1:1'");
151
+ expect(p.parse("Nom 1:1").osis()).toEqual("Num.1.1", "parsing: 'Nom 1:1'");
152
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'");
153
+ p.include_apocrypha(false);
154
+ expect(p.parse("NOMERY 1:1").osis()).toEqual("Num.1.1", "parsing: 'NOMERY 1:1'");
155
+ expect(p.parse("NOM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NOM 1:1'");
156
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'");
157
+ });
158
+ });
159
+
160
+ describe("Localized book Lam (mg)", function() {
161
+ var p;
162
+ p = {};
163
+ beforeEach(function() {
164
+ p = new bcv_parser();
165
+ p.set_options({
166
+ book_alone_strategy: "ignore",
167
+ book_sequence_strategy: "ignore",
168
+ osis_compaction_strategy: "bc",
169
+ captive_end_digits_strategy: "delete"
170
+ });
171
+ p.include_apocrypha(true);
172
+ });
173
+ it("should handle book: Lam (mg)", function() {
174
+ expect(p.parse("Fitomaniana 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Fitomaniana 1:1'");
175
+ expect(p.parse("Fit 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Fit 1:1'");
176
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'");
177
+ p.include_apocrypha(false);
178
+ expect(p.parse("FITOMANIANA 1:1").osis()).toEqual("Lam.1.1", "parsing: 'FITOMANIANA 1:1'");
179
+ expect(p.parse("FIT 1:1").osis()).toEqual("Lam.1.1", "parsing: 'FIT 1:1'");
180
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'");
181
+ });
182
+ });
183
+
184
+ describe("Localized book Rev (mg)", function() {
185
+ var p;
186
+ p = {};
187
+ beforeEach(function() {
188
+ p = new bcv_parser();
189
+ p.set_options({
190
+ book_alone_strategy: "ignore",
191
+ book_sequence_strategy: "ignore",
192
+ osis_compaction_strategy: "bc",
193
+ captive_end_digits_strategy: "delete"
194
+ });
195
+ p.include_apocrypha(true);
196
+ });
197
+ it("should handle book: Rev (mg)", function() {
198
+ expect(p.parse("Apokalypsy 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apokalypsy 1:1'");
199
+ expect(p.parse("Apo 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apo 1:1'");
200
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'");
201
+ p.include_apocrypha(false);
202
+ expect(p.parse("APOKALYPSY 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APOKALYPSY 1:1'");
203
+ expect(p.parse("APO 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APO 1:1'");
204
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'");
205
+ });
206
+ });
207
+
208
+ describe("Localized book Deut (mg)", function() {
209
+ var p;
210
+ p = {};
211
+ beforeEach(function() {
212
+ p = new bcv_parser();
213
+ p.set_options({
214
+ book_alone_strategy: "ignore",
215
+ book_sequence_strategy: "ignore",
216
+ osis_compaction_strategy: "bc",
217
+ captive_end_digits_strategy: "delete"
218
+ });
219
+ p.include_apocrypha(true);
220
+ });
221
+ it("should handle book: Deut (mg)", function() {
222
+ expect(p.parse("Deoteronomia 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deoteronomia 1:1'");
223
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'");
224
+ expect(p.parse("Deo 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deo 1:1'");
225
+ p.include_apocrypha(false);
226
+ expect(p.parse("DEOTERONOMIA 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEOTERONOMIA 1:1'");
227
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'");
228
+ expect(p.parse("DEO 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEO 1:1'");
229
+ });
230
+ });
231
+
232
+ describe("Localized book Josh (mg)", function() {
233
+ var p;
234
+ p = {};
235
+ beforeEach(function() {
236
+ p = new bcv_parser();
237
+ p.set_options({
238
+ book_alone_strategy: "ignore",
239
+ book_sequence_strategy: "ignore",
240
+ osis_compaction_strategy: "bc",
241
+ captive_end_digits_strategy: "delete"
242
+ });
243
+ p.include_apocrypha(true);
244
+ });
245
+ it("should handle book: Josh (mg)", function() {
246
+ expect(p.parse("Josoa 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josoa 1:1'");
247
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'");
248
+ expect(p.parse("Jos 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jos 1:1'");
249
+ p.include_apocrypha(false);
250
+ expect(p.parse("JOSOA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSOA 1:1'");
251
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'");
252
+ expect(p.parse("JOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOS 1:1'");
253
+ });
254
+ });
255
+
256
+ describe("Localized book Judg (mg)", function() {
257
+ var p;
258
+ p = {};
259
+ beforeEach(function() {
260
+ p = new bcv_parser();
261
+ p.set_options({
262
+ book_alone_strategy: "ignore",
263
+ book_sequence_strategy: "ignore",
264
+ osis_compaction_strategy: "bc",
265
+ captive_end_digits_strategy: "delete"
266
+ });
267
+ p.include_apocrypha(true);
268
+ });
269
+ it("should handle book: Judg (mg)", function() {
270
+ expect(p.parse("Mpitsara 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Mpitsara 1:1'");
271
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'");
272
+ expect(p.parse("Mpi 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Mpi 1:1'");
273
+ p.include_apocrypha(false);
274
+ expect(p.parse("MPITSARA 1:1").osis()).toEqual("Judg.1.1", "parsing: 'MPITSARA 1:1'");
275
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'");
276
+ expect(p.parse("MPI 1:1").osis()).toEqual("Judg.1.1", "parsing: 'MPI 1:1'");
277
+ });
278
+ });
279
+
280
+ describe("Localized book Ruth (mg)", function() {
281
+ var p;
282
+ p = {};
283
+ beforeEach(function() {
284
+ p = new bcv_parser();
285
+ p.set_options({
286
+ book_alone_strategy: "ignore",
287
+ book_sequence_strategy: "ignore",
288
+ osis_compaction_strategy: "bc",
289
+ captive_end_digits_strategy: "delete"
290
+ });
291
+ p.include_apocrypha(true);
292
+ });
293
+ it("should handle book: Ruth (mg)", function() {
294
+ expect(p.parse("Rota 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rota 1:1'");
295
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'");
296
+ expect(p.parse("Rot 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rot 1:1'");
297
+ p.include_apocrypha(false);
298
+ expect(p.parse("ROTA 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'ROTA 1:1'");
299
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'");
300
+ expect(p.parse("ROT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'ROT 1:1'");
301
+ });
302
+ });
303
+
304
+ describe("Localized book Isa (mg)", function() {
305
+ var p;
306
+ p = {};
307
+ beforeEach(function() {
308
+ p = new bcv_parser();
309
+ p.set_options({
310
+ book_alone_strategy: "ignore",
311
+ book_sequence_strategy: "ignore",
312
+ osis_compaction_strategy: "bc",
313
+ captive_end_digits_strategy: "delete"
314
+ });
315
+ p.include_apocrypha(true);
316
+ });
317
+ it("should handle book: Isa (mg)", function() {
318
+ expect(p.parse("Isaia 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isaia 1:1'");
319
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'");
320
+ p.include_apocrypha(false);
321
+ expect(p.parse("ISAIA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISAIA 1:1'");
322
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'");
323
+ });
324
+ });
325
+
326
+ describe("Localized book 2Sam (mg)", function() {
327
+ var p;
328
+ p = {};
329
+ beforeEach(function() {
330
+ p = new bcv_parser();
331
+ p.set_options({
332
+ book_alone_strategy: "ignore",
333
+ book_sequence_strategy: "ignore",
334
+ osis_compaction_strategy: "bc",
335
+ captive_end_digits_strategy: "delete"
336
+ });
337
+ p.include_apocrypha(true);
338
+ });
339
+ it("should handle book: 2Sam (mg)", function() {
340
+ expect(p.parse("2. Samoela 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samoela 1:1'");
341
+ expect(p.parse("2 Samoela 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samoela 1:1'");
342
+ expect(p.parse("2. Sa 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Sa 1:1'");
343
+ expect(p.parse("2 Sa 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Sa 1:1'");
344
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'");
345
+ p.include_apocrypha(false);
346
+ expect(p.parse("2. SAMOELA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMOELA 1:1'");
347
+ expect(p.parse("2 SAMOELA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMOELA 1:1'");
348
+ expect(p.parse("2. SA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SA 1:1'");
349
+ expect(p.parse("2 SA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SA 1:1'");
350
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'");
351
+ });
352
+ });
353
+
354
+ describe("Localized book 1Sam (mg)", function() {
355
+ var p;
356
+ p = {};
357
+ beforeEach(function() {
358
+ p = new bcv_parser();
359
+ p.set_options({
360
+ book_alone_strategy: "ignore",
361
+ book_sequence_strategy: "ignore",
362
+ osis_compaction_strategy: "bc",
363
+ captive_end_digits_strategy: "delete"
364
+ });
365
+ p.include_apocrypha(true);
366
+ });
367
+ it("should handle book: 1Sam (mg)", function() {
368
+ expect(p.parse("voalohany Samoela 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'voalohany Samoela 1:1'");
369
+ expect(p.parse("voalohany Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'voalohany Sa 1:1'");
370
+ expect(p.parse("1. Samoela 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samoela 1:1'");
371
+ expect(p.parse("1 Samoela 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samoela 1:1'");
372
+ expect(p.parse("1. Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Sa 1:1'");
373
+ expect(p.parse("1 Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Sa 1:1'");
374
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'");
375
+ p.include_apocrypha(false);
376
+ expect(p.parse("VOALOHANY SAMOELA 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'VOALOHANY SAMOELA 1:1'");
377
+ expect(p.parse("VOALOHANY SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'VOALOHANY SA 1:1'");
378
+ expect(p.parse("1. SAMOELA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMOELA 1:1'");
379
+ expect(p.parse("1 SAMOELA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMOELA 1:1'");
380
+ expect(p.parse("1. SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SA 1:1'");
381
+ expect(p.parse("1 SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SA 1:1'");
382
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'");
383
+ });
384
+ });
385
+
386
+ describe("Localized book 2Kgs (mg)", function() {
387
+ var p;
388
+ p = {};
389
+ beforeEach(function() {
390
+ p = new bcv_parser();
391
+ p.set_options({
392
+ book_alone_strategy: "ignore",
393
+ book_sequence_strategy: "ignore",
394
+ osis_compaction_strategy: "bc",
395
+ captive_end_digits_strategy: "delete"
396
+ });
397
+ p.include_apocrypha(true);
398
+ });
399
+ it("should handle book: 2Kgs (mg)", function() {
400
+ expect(p.parse("2. Mpanjaka 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Mpanjaka 1:1'");
401
+ expect(p.parse("2 Mpanjaka 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Mpanjaka 1:1'");
402
+ expect(p.parse("2. Mp 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Mp 1:1'");
403
+ expect(p.parse("2 Mp 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Mp 1:1'");
404
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'");
405
+ p.include_apocrypha(false);
406
+ expect(p.parse("2. MPANJAKA 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. MPANJAKA 1:1'");
407
+ expect(p.parse("2 MPANJAKA 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 MPANJAKA 1:1'");
408
+ expect(p.parse("2. MP 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. MP 1:1'");
409
+ expect(p.parse("2 MP 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 MP 1:1'");
410
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'");
411
+ });
412
+ });
413
+
414
+ describe("Localized book 1Kgs (mg)", function() {
415
+ var p;
416
+ p = {};
417
+ beforeEach(function() {
418
+ p = new bcv_parser();
419
+ p.set_options({
420
+ book_alone_strategy: "ignore",
421
+ book_sequence_strategy: "ignore",
422
+ osis_compaction_strategy: "bc",
423
+ captive_end_digits_strategy: "delete"
424
+ });
425
+ p.include_apocrypha(true);
426
+ });
427
+ it("should handle book: 1Kgs (mg)", function() {
428
+ expect(p.parse("voalohany Mpanjaka 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'voalohany Mpanjaka 1:1'");
429
+ expect(p.parse("voalohany Mp 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'voalohany Mp 1:1'");
430
+ expect(p.parse("1. Mpanjaka 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Mpanjaka 1:1'");
431
+ expect(p.parse("1 Mpanjaka 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Mpanjaka 1:1'");
432
+ expect(p.parse("1. Mp 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Mp 1:1'");
433
+ expect(p.parse("1 Mp 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Mp 1:1'");
434
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'");
435
+ p.include_apocrypha(false);
436
+ expect(p.parse("VOALOHANY MPANJAKA 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'VOALOHANY MPANJAKA 1:1'");
437
+ expect(p.parse("VOALOHANY MP 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'VOALOHANY MP 1:1'");
438
+ expect(p.parse("1. MPANJAKA 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. MPANJAKA 1:1'");
439
+ expect(p.parse("1 MPANJAKA 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 MPANJAKA 1:1'");
440
+ expect(p.parse("1. MP 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. MP 1:1'");
441
+ expect(p.parse("1 MP 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 MP 1:1'");
442
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'");
443
+ });
444
+ });
445
+
446
+ describe("Localized book 2Chr (mg)", function() {
447
+ var p;
448
+ p = {};
449
+ beforeEach(function() {
450
+ p = new bcv_parser();
451
+ p.set_options({
452
+ book_alone_strategy: "ignore",
453
+ book_sequence_strategy: "ignore",
454
+ osis_compaction_strategy: "bc",
455
+ captive_end_digits_strategy: "delete"
456
+ });
457
+ p.include_apocrypha(true);
458
+ });
459
+ it("should handle book: 2Chr (mg)", function() {
460
+ expect(p.parse("2. Tantara 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Tantara 1:1'");
461
+ expect(p.parse("2 Tantara 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Tantara 1:1'");
462
+ expect(p.parse("2. Ta 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Ta 1:1'");
463
+ expect(p.parse("2 Ta 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Ta 1:1'");
464
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'");
465
+ p.include_apocrypha(false);
466
+ expect(p.parse("2. TANTARA 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. TANTARA 1:1'");
467
+ expect(p.parse("2 TANTARA 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 TANTARA 1:1'");
468
+ expect(p.parse("2. TA 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. TA 1:1'");
469
+ expect(p.parse("2 TA 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 TA 1:1'");
470
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'");
471
+ });
472
+ });
473
+
474
+ describe("Localized book 1Chr (mg)", function() {
475
+ var p;
476
+ p = {};
477
+ beforeEach(function() {
478
+ p = new bcv_parser();
479
+ p.set_options({
480
+ book_alone_strategy: "ignore",
481
+ book_sequence_strategy: "ignore",
482
+ osis_compaction_strategy: "bc",
483
+ captive_end_digits_strategy: "delete"
484
+ });
485
+ p.include_apocrypha(true);
486
+ });
487
+ it("should handle book: 1Chr (mg)", function() {
488
+ expect(p.parse("voalohany Tantara 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'voalohany Tantara 1:1'");
489
+ expect(p.parse("voalohany Ta 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'voalohany Ta 1:1'");
490
+ expect(p.parse("1. Tantara 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Tantara 1:1'");
491
+ expect(p.parse("1 Tantara 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Tantara 1:1'");
492
+ expect(p.parse("1. Ta 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Ta 1:1'");
493
+ expect(p.parse("1 Ta 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Ta 1:1'");
494
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'");
495
+ p.include_apocrypha(false);
496
+ expect(p.parse("VOALOHANY TANTARA 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'VOALOHANY TANTARA 1:1'");
497
+ expect(p.parse("VOALOHANY TA 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'VOALOHANY TA 1:1'");
498
+ expect(p.parse("1. TANTARA 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. TANTARA 1:1'");
499
+ expect(p.parse("1 TANTARA 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 TANTARA 1:1'");
500
+ expect(p.parse("1. TA 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. TA 1:1'");
501
+ expect(p.parse("1 TA 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 TA 1:1'");
502
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'");
503
+ });
504
+ });
505
+
506
+ describe("Localized book Ezra (mg)", function() {
507
+ var p;
508
+ p = {};
509
+ beforeEach(function() {
510
+ p = new bcv_parser();
511
+ p.set_options({
512
+ book_alone_strategy: "ignore",
513
+ book_sequence_strategy: "ignore",
514
+ osis_compaction_strategy: "bc",
515
+ captive_end_digits_strategy: "delete"
516
+ });
517
+ p.include_apocrypha(true);
518
+ });
519
+ it("should handle book: Ezra (mg)", function() {
520
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'");
521
+ expect(p.parse("Ezr 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezr 1:1'");
522
+ p.include_apocrypha(false);
523
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'");
524
+ expect(p.parse("EZR 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZR 1:1'");
525
+ });
526
+ });
527
+
528
+ describe("Localized book Neh (mg)", function() {
529
+ var p;
530
+ p = {};
531
+ beforeEach(function() {
532
+ p = new bcv_parser();
533
+ p.set_options({
534
+ book_alone_strategy: "ignore",
535
+ book_sequence_strategy: "ignore",
536
+ osis_compaction_strategy: "bc",
537
+ captive_end_digits_strategy: "delete"
538
+ });
539
+ p.include_apocrypha(true);
540
+ });
541
+ it("should handle book: Neh (mg)", function() {
542
+ expect(p.parse("Nehemia 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemia 1:1'");
543
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'");
544
+ p.include_apocrypha(false);
545
+ expect(p.parse("NEHEMIA 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMIA 1:1'");
546
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'");
547
+ });
548
+ });
549
+
550
+ describe("Localized book Esth (mg)", function() {
551
+ var p;
552
+ p = {};
553
+ beforeEach(function() {
554
+ p = new bcv_parser();
555
+ p.set_options({
556
+ book_alone_strategy: "ignore",
557
+ book_sequence_strategy: "ignore",
558
+ osis_compaction_strategy: "bc",
559
+ captive_end_digits_strategy: "delete"
560
+ });
561
+ p.include_apocrypha(true);
562
+ });
563
+ it("should handle book: Esth (mg)", function() {
564
+ expect(p.parse("Estera 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Estera 1:1'");
565
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'");
566
+ expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Est 1:1'");
567
+ p.include_apocrypha(false);
568
+ expect(p.parse("ESTERA 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTERA 1:1'");
569
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'");
570
+ expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1", "parsing: 'EST 1:1'");
571
+ });
572
+ });
573
+
574
+ describe("Localized book Job (mg)", function() {
575
+ var p;
576
+ p = {};
577
+ beforeEach(function() {
578
+ p = new bcv_parser();
579
+ p.set_options({
580
+ book_alone_strategy: "ignore",
581
+ book_sequence_strategy: "ignore",
582
+ osis_compaction_strategy: "bc",
583
+ captive_end_digits_strategy: "delete"
584
+ });
585
+ p.include_apocrypha(true);
586
+ });
587
+ it("should handle book: Job (mg)", function() {
588
+ expect(p.parse("Joba 1:1").osis()).toEqual("Job.1.1", "parsing: 'Joba 1:1'");
589
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'");
590
+ p.include_apocrypha(false);
591
+ expect(p.parse("JOBA 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOBA 1:1'");
592
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'");
593
+ });
594
+ });
595
+
596
+ describe("Localized book Ps (mg)", function() {
597
+ var p;
598
+ p = {};
599
+ beforeEach(function() {
600
+ p = new bcv_parser();
601
+ p.set_options({
602
+ book_alone_strategy: "ignore",
603
+ book_sequence_strategy: "ignore",
604
+ osis_compaction_strategy: "bc",
605
+ captive_end_digits_strategy: "delete"
606
+ });
607
+ p.include_apocrypha(true);
608
+ });
609
+ it("should handle book: Ps (mg)", function() {
610
+ expect(p.parse("Salamo 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salamo 1:1'");
611
+ expect(p.parse("Sal 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Sal 1:1'");
612
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'");
613
+ p.include_apocrypha(false);
614
+ expect(p.parse("SALAMO 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALAMO 1:1'");
615
+ expect(p.parse("SAL 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SAL 1:1'");
616
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'");
617
+ });
618
+ });
619
+
620
+ describe("Localized book Prov (mg)", function() {
621
+ var p;
622
+ p = {};
623
+ beforeEach(function() {
624
+ p = new bcv_parser();
625
+ p.set_options({
626
+ book_alone_strategy: "ignore",
627
+ book_sequence_strategy: "ignore",
628
+ osis_compaction_strategy: "bc",
629
+ captive_end_digits_strategy: "delete"
630
+ });
631
+ p.include_apocrypha(true);
632
+ });
633
+ it("should handle book: Prov (mg)", function() {
634
+ expect(p.parse("Ohabolana 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Ohabolana 1:1'");
635
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'");
636
+ expect(p.parse("Oha 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Oha 1:1'");
637
+ p.include_apocrypha(false);
638
+ expect(p.parse("OHABOLANA 1:1").osis()).toEqual("Prov.1.1", "parsing: 'OHABOLANA 1:1'");
639
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'");
640
+ expect(p.parse("OHA 1:1").osis()).toEqual("Prov.1.1", "parsing: 'OHA 1:1'");
641
+ });
642
+ });
643
+
644
+ describe("Localized book Eccl (mg)", function() {
645
+ var p;
646
+ p = {};
647
+ beforeEach(function() {
648
+ p = new bcv_parser();
649
+ p.set_options({
650
+ book_alone_strategy: "ignore",
651
+ book_sequence_strategy: "ignore",
652
+ osis_compaction_strategy: "bc",
653
+ captive_end_digits_strategy: "delete"
654
+ });
655
+ p.include_apocrypha(true);
656
+ });
657
+ it("should handle book: Eccl (mg)", function() {
658
+ expect(p.parse("Mpitoriteny 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Mpitoriteny 1:1'");
659
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'");
660
+ expect(p.parse("Mpt 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Mpt 1:1'");
661
+ p.include_apocrypha(false);
662
+ expect(p.parse("MPITORITENY 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'MPITORITENY 1:1'");
663
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'");
664
+ expect(p.parse("MPT 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'MPT 1:1'");
665
+ });
666
+ });
667
+
668
+ describe("Localized book Song (mg)", function() {
669
+ var p;
670
+ p = {};
671
+ beforeEach(function() {
672
+ p = new bcv_parser();
673
+ p.set_options({
674
+ book_alone_strategy: "ignore",
675
+ book_sequence_strategy: "ignore",
676
+ osis_compaction_strategy: "bc",
677
+ captive_end_digits_strategy: "delete"
678
+ });
679
+ p.include_apocrypha(true);
680
+ });
681
+ it("should handle book: Song (mg)", function() {
682
+ expect(p.parse("Tononkira 1:1").osis()).toEqual("Song.1.1", "parsing: 'Tononkira 1:1'");
683
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'");
684
+ expect(p.parse("Ton 1:1").osis()).toEqual("Song.1.1", "parsing: 'Ton 1:1'");
685
+ p.include_apocrypha(false);
686
+ expect(p.parse("TONONKIRA 1:1").osis()).toEqual("Song.1.1", "parsing: 'TONONKIRA 1:1'");
687
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'");
688
+ expect(p.parse("TON 1:1").osis()).toEqual("Song.1.1", "parsing: 'TON 1:1'");
689
+ });
690
+ });
691
+
692
+ describe("Localized book Jer (mg)", function() {
693
+ var p;
694
+ p = {};
695
+ beforeEach(function() {
696
+ p = new bcv_parser();
697
+ p.set_options({
698
+ book_alone_strategy: "ignore",
699
+ book_sequence_strategy: "ignore",
700
+ osis_compaction_strategy: "bc",
701
+ captive_end_digits_strategy: "delete"
702
+ });
703
+ p.include_apocrypha(true);
704
+ });
705
+ it("should handle book: Jer (mg)", function() {
706
+ expect(p.parse("Jeremia 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jeremia 1:1'");
707
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'");
708
+ p.include_apocrypha(false);
709
+ expect(p.parse("JEREMIA 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JEREMIA 1:1'");
710
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'");
711
+ });
712
+ });
713
+
714
+ describe("Localized book Ezek (mg)", function() {
715
+ var p;
716
+ p = {};
717
+ beforeEach(function() {
718
+ p = new bcv_parser();
719
+ p.set_options({
720
+ book_alone_strategy: "ignore",
721
+ book_sequence_strategy: "ignore",
722
+ osis_compaction_strategy: "bc",
723
+ captive_end_digits_strategy: "delete"
724
+ });
725
+ p.include_apocrypha(true);
726
+ });
727
+ it("should handle book: Ezek (mg)", function() {
728
+ expect(p.parse("Ezekiela 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezekiela 1:1'");
729
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'");
730
+ expect(p.parse("Eze 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Eze 1:1'");
731
+ p.include_apocrypha(false);
732
+ expect(p.parse("EZEKIELA 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEKIELA 1:1'");
733
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'");
734
+ expect(p.parse("EZE 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZE 1:1'");
735
+ });
736
+ });
737
+
738
+ describe("Localized book Dan (mg)", function() {
739
+ var p;
740
+ p = {};
741
+ beforeEach(function() {
742
+ p = new bcv_parser();
743
+ p.set_options({
744
+ book_alone_strategy: "ignore",
745
+ book_sequence_strategy: "ignore",
746
+ osis_compaction_strategy: "bc",
747
+ captive_end_digits_strategy: "delete"
748
+ });
749
+ p.include_apocrypha(true);
750
+ });
751
+ it("should handle book: Dan (mg)", function() {
752
+ expect(p.parse("Daniela 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Daniela 1:1'");
753
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'");
754
+ p.include_apocrypha(false);
755
+ expect(p.parse("DANIELA 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DANIELA 1:1'");
756
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'");
757
+ });
758
+ });
759
+
760
+ describe("Localized book Hos (mg)", function() {
761
+ var p;
762
+ p = {};
763
+ beforeEach(function() {
764
+ p = new bcv_parser();
765
+ p.set_options({
766
+ book_alone_strategy: "ignore",
767
+ book_sequence_strategy: "ignore",
768
+ osis_compaction_strategy: "bc",
769
+ captive_end_digits_strategy: "delete"
770
+ });
771
+ p.include_apocrypha(true);
772
+ });
773
+ it("should handle book: Hos (mg)", function() {
774
+ expect(p.parse("Hosea 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hosea 1:1'");
775
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'");
776
+ p.include_apocrypha(false);
777
+ expect(p.parse("HOSEA 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOSEA 1:1'");
778
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'");
779
+ });
780
+ });
781
+
782
+ describe("Localized book Joel (mg)", function() {
783
+ var p;
784
+ p = {};
785
+ beforeEach(function() {
786
+ p = new bcv_parser();
787
+ p.set_options({
788
+ book_alone_strategy: "ignore",
789
+ book_sequence_strategy: "ignore",
790
+ osis_compaction_strategy: "bc",
791
+ captive_end_digits_strategy: "delete"
792
+ });
793
+ p.include_apocrypha(true);
794
+ });
795
+ it("should handle book: Joel (mg)", function() {
796
+ expect(p.parse("Joela 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joela 1:1'");
797
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'");
798
+ expect(p.parse("Joe 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joe 1:1'");
799
+ p.include_apocrypha(false);
800
+ expect(p.parse("JOELA 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOELA 1:1'");
801
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'");
802
+ expect(p.parse("JOE 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOE 1:1'");
803
+ });
804
+ });
805
+
806
+ describe("Localized book Amos (mg)", function() {
807
+ var p;
808
+ p = {};
809
+ beforeEach(function() {
810
+ p = new bcv_parser();
811
+ p.set_options({
812
+ book_alone_strategy: "ignore",
813
+ book_sequence_strategy: "ignore",
814
+ osis_compaction_strategy: "bc",
815
+ captive_end_digits_strategy: "delete"
816
+ });
817
+ p.include_apocrypha(true);
818
+ });
819
+ it("should handle book: Amos (mg)", function() {
820
+ expect(p.parse("Amosa 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amosa 1:1'");
821
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'");
822
+ expect(p.parse("Amo 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amo 1:1'");
823
+ p.include_apocrypha(false);
824
+ expect(p.parse("AMOSA 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOSA 1:1'");
825
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'");
826
+ expect(p.parse("AMO 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMO 1:1'");
827
+ });
828
+ });
829
+
830
+ describe("Localized book Obad (mg)", function() {
831
+ var p;
832
+ p = {};
833
+ beforeEach(function() {
834
+ p = new bcv_parser();
835
+ p.set_options({
836
+ book_alone_strategy: "ignore",
837
+ book_sequence_strategy: "ignore",
838
+ osis_compaction_strategy: "bc",
839
+ captive_end_digits_strategy: "delete"
840
+ });
841
+ p.include_apocrypha(true);
842
+ });
843
+ it("should handle book: Obad (mg)", function() {
844
+ expect(p.parse("Obadia 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obadia 1:1'");
845
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'");
846
+ expect(p.parse("Oba 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Oba 1:1'");
847
+ p.include_apocrypha(false);
848
+ expect(p.parse("OBADIA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBADIA 1:1'");
849
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'");
850
+ expect(p.parse("OBA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBA 1:1'");
851
+ });
852
+ });
853
+
854
+ describe("Localized book Jonah (mg)", function() {
855
+ var p;
856
+ p = {};
857
+ beforeEach(function() {
858
+ p = new bcv_parser();
859
+ p.set_options({
860
+ book_alone_strategy: "ignore",
861
+ book_sequence_strategy: "ignore",
862
+ osis_compaction_strategy: "bc",
863
+ captive_end_digits_strategy: "delete"
864
+ });
865
+ p.include_apocrypha(true);
866
+ });
867
+ it("should handle book: Jonah (mg)", function() {
868
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'");
869
+ expect(p.parse("Jona 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jona 1:1'");
870
+ expect(p.parse("Jon 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jon 1:1'");
871
+ p.include_apocrypha(false);
872
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'");
873
+ expect(p.parse("JONA 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONA 1:1'");
874
+ expect(p.parse("JON 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JON 1:1'");
875
+ });
876
+ });
877
+
878
+ describe("Localized book Mic (mg)", function() {
879
+ var p;
880
+ p = {};
881
+ beforeEach(function() {
882
+ p = new bcv_parser();
883
+ p.set_options({
884
+ book_alone_strategy: "ignore",
885
+ book_sequence_strategy: "ignore",
886
+ osis_compaction_strategy: "bc",
887
+ captive_end_digits_strategy: "delete"
888
+ });
889
+ p.include_apocrypha(true);
890
+ });
891
+ it("should handle book: Mic (mg)", function() {
892
+ expect(p.parse("Mika 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mika 1:1'");
893
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'");
894
+ expect(p.parse("Mik 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mik 1:1'");
895
+ p.include_apocrypha(false);
896
+ expect(p.parse("MIKA 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKA 1:1'");
897
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'");
898
+ expect(p.parse("MIK 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIK 1:1'");
899
+ });
900
+ });
901
+
902
+ describe("Localized book Nah (mg)", function() {
903
+ var p;
904
+ p = {};
905
+ beforeEach(function() {
906
+ p = new bcv_parser();
907
+ p.set_options({
908
+ book_alone_strategy: "ignore",
909
+ book_sequence_strategy: "ignore",
910
+ osis_compaction_strategy: "bc",
911
+ captive_end_digits_strategy: "delete"
912
+ });
913
+ p.include_apocrypha(true);
914
+ });
915
+ it("should handle book: Nah (mg)", function() {
916
+ expect(p.parse("Naoma 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Naoma 1:1'");
917
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'");
918
+ p.include_apocrypha(false);
919
+ expect(p.parse("NAOMA 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAOMA 1:1'");
920
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'");
921
+ });
922
+ });
923
+
924
+ describe("Localized book Hab (mg)", function() {
925
+ var p;
926
+ p = {};
927
+ beforeEach(function() {
928
+ p = new bcv_parser();
929
+ p.set_options({
930
+ book_alone_strategy: "ignore",
931
+ book_sequence_strategy: "ignore",
932
+ osis_compaction_strategy: "bc",
933
+ captive_end_digits_strategy: "delete"
934
+ });
935
+ p.include_apocrypha(true);
936
+ });
937
+ it("should handle book: Hab (mg)", function() {
938
+ expect(p.parse("Habakoka 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habakoka 1:1'");
939
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'");
940
+ p.include_apocrypha(false);
941
+ expect(p.parse("HABAKOKA 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABAKOKA 1:1'");
942
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'");
943
+ });
944
+ });
945
+
946
+ describe("Localized book Zeph (mg)", function() {
947
+ var p;
948
+ p = {};
949
+ beforeEach(function() {
950
+ p = new bcv_parser();
951
+ p.set_options({
952
+ book_alone_strategy: "ignore",
953
+ book_sequence_strategy: "ignore",
954
+ osis_compaction_strategy: "bc",
955
+ captive_end_digits_strategy: "delete"
956
+ });
957
+ p.include_apocrypha(true);
958
+ });
959
+ it("should handle book: Zeph (mg)", function() {
960
+ expect(p.parse("Zefania 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zefania 1:1'");
961
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'");
962
+ expect(p.parse("Zef 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zef 1:1'");
963
+ p.include_apocrypha(false);
964
+ expect(p.parse("ZEFANIA 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEFANIA 1:1'");
965
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'");
966
+ expect(p.parse("ZEF 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEF 1:1'");
967
+ });
968
+ });
969
+
970
+ describe("Localized book Hag (mg)", function() {
971
+ var p;
972
+ p = {};
973
+ beforeEach(function() {
974
+ p = new bcv_parser();
975
+ p.set_options({
976
+ book_alone_strategy: "ignore",
977
+ book_sequence_strategy: "ignore",
978
+ osis_compaction_strategy: "bc",
979
+ captive_end_digits_strategy: "delete"
980
+ });
981
+ p.include_apocrypha(true);
982
+ });
983
+ it("should handle book: Hag (mg)", function() {
984
+ expect(p.parse("Hagay 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hagay 1:1'");
985
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'");
986
+ p.include_apocrypha(false);
987
+ expect(p.parse("HAGAY 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGAY 1:1'");
988
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'");
989
+ });
990
+ });
991
+
992
+ describe("Localized book Zech (mg)", function() {
993
+ var p;
994
+ p = {};
995
+ beforeEach(function() {
996
+ p = new bcv_parser();
997
+ p.set_options({
998
+ book_alone_strategy: "ignore",
999
+ book_sequence_strategy: "ignore",
1000
+ osis_compaction_strategy: "bc",
1001
+ captive_end_digits_strategy: "delete"
1002
+ });
1003
+ p.include_apocrypha(true);
1004
+ });
1005
+ it("should handle book: Zech (mg)", function() {
1006
+ expect(p.parse("Zakaria 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zakaria 1:1'");
1007
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'");
1008
+ expect(p.parse("Zak 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zak 1:1'");
1009
+ p.include_apocrypha(false);
1010
+ expect(p.parse("ZAKARIA 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAKARIA 1:1'");
1011
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'");
1012
+ expect(p.parse("ZAK 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAK 1:1'");
1013
+ });
1014
+ });
1015
+
1016
+ describe("Localized book Mal (mg)", function() {
1017
+ var p;
1018
+ p = {};
1019
+ beforeEach(function() {
1020
+ p = new bcv_parser();
1021
+ p.set_options({
1022
+ book_alone_strategy: "ignore",
1023
+ book_sequence_strategy: "ignore",
1024
+ osis_compaction_strategy: "bc",
1025
+ captive_end_digits_strategy: "delete"
1026
+ });
1027
+ p.include_apocrypha(true);
1028
+ });
1029
+ it("should handle book: Mal (mg)", function() {
1030
+ expect(p.parse("Malakia 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malakia 1:1'");
1031
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'");
1032
+ p.include_apocrypha(false);
1033
+ expect(p.parse("MALAKIA 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALAKIA 1:1'");
1034
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'");
1035
+ });
1036
+ });
1037
+
1038
+ describe("Localized book Matt (mg)", function() {
1039
+ var p;
1040
+ p = {};
1041
+ beforeEach(function() {
1042
+ p = new bcv_parser();
1043
+ p.set_options({
1044
+ book_alone_strategy: "ignore",
1045
+ book_sequence_strategy: "ignore",
1046
+ osis_compaction_strategy: "bc",
1047
+ captive_end_digits_strategy: "delete"
1048
+ });
1049
+ p.include_apocrypha(true);
1050
+ });
1051
+ it("should handle book: Matt (mg)", function() {
1052
+ expect(p.parse("Matio 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matio 1:1'");
1053
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'");
1054
+ expect(p.parse("Mat 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Mat 1:1'");
1055
+ p.include_apocrypha(false);
1056
+ expect(p.parse("MATIO 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATIO 1:1'");
1057
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'");
1058
+ expect(p.parse("MAT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MAT 1:1'");
1059
+ });
1060
+ });
1061
+
1062
+ describe("Localized book Mark (mg)", function() {
1063
+ var p;
1064
+ p = {};
1065
+ beforeEach(function() {
1066
+ p = new bcv_parser();
1067
+ p.set_options({
1068
+ book_alone_strategy: "ignore",
1069
+ book_sequence_strategy: "ignore",
1070
+ osis_compaction_strategy: "bc",
1071
+ captive_end_digits_strategy: "delete"
1072
+ });
1073
+ p.include_apocrypha(true);
1074
+ });
1075
+ it("should handle book: Mark (mg)", function() {
1076
+ expect(p.parse("Marka 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Marka 1:1'");
1077
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'");
1078
+ expect(p.parse("Mar 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mar 1:1'");
1079
+ p.include_apocrypha(false);
1080
+ expect(p.parse("MARKA 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARKA 1:1'");
1081
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'");
1082
+ expect(p.parse("MAR 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MAR 1:1'");
1083
+ });
1084
+ });
1085
+
1086
+ describe("Localized book Luke (mg)", function() {
1087
+ var p;
1088
+ p = {};
1089
+ beforeEach(function() {
1090
+ p = new bcv_parser();
1091
+ p.set_options({
1092
+ book_alone_strategy: "ignore",
1093
+ book_sequence_strategy: "ignore",
1094
+ osis_compaction_strategy: "bc",
1095
+ captive_end_digits_strategy: "delete"
1096
+ });
1097
+ p.include_apocrypha(true);
1098
+ });
1099
+ it("should handle book: Luke (mg)", function() {
1100
+ expect(p.parse("Lioka 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lioka 1:1'");
1101
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'");
1102
+ expect(p.parse("Lio 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lio 1:1'");
1103
+ p.include_apocrypha(false);
1104
+ expect(p.parse("LIOKA 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LIOKA 1:1'");
1105
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'");
1106
+ expect(p.parse("LIO 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LIO 1:1'");
1107
+ });
1108
+ });
1109
+
1110
+ describe("Localized book 1John (mg)", function() {
1111
+ var p;
1112
+ p = {};
1113
+ beforeEach(function() {
1114
+ p = new bcv_parser();
1115
+ p.set_options({
1116
+ book_alone_strategy: "ignore",
1117
+ book_sequence_strategy: "ignore",
1118
+ osis_compaction_strategy: "bc",
1119
+ captive_end_digits_strategy: "delete"
1120
+ });
1121
+ p.include_apocrypha(true);
1122
+ });
1123
+ it("should handle book: 1John (mg)", function() {
1124
+ expect(p.parse("voalohany Jaona 1:1").osis()).toEqual("1John.1.1", "parsing: 'voalohany Jaona 1:1'");
1125
+ expect(p.parse("voalohany Ja 1:1").osis()).toEqual("1John.1.1", "parsing: 'voalohany Ja 1:1'");
1126
+ expect(p.parse("1. Jaona 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Jaona 1:1'");
1127
+ expect(p.parse("1 Jaona 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Jaona 1:1'");
1128
+ expect(p.parse("1. Ja 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Ja 1:1'");
1129
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'");
1130
+ expect(p.parse("1 Ja 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Ja 1:1'");
1131
+ p.include_apocrypha(false);
1132
+ expect(p.parse("VOALOHANY JAONA 1:1").osis()).toEqual("1John.1.1", "parsing: 'VOALOHANY JAONA 1:1'");
1133
+ expect(p.parse("VOALOHANY JA 1:1").osis()).toEqual("1John.1.1", "parsing: 'VOALOHANY JA 1:1'");
1134
+ expect(p.parse("1. JAONA 1:1").osis()).toEqual("1John.1.1", "parsing: '1. JAONA 1:1'");
1135
+ expect(p.parse("1 JAONA 1:1").osis()).toEqual("1John.1.1", "parsing: '1 JAONA 1:1'");
1136
+ expect(p.parse("1. JA 1:1").osis()).toEqual("1John.1.1", "parsing: '1. JA 1:1'");
1137
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'");
1138
+ expect(p.parse("1 JA 1:1").osis()).toEqual("1John.1.1", "parsing: '1 JA 1:1'");
1139
+ });
1140
+ });
1141
+
1142
+ describe("Localized book 2John (mg)", function() {
1143
+ var p;
1144
+ p = {};
1145
+ beforeEach(function() {
1146
+ p = new bcv_parser();
1147
+ p.set_options({
1148
+ book_alone_strategy: "ignore",
1149
+ book_sequence_strategy: "ignore",
1150
+ osis_compaction_strategy: "bc",
1151
+ captive_end_digits_strategy: "delete"
1152
+ });
1153
+ p.include_apocrypha(true);
1154
+ });
1155
+ it("should handle book: 2John (mg)", function() {
1156
+ expect(p.parse("2. Jaona 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Jaona 1:1'");
1157
+ expect(p.parse("2 Jaona 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Jaona 1:1'");
1158
+ expect(p.parse("2. Ja 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Ja 1:1'");
1159
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'");
1160
+ expect(p.parse("2 Ja 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Ja 1:1'");
1161
+ p.include_apocrypha(false);
1162
+ expect(p.parse("2. JAONA 1:1").osis()).toEqual("2John.1.1", "parsing: '2. JAONA 1:1'");
1163
+ expect(p.parse("2 JAONA 1:1").osis()).toEqual("2John.1.1", "parsing: '2 JAONA 1:1'");
1164
+ expect(p.parse("2. JA 1:1").osis()).toEqual("2John.1.1", "parsing: '2. JA 1:1'");
1165
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'");
1166
+ expect(p.parse("2 JA 1:1").osis()).toEqual("2John.1.1", "parsing: '2 JA 1:1'");
1167
+ });
1168
+ });
1169
+
1170
+ describe("Localized book 3John (mg)", function() {
1171
+ var p;
1172
+ p = {};
1173
+ beforeEach(function() {
1174
+ p = new bcv_parser();
1175
+ p.set_options({
1176
+ book_alone_strategy: "ignore",
1177
+ book_sequence_strategy: "ignore",
1178
+ osis_compaction_strategy: "bc",
1179
+ captive_end_digits_strategy: "delete"
1180
+ });
1181
+ p.include_apocrypha(true);
1182
+ });
1183
+ it("should handle book: 3John (mg)", function() {
1184
+ expect(p.parse("3. Jaona 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Jaona 1:1'");
1185
+ expect(p.parse("3 Jaona 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Jaona 1:1'");
1186
+ expect(p.parse("3. Ja 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Ja 1:1'");
1187
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'");
1188
+ expect(p.parse("3 Ja 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Ja 1:1'");
1189
+ p.include_apocrypha(false);
1190
+ expect(p.parse("3. JAONA 1:1").osis()).toEqual("3John.1.1", "parsing: '3. JAONA 1:1'");
1191
+ expect(p.parse("3 JAONA 1:1").osis()).toEqual("3John.1.1", "parsing: '3 JAONA 1:1'");
1192
+ expect(p.parse("3. JA 1:1").osis()).toEqual("3John.1.1", "parsing: '3. JA 1:1'");
1193
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'");
1194
+ expect(p.parse("3 JA 1:1").osis()).toEqual("3John.1.1", "parsing: '3 JA 1:1'");
1195
+ });
1196
+ });
1197
+
1198
+ describe("Localized book John (mg)", function() {
1199
+ var p;
1200
+ p = {};
1201
+ beforeEach(function() {
1202
+ p = new bcv_parser();
1203
+ p.set_options({
1204
+ book_alone_strategy: "ignore",
1205
+ book_sequence_strategy: "ignore",
1206
+ osis_compaction_strategy: "bc",
1207
+ captive_end_digits_strategy: "delete"
1208
+ });
1209
+ p.include_apocrypha(true);
1210
+ });
1211
+ it("should handle book: John (mg)", function() {
1212
+ expect(p.parse("Jaona 1:1").osis()).toEqual("John.1.1", "parsing: 'Jaona 1:1'");
1213
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'");
1214
+ expect(p.parse("Jao 1:1").osis()).toEqual("John.1.1", "parsing: 'Jao 1:1'");
1215
+ p.include_apocrypha(false);
1216
+ expect(p.parse("JAONA 1:1").osis()).toEqual("John.1.1", "parsing: 'JAONA 1:1'");
1217
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'");
1218
+ expect(p.parse("JAO 1:1").osis()).toEqual("John.1.1", "parsing: 'JAO 1:1'");
1219
+ });
1220
+ });
1221
+
1222
+ describe("Localized book Acts (mg)", function() {
1223
+ var p;
1224
+ p = {};
1225
+ beforeEach(function() {
1226
+ p = new bcv_parser();
1227
+ p.set_options({
1228
+ book_alone_strategy: "ignore",
1229
+ book_sequence_strategy: "ignore",
1230
+ osis_compaction_strategy: "bc",
1231
+ captive_end_digits_strategy: "delete"
1232
+ });
1233
+ p.include_apocrypha(true);
1234
+ });
1235
+ it("should handle book: Acts (mg)", function() {
1236
+ expect(p.parse("Asan'ny Aposto 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Asan'ny Aposto 1:1'");
1237
+ expect(p.parse("Asan’ny Aposto 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Asan’ny Aposto 1:1'");
1238
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'");
1239
+ expect(p.parse("Asa 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Asa 1:1'");
1240
+ p.include_apocrypha(false);
1241
+ expect(p.parse("ASAN'NY APOSTO 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ASAN'NY APOSTO 1:1'");
1242
+ expect(p.parse("ASAN’NY APOSTO 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ASAN’NY APOSTO 1:1'");
1243
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'");
1244
+ expect(p.parse("ASA 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ASA 1:1'");
1245
+ });
1246
+ });
1247
+
1248
+ describe("Localized book Rom (mg)", function() {
1249
+ var p;
1250
+ p = {};
1251
+ beforeEach(function() {
1252
+ p = new bcv_parser();
1253
+ p.set_options({
1254
+ book_alone_strategy: "ignore",
1255
+ book_sequence_strategy: "ignore",
1256
+ osis_compaction_strategy: "bc",
1257
+ captive_end_digits_strategy: "delete"
1258
+ });
1259
+ p.include_apocrypha(true);
1260
+ });
1261
+ it("should handle book: Rom (mg)", function() {
1262
+ expect(p.parse("Romana 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Romana 1:1'");
1263
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'");
1264
+ p.include_apocrypha(false);
1265
+ expect(p.parse("ROMANA 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROMANA 1:1'");
1266
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'");
1267
+ });
1268
+ });
1269
+
1270
+ describe("Localized book 2Cor (mg)", function() {
1271
+ var p;
1272
+ p = {};
1273
+ beforeEach(function() {
1274
+ p = new bcv_parser();
1275
+ p.set_options({
1276
+ book_alone_strategy: "ignore",
1277
+ book_sequence_strategy: "ignore",
1278
+ osis_compaction_strategy: "bc",
1279
+ captive_end_digits_strategy: "delete"
1280
+ });
1281
+ p.include_apocrypha(true);
1282
+ });
1283
+ it("should handle book: 2Cor (mg)", function() {
1284
+ expect(p.parse("2. Korintiana 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Korintiana 1:1'");
1285
+ expect(p.parse("2 Korintiana 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Korintiana 1:1'");
1286
+ expect(p.parse("2. Ko 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Ko 1:1'");
1287
+ expect(p.parse("2 Ko 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Ko 1:1'");
1288
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'");
1289
+ p.include_apocrypha(false);
1290
+ expect(p.parse("2. KORINTIANA 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KORINTIANA 1:1'");
1291
+ expect(p.parse("2 KORINTIANA 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KORINTIANA 1:1'");
1292
+ expect(p.parse("2. KO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KO 1:1'");
1293
+ expect(p.parse("2 KO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KO 1:1'");
1294
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'");
1295
+ });
1296
+ });
1297
+
1298
+ describe("Localized book 1Cor (mg)", function() {
1299
+ var p;
1300
+ p = {};
1301
+ beforeEach(function() {
1302
+ p = new bcv_parser();
1303
+ p.set_options({
1304
+ book_alone_strategy: "ignore",
1305
+ book_sequence_strategy: "ignore",
1306
+ osis_compaction_strategy: "bc",
1307
+ captive_end_digits_strategy: "delete"
1308
+ });
1309
+ p.include_apocrypha(true);
1310
+ });
1311
+ it("should handle book: 1Cor (mg)", function() {
1312
+ expect(p.parse("voalohany Korintiana 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'voalohany Korintiana 1:1'");
1313
+ expect(p.parse("1. Korintiana 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Korintiana 1:1'");
1314
+ expect(p.parse("1 Korintiana 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Korintiana 1:1'");
1315
+ expect(p.parse("voalohany Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'voalohany Ko 1:1'");
1316
+ expect(p.parse("1. Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Ko 1:1'");
1317
+ expect(p.parse("1 Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Ko 1:1'");
1318
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'");
1319
+ p.include_apocrypha(false);
1320
+ expect(p.parse("VOALOHANY KORINTIANA 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'VOALOHANY KORINTIANA 1:1'");
1321
+ expect(p.parse("1. KORINTIANA 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KORINTIANA 1:1'");
1322
+ expect(p.parse("1 KORINTIANA 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KORINTIANA 1:1'");
1323
+ expect(p.parse("VOALOHANY KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'VOALOHANY KO 1:1'");
1324
+ expect(p.parse("1. KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KO 1:1'");
1325
+ expect(p.parse("1 KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KO 1:1'");
1326
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'");
1327
+ });
1328
+ });
1329
+
1330
+ describe("Localized book Gal (mg)", function() {
1331
+ var p;
1332
+ p = {};
1333
+ beforeEach(function() {
1334
+ p = new bcv_parser();
1335
+ p.set_options({
1336
+ book_alone_strategy: "ignore",
1337
+ book_sequence_strategy: "ignore",
1338
+ osis_compaction_strategy: "bc",
1339
+ captive_end_digits_strategy: "delete"
1340
+ });
1341
+ p.include_apocrypha(true);
1342
+ });
1343
+ it("should handle book: Gal (mg)", function() {
1344
+ expect(p.parse("Galatiana 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Galatiana 1:1'");
1345
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'");
1346
+ p.include_apocrypha(false);
1347
+ expect(p.parse("GALATIANA 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GALATIANA 1:1'");
1348
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'");
1349
+ });
1350
+ });
1351
+
1352
+ describe("Localized book Eph (mg)", function() {
1353
+ var p;
1354
+ p = {};
1355
+ beforeEach(function() {
1356
+ p = new bcv_parser();
1357
+ p.set_options({
1358
+ book_alone_strategy: "ignore",
1359
+ book_sequence_strategy: "ignore",
1360
+ osis_compaction_strategy: "bc",
1361
+ captive_end_digits_strategy: "delete"
1362
+ });
1363
+ p.include_apocrypha(true);
1364
+ });
1365
+ it("should handle book: Eph (mg)", function() {
1366
+ expect(p.parse("Efesiana 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Efesiana 1:1'");
1367
+ expect(p.parse("Efe 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Efe 1:1'");
1368
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'");
1369
+ p.include_apocrypha(false);
1370
+ expect(p.parse("EFESIANA 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EFESIANA 1:1'");
1371
+ expect(p.parse("EFE 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EFE 1:1'");
1372
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'");
1373
+ });
1374
+ });
1375
+
1376
+ describe("Localized book Phil (mg)", function() {
1377
+ var p;
1378
+ p = {};
1379
+ beforeEach(function() {
1380
+ p = new bcv_parser();
1381
+ p.set_options({
1382
+ book_alone_strategy: "ignore",
1383
+ book_sequence_strategy: "ignore",
1384
+ osis_compaction_strategy: "bc",
1385
+ captive_end_digits_strategy: "delete"
1386
+ });
1387
+ p.include_apocrypha(true);
1388
+ });
1389
+ it("should handle book: Phil (mg)", function() {
1390
+ expect(p.parse("Filipiana 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Filipiana 1:1'");
1391
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'");
1392
+ expect(p.parse("Fil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Fil 1:1'");
1393
+ p.include_apocrypha(false);
1394
+ expect(p.parse("FILIPIANA 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FILIPIANA 1:1'");
1395
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'");
1396
+ expect(p.parse("FIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FIL 1:1'");
1397
+ });
1398
+ });
1399
+
1400
+ describe("Localized book Col (mg)", function() {
1401
+ var p;
1402
+ p = {};
1403
+ beforeEach(function() {
1404
+ p = new bcv_parser();
1405
+ p.set_options({
1406
+ book_alone_strategy: "ignore",
1407
+ book_sequence_strategy: "ignore",
1408
+ osis_compaction_strategy: "bc",
1409
+ captive_end_digits_strategy: "delete"
1410
+ });
1411
+ p.include_apocrypha(true);
1412
+ });
1413
+ it("should handle book: Col (mg)", function() {
1414
+ expect(p.parse("Kolosiana 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kolosiana 1:1'");
1415
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'");
1416
+ expect(p.parse("Kol 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kol 1:1'");
1417
+ p.include_apocrypha(false);
1418
+ expect(p.parse("KOLOSIANA 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOLOSIANA 1:1'");
1419
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'");
1420
+ expect(p.parse("KOL 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOL 1:1'");
1421
+ });
1422
+ });
1423
+
1424
+ describe("Localized book 2Thess (mg)", function() {
1425
+ var p;
1426
+ p = {};
1427
+ beforeEach(function() {
1428
+ p = new bcv_parser();
1429
+ p.set_options({
1430
+ book_alone_strategy: "ignore",
1431
+ book_sequence_strategy: "ignore",
1432
+ osis_compaction_strategy: "bc",
1433
+ captive_end_digits_strategy: "delete"
1434
+ });
1435
+ p.include_apocrypha(true);
1436
+ });
1437
+ it("should handle book: 2Thess (mg)", function() {
1438
+ expect(p.parse("2. Tesalonian 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Tesalonian 1:1'");
1439
+ expect(p.parse("2 Tesalonian 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Tesalonian 1:1'");
1440
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'");
1441
+ expect(p.parse("2. Te 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Te 1:1'");
1442
+ expect(p.parse("2 Te 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Te 1:1'");
1443
+ p.include_apocrypha(false);
1444
+ expect(p.parse("2. TESALONIAN 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TESALONIAN 1:1'");
1445
+ expect(p.parse("2 TESALONIAN 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TESALONIAN 1:1'");
1446
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'");
1447
+ expect(p.parse("2. TE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TE 1:1'");
1448
+ expect(p.parse("2 TE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TE 1:1'");
1449
+ });
1450
+ });
1451
+
1452
+ describe("Localized book 1Thess (mg)", 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
+ p.include_apocrypha(true);
1464
+ });
1465
+ it("should handle book: 1Thess (mg)", function() {
1466
+ expect(p.parse("voalohany Tesalonian 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'voalohany Tesalonian 1:1'");
1467
+ expect(p.parse("1. Tesalonian 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Tesalonian 1:1'");
1468
+ expect(p.parse("1 Tesalonian 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Tesalonian 1:1'");
1469
+ expect(p.parse("voalohany Te 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'voalohany Te 1:1'");
1470
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'");
1471
+ expect(p.parse("1. Te 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Te 1:1'");
1472
+ expect(p.parse("1 Te 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Te 1:1'");
1473
+ p.include_apocrypha(false);
1474
+ expect(p.parse("VOALOHANY TESALONIAN 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'VOALOHANY TESALONIAN 1:1'");
1475
+ expect(p.parse("1. TESALONIAN 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TESALONIAN 1:1'");
1476
+ expect(p.parse("1 TESALONIAN 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TESALONIAN 1:1'");
1477
+ expect(p.parse("VOALOHANY TE 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'VOALOHANY TE 1:1'");
1478
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'");
1479
+ expect(p.parse("1. TE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TE 1:1'");
1480
+ expect(p.parse("1 TE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TE 1:1'");
1481
+ });
1482
+ });
1483
+
1484
+ describe("Localized book 2Tim (mg)", function() {
1485
+ var p;
1486
+ p = {};
1487
+ beforeEach(function() {
1488
+ p = new bcv_parser();
1489
+ p.set_options({
1490
+ book_alone_strategy: "ignore",
1491
+ book_sequence_strategy: "ignore",
1492
+ osis_compaction_strategy: "bc",
1493
+ captive_end_digits_strategy: "delete"
1494
+ });
1495
+ p.include_apocrypha(true);
1496
+ });
1497
+ it("should handle book: 2Tim (mg)", function() {
1498
+ expect(p.parse("2. Timoty 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Timoty 1:1'");
1499
+ expect(p.parse("2 Timoty 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Timoty 1:1'");
1500
+ expect(p.parse("2. Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Ti 1:1'");
1501
+ expect(p.parse("2 Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Ti 1:1'");
1502
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'");
1503
+ p.include_apocrypha(false);
1504
+ expect(p.parse("2. TIMOTY 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIMOTY 1:1'");
1505
+ expect(p.parse("2 TIMOTY 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIMOTY 1:1'");
1506
+ expect(p.parse("2. TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TI 1:1'");
1507
+ expect(p.parse("2 TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TI 1:1'");
1508
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'");
1509
+ });
1510
+ });
1511
+
1512
+ describe("Localized book 1Tim (mg)", function() {
1513
+ var p;
1514
+ p = {};
1515
+ beforeEach(function() {
1516
+ p = new bcv_parser();
1517
+ p.set_options({
1518
+ book_alone_strategy: "ignore",
1519
+ book_sequence_strategy: "ignore",
1520
+ osis_compaction_strategy: "bc",
1521
+ captive_end_digits_strategy: "delete"
1522
+ });
1523
+ p.include_apocrypha(true);
1524
+ });
1525
+ it("should handle book: 1Tim (mg)", function() {
1526
+ expect(p.parse("voalohany Timoty 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'voalohany Timoty 1:1'");
1527
+ expect(p.parse("voalohany Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'voalohany Ti 1:1'");
1528
+ expect(p.parse("1. Timoty 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Timoty 1:1'");
1529
+ expect(p.parse("1 Timoty 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Timoty 1:1'");
1530
+ expect(p.parse("1. Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Ti 1:1'");
1531
+ expect(p.parse("1 Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Ti 1:1'");
1532
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'");
1533
+ p.include_apocrypha(false);
1534
+ expect(p.parse("VOALOHANY TIMOTY 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'VOALOHANY TIMOTY 1:1'");
1535
+ expect(p.parse("VOALOHANY TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'VOALOHANY TI 1:1'");
1536
+ expect(p.parse("1. TIMOTY 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIMOTY 1:1'");
1537
+ expect(p.parse("1 TIMOTY 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIMOTY 1:1'");
1538
+ expect(p.parse("1. TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TI 1:1'");
1539
+ expect(p.parse("1 TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TI 1:1'");
1540
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'");
1541
+ });
1542
+ });
1543
+
1544
+ describe("Localized book Titus (mg)", function() {
1545
+ var p;
1546
+ p = {};
1547
+ beforeEach(function() {
1548
+ p = new bcv_parser();
1549
+ p.set_options({
1550
+ book_alone_strategy: "ignore",
1551
+ book_sequence_strategy: "ignore",
1552
+ osis_compaction_strategy: "bc",
1553
+ captive_end_digits_strategy: "delete"
1554
+ });
1555
+ p.include_apocrypha(true);
1556
+ });
1557
+ it("should handle book: Titus (mg)", function() {
1558
+ expect(p.parse("Titosy 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titosy 1:1'");
1559
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'");
1560
+ expect(p.parse("Tit 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tit 1:1'");
1561
+ p.include_apocrypha(false);
1562
+ expect(p.parse("TITOSY 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITOSY 1:1'");
1563
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'");
1564
+ expect(p.parse("TIT 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TIT 1:1'");
1565
+ });
1566
+ });
1567
+
1568
+ describe("Localized book Phlm (mg)", function() {
1569
+ var p;
1570
+ p = {};
1571
+ beforeEach(function() {
1572
+ p = new bcv_parser();
1573
+ p.set_options({
1574
+ book_alone_strategy: "ignore",
1575
+ book_sequence_strategy: "ignore",
1576
+ osis_compaction_strategy: "bc",
1577
+ captive_end_digits_strategy: "delete"
1578
+ });
1579
+ p.include_apocrypha(true);
1580
+ });
1581
+ it("should handle book: Phlm (mg)", function() {
1582
+ expect(p.parse("Filemona 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Filemona 1:1'");
1583
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'");
1584
+ expect(p.parse("Flm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Flm 1:1'");
1585
+ p.include_apocrypha(false);
1586
+ expect(p.parse("FILEMONA 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FILEMONA 1:1'");
1587
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'");
1588
+ expect(p.parse("FLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FLM 1:1'");
1589
+ });
1590
+ });
1591
+
1592
+ describe("Localized book Heb (mg)", function() {
1593
+ var p;
1594
+ p = {};
1595
+ beforeEach(function() {
1596
+ p = new bcv_parser();
1597
+ p.set_options({
1598
+ book_alone_strategy: "ignore",
1599
+ book_sequence_strategy: "ignore",
1600
+ osis_compaction_strategy: "bc",
1601
+ captive_end_digits_strategy: "delete"
1602
+ });
1603
+ p.include_apocrypha(true);
1604
+ });
1605
+ it("should handle book: Heb (mg)", function() {
1606
+ expect(p.parse("Hebreo 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebreo 1:1'");
1607
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'");
1608
+ p.include_apocrypha(false);
1609
+ expect(p.parse("HEBREO 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBREO 1:1'");
1610
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'");
1611
+ });
1612
+ });
1613
+
1614
+ describe("Localized book Jas (mg)", function() {
1615
+ var p;
1616
+ p = {};
1617
+ beforeEach(function() {
1618
+ p = new bcv_parser();
1619
+ p.set_options({
1620
+ book_alone_strategy: "ignore",
1621
+ book_sequence_strategy: "ignore",
1622
+ osis_compaction_strategy: "bc",
1623
+ captive_end_digits_strategy: "delete"
1624
+ });
1625
+ p.include_apocrypha(true);
1626
+ });
1627
+ it("should handle book: Jas (mg)", function() {
1628
+ expect(p.parse("Jakoba 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jakoba 1:1'");
1629
+ expect(p.parse("Jak 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jak 1:1'");
1630
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'");
1631
+ p.include_apocrypha(false);
1632
+ expect(p.parse("JAKOBA 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAKOBA 1:1'");
1633
+ expect(p.parse("JAK 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAK 1:1'");
1634
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'");
1635
+ });
1636
+ });
1637
+
1638
+ describe("Localized book 2Pet (mg)", function() {
1639
+ var p;
1640
+ p = {};
1641
+ beforeEach(function() {
1642
+ p = new bcv_parser();
1643
+ p.set_options({
1644
+ book_alone_strategy: "ignore",
1645
+ book_sequence_strategy: "ignore",
1646
+ osis_compaction_strategy: "bc",
1647
+ captive_end_digits_strategy: "delete"
1648
+ });
1649
+ p.include_apocrypha(true);
1650
+ });
1651
+ it("should handle book: 2Pet (mg)", function() {
1652
+ expect(p.parse("2. Petera 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Petera 1:1'");
1653
+ expect(p.parse("2 Petera 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Petera 1:1'");
1654
+ expect(p.parse("2. Pe 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Pe 1:1'");
1655
+ expect(p.parse("2 Pe 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Pe 1:1'");
1656
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'");
1657
+ p.include_apocrypha(false);
1658
+ expect(p.parse("2. PETERA 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PETERA 1:1'");
1659
+ expect(p.parse("2 PETERA 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETERA 1:1'");
1660
+ expect(p.parse("2. PE 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PE 1:1'");
1661
+ expect(p.parse("2 PE 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PE 1:1'");
1662
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'");
1663
+ });
1664
+ });
1665
+
1666
+ describe("Localized book 1Pet (mg)", function() {
1667
+ var p;
1668
+ p = {};
1669
+ beforeEach(function() {
1670
+ p = new bcv_parser();
1671
+ p.set_options({
1672
+ book_alone_strategy: "ignore",
1673
+ book_sequence_strategy: "ignore",
1674
+ osis_compaction_strategy: "bc",
1675
+ captive_end_digits_strategy: "delete"
1676
+ });
1677
+ p.include_apocrypha(true);
1678
+ });
1679
+ it("should handle book: 1Pet (mg)", function() {
1680
+ expect(p.parse("voalohany Petera 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'voalohany Petera 1:1'");
1681
+ expect(p.parse("voalohany Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'voalohany Pe 1:1'");
1682
+ expect(p.parse("1. Petera 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Petera 1:1'");
1683
+ expect(p.parse("1 Petera 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Petera 1:1'");
1684
+ expect(p.parse("1. Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Pe 1:1'");
1685
+ expect(p.parse("1 Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Pe 1:1'");
1686
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'");
1687
+ p.include_apocrypha(false);
1688
+ expect(p.parse("VOALOHANY PETERA 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'VOALOHANY PETERA 1:1'");
1689
+ expect(p.parse("VOALOHANY PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'VOALOHANY PE 1:1'");
1690
+ expect(p.parse("1. PETERA 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PETERA 1:1'");
1691
+ expect(p.parse("1 PETERA 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETERA 1:1'");
1692
+ expect(p.parse("1. PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PE 1:1'");
1693
+ expect(p.parse("1 PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PE 1:1'");
1694
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'");
1695
+ });
1696
+ });
1697
+
1698
+ describe("Localized book Jude (mg)", function() {
1699
+ var p;
1700
+ p = {};
1701
+ beforeEach(function() {
1702
+ p = new bcv_parser();
1703
+ p.set_options({
1704
+ book_alone_strategy: "ignore",
1705
+ book_sequence_strategy: "ignore",
1706
+ osis_compaction_strategy: "bc",
1707
+ captive_end_digits_strategy: "delete"
1708
+ });
1709
+ p.include_apocrypha(true);
1710
+ });
1711
+ it("should handle book: Jude (mg)", function() {
1712
+ expect(p.parse("Joda 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Joda 1:1'");
1713
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'");
1714
+ expect(p.parse("Jod 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jod 1:1'");
1715
+ p.include_apocrypha(false);
1716
+ expect(p.parse("JODA 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JODA 1:1'");
1717
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'");
1718
+ expect(p.parse("JOD 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JOD 1:1'");
1719
+ });
1720
+ });
1721
+
1722
+ describe("Miscellaneous tests", function() {
1723
+ var p;
1724
+ p = {};
1725
+ beforeEach(function() {
1726
+ p = new bcv_parser();
1727
+ p.set_options({
1728
+ book_alone_strategy: "ignore",
1729
+ book_sequence_strategy: "ignore",
1730
+ osis_compaction_strategy: "bc",
1731
+ captive_end_digits_strategy: "delete"
1732
+ });
1733
+ p.include_apocrypha(true);
1734
+ });
1735
+ it("should return the expected language", function() {
1736
+ expect(p.languages).toEqual(["mg"]);
1737
+ });
1738
+ it("should handle ranges (mg)", function() {
1739
+ expect(p.parse("Titus 1:1 ny 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 ny 2'");
1740
+ expect(p.parse("Matt 1ny2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1ny2'");
1741
+ expect(p.parse("Phlm 2 NY 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 NY 3'");
1742
+ });
1743
+ it("should handle chapters (mg)", function() {
1744
+ expect(p.parse("Titus 1:1, toko 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, toko 2'");
1745
+ expect(p.parse("Matt 3:4 TOKO 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 TOKO 6'");
1746
+ });
1747
+ it("should handle verses (mg)", function() {
1748
+ expect(p.parse("Exod 1:1 andininy 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 andininy 3'");
1749
+ expect(p.parse("Phlm ANDININY 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm ANDININY 6'");
1750
+ });
1751
+ it("should handle 'and' (mg)", function() {
1752
+ expect(p.parse("Exod 1:1 sy 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 sy 3'");
1753
+ expect(p.parse("Phlm 2 SY 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 SY 6'");
1754
+ });
1755
+ it("should handle titles (mg)", function() {
1756
+ expect(p.parse("Ps 3 lohateny, 4:2, 5:lohateny").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'Ps 3 lohateny, 4:2, 5:lohateny'");
1757
+ expect(p.parse("PS 3 LOHATENY, 4:2, 5:LOHATENY").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'PS 3 LOHATENY, 4:2, 5:LOHATENY'");
1758
+ });
1759
+ it("should handle 'ff' (mg)", function() {
1760
+ expect(p.parse("Rev 3ff, 4:2ff").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3ff, 4:2ff'");
1761
+ expect(p.parse("REV 3 FF, 4:2 FF").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 FF, 4:2 FF'");
1762
+ });
1763
+ it("should handle translations (mg)", function() {
1764
+ expect(p.parse("Lev 1 (mb1865)").osis_and_translations()).toEqual([["Lev.1", "mb1865"]]);
1765
+ expect(p.parse("lev 1 mb1865").osis_and_translations()).toEqual([["Lev.1", "mb1865"]]);
1766
+ });
1767
+ it("should handle book ranges (mg)", function() {
1768
+ p.set_options({
1769
+ book_alone_strategy: "full",
1770
+ book_range_strategy: "include"
1771
+ });
1772
+ expect(p.parse("1 ny 3 Ja").osis()).toEqual("1John.1-3John.1", "parsing: '1 ny 3 Ja'");
1773
+ });
1774
+ return it("should handle boundaries (mg)", function() {
1775
+ p.set_options({
1776
+ book_alone_strategy: "full"
1777
+ });
1778
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
1779
+ expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
1780
+ });
1781
+ });
1782
+
1783
+ }).call(this);