bible-ref-parse 3.0.7 → 3.0.9

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.
@@ -0,0 +1,2014 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/rw-bcv-parser.js").bcv_parser;
5
+
6
+ describe("Parsing (rw)", 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 (rw)", 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 (rw)", function() {
82
+ expect(p.parse("Itangiriro 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Itangiriro 1:1'");
83
+ expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'");
84
+ expect(p.parse("Ita 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Ita 1:1'");
85
+ p.include_apocrypha(false);
86
+ expect(p.parse("ITANGIRIRO 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ITANGIRIRO 1:1'");
87
+ expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'");
88
+ expect(p.parse("ITA 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ITA 1:1'");
89
+ });
90
+ });
91
+
92
+ describe("Localized book Exod (rw)", function() {
93
+ var p;
94
+ p = {};
95
+ beforeEach(function() {
96
+ p = new bcv_parser();
97
+ p.set_options({
98
+ book_alone_strategy: "ignore",
99
+ book_sequence_strategy: "ignore",
100
+ osis_compaction_strategy: "bc",
101
+ captive_end_digits_strategy: "delete"
102
+ });
103
+ p.include_apocrypha(true);
104
+ });
105
+ it("should handle book: Exod (rw)", function() {
106
+ expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'");
107
+ expect(p.parse("Kuva 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Kuva 1:1'");
108
+ expect(p.parse("Kuv 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Kuv 1:1'");
109
+ p.include_apocrypha(false);
110
+ expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'");
111
+ expect(p.parse("KUVA 1:1").osis()).toEqual("Exod.1.1", "parsing: 'KUVA 1:1'");
112
+ expect(p.parse("KUV 1:1").osis()).toEqual("Exod.1.1", "parsing: 'KUV 1:1'");
113
+ });
114
+ });
115
+
116
+ describe("Localized book Bel (rw)", function() {
117
+ var p;
118
+ p = {};
119
+ beforeEach(function() {
120
+ p = new bcv_parser();
121
+ p.set_options({
122
+ book_alone_strategy: "ignore",
123
+ book_sequence_strategy: "ignore",
124
+ osis_compaction_strategy: "bc",
125
+ captive_end_digits_strategy: "delete"
126
+ });
127
+ p.include_apocrypha(true);
128
+ });
129
+ it("should handle book: Bel (rw)", function() {
130
+ expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'");
131
+ });
132
+ });
133
+
134
+ describe("Localized book Phlm (rw)", function() {
135
+ var p;
136
+ p = {};
137
+ beforeEach(function() {
138
+ p = new bcv_parser();
139
+ p.set_options({
140
+ book_alone_strategy: "ignore",
141
+ book_sequence_strategy: "ignore",
142
+ osis_compaction_strategy: "bc",
143
+ captive_end_digits_strategy: "delete"
144
+ });
145
+ p.include_apocrypha(true);
146
+ });
147
+ it("should handle book: Phlm (rw)", function() {
148
+ expect(p.parse("Filemoni 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Filemoni 1:1'");
149
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'");
150
+ expect(p.parse("Fil 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Fil 1:1'");
151
+ p.include_apocrypha(false);
152
+ expect(p.parse("FILEMONI 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FILEMONI 1:1'");
153
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'");
154
+ expect(p.parse("FIL 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FIL 1:1'");
155
+ });
156
+ });
157
+
158
+ describe("Localized book Lev (rw)", function() {
159
+ var p;
160
+ p = {};
161
+ beforeEach(function() {
162
+ p = new bcv_parser();
163
+ p.set_options({
164
+ book_alone_strategy: "ignore",
165
+ book_sequence_strategy: "ignore",
166
+ osis_compaction_strategy: "bc",
167
+ captive_end_digits_strategy: "delete"
168
+ });
169
+ p.include_apocrypha(true);
170
+ });
171
+ it("should handle book: Lev (rw)", function() {
172
+ expect(p.parse("Abalewi 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Abalewi 1:1'");
173
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'");
174
+ expect(p.parse("Lew 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lew 1:1'");
175
+ p.include_apocrypha(false);
176
+ expect(p.parse("ABALEWI 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ABALEWI 1:1'");
177
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'");
178
+ expect(p.parse("LEW 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEW 1:1'");
179
+ });
180
+ });
181
+
182
+ describe("Localized book Num (rw)", function() {
183
+ var p;
184
+ p = {};
185
+ beforeEach(function() {
186
+ p = new bcv_parser();
187
+ p.set_options({
188
+ book_alone_strategy: "ignore",
189
+ book_sequence_strategy: "ignore",
190
+ osis_compaction_strategy: "bc",
191
+ captive_end_digits_strategy: "delete"
192
+ });
193
+ p.include_apocrypha(true);
194
+ });
195
+ it("should handle book: Num (rw)", function() {
196
+ expect(p.parse("Kubara 1:1").osis()).toEqual("Num.1.1", "parsing: 'Kubara 1:1'");
197
+ expect(p.parse("Kub 1:1").osis()).toEqual("Num.1.1", "parsing: 'Kub 1:1'");
198
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'");
199
+ p.include_apocrypha(false);
200
+ expect(p.parse("KUBARA 1:1").osis()).toEqual("Num.1.1", "parsing: 'KUBARA 1:1'");
201
+ expect(p.parse("KUB 1:1").osis()).toEqual("Num.1.1", "parsing: 'KUB 1:1'");
202
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'");
203
+ });
204
+ });
205
+
206
+ describe("Localized book Sir (rw)", function() {
207
+ var p;
208
+ p = {};
209
+ beforeEach(function() {
210
+ p = new bcv_parser();
211
+ p.set_options({
212
+ book_alone_strategy: "ignore",
213
+ book_sequence_strategy: "ignore",
214
+ osis_compaction_strategy: "bc",
215
+ captive_end_digits_strategy: "delete"
216
+ });
217
+ p.include_apocrypha(true);
218
+ });
219
+ it("should handle book: Sir (rw)", function() {
220
+ expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'");
221
+ });
222
+ });
223
+
224
+ describe("Localized book Wis (rw)", function() {
225
+ var p;
226
+ p = {};
227
+ beforeEach(function() {
228
+ p = new bcv_parser();
229
+ p.set_options({
230
+ book_alone_strategy: "ignore",
231
+ book_sequence_strategy: "ignore",
232
+ osis_compaction_strategy: "bc",
233
+ captive_end_digits_strategy: "delete"
234
+ });
235
+ p.include_apocrypha(true);
236
+ });
237
+ it("should handle book: Wis (rw)", function() {
238
+ expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'");
239
+ });
240
+ });
241
+
242
+ describe("Localized book Lam (rw)", function() {
243
+ var p;
244
+ p = {};
245
+ beforeEach(function() {
246
+ p = new bcv_parser();
247
+ p.set_options({
248
+ book_alone_strategy: "ignore",
249
+ book_sequence_strategy: "ignore",
250
+ osis_compaction_strategy: "bc",
251
+ captive_end_digits_strategy: "delete"
252
+ });
253
+ p.include_apocrypha(true);
254
+ });
255
+ it("should handle book: Lam (rw)", function() {
256
+ expect(p.parse("Amaganya 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Amaganya 1:1'");
257
+ expect(p.parse("Ama 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Ama 1:1'");
258
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'");
259
+ p.include_apocrypha(false);
260
+ expect(p.parse("AMAGANYA 1:1").osis()).toEqual("Lam.1.1", "parsing: 'AMAGANYA 1:1'");
261
+ expect(p.parse("AMA 1:1").osis()).toEqual("Lam.1.1", "parsing: 'AMA 1:1'");
262
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'");
263
+ });
264
+ });
265
+
266
+ describe("Localized book EpJer (rw)", function() {
267
+ var p;
268
+ p = {};
269
+ beforeEach(function() {
270
+ p = new bcv_parser();
271
+ p.set_options({
272
+ book_alone_strategy: "ignore",
273
+ book_sequence_strategy: "ignore",
274
+ osis_compaction_strategy: "bc",
275
+ captive_end_digits_strategy: "delete"
276
+ });
277
+ p.include_apocrypha(true);
278
+ });
279
+ it("should handle book: EpJer (rw)", function() {
280
+ expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'");
281
+ });
282
+ });
283
+
284
+ describe("Localized book Rev (rw)", function() {
285
+ var p;
286
+ p = {};
287
+ beforeEach(function() {
288
+ p = new bcv_parser();
289
+ p.set_options({
290
+ book_alone_strategy: "ignore",
291
+ book_sequence_strategy: "ignore",
292
+ osis_compaction_strategy: "bc",
293
+ captive_end_digits_strategy: "delete"
294
+ });
295
+ p.include_apocrypha(true);
296
+ });
297
+ it("should handle book: Rev (rw)", function() {
298
+ expect(p.parse("Ibyahishuwe 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ibyahishuwe 1:1'");
299
+ expect(p.parse("Iby 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Iby 1:1'");
300
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'");
301
+ p.include_apocrypha(false);
302
+ expect(p.parse("IBYAHISHUWE 1:1").osis()).toEqual("Rev.1.1", "parsing: 'IBYAHISHUWE 1:1'");
303
+ expect(p.parse("IBY 1:1").osis()).toEqual("Rev.1.1", "parsing: 'IBY 1:1'");
304
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'");
305
+ });
306
+ });
307
+
308
+ describe("Localized book PrMan (rw)", function() {
309
+ var p;
310
+ p = {};
311
+ beforeEach(function() {
312
+ p = new bcv_parser();
313
+ p.set_options({
314
+ book_alone_strategy: "ignore",
315
+ book_sequence_strategy: "ignore",
316
+ osis_compaction_strategy: "bc",
317
+ captive_end_digits_strategy: "delete"
318
+ });
319
+ p.include_apocrypha(true);
320
+ });
321
+ it("should handle book: PrMan (rw)", function() {
322
+ expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'");
323
+ });
324
+ });
325
+
326
+ describe("Localized book Deut (rw)", 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: Deut (rw)", function() {
340
+ expect(p.parse("Gutegeka kwa kabiri 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Gutegeka kwa kabiri 1:1'");
341
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'");
342
+ expect(p.parse("Gut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Gut 1:1'");
343
+ p.include_apocrypha(false);
344
+ expect(p.parse("GUTEGEKA KWA KABIRI 1:1").osis()).toEqual("Deut.1.1", "parsing: 'GUTEGEKA KWA KABIRI 1:1'");
345
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'");
346
+ expect(p.parse("GUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'GUT 1:1'");
347
+ });
348
+ });
349
+
350
+ describe("Localized book Joel (rw)", function() {
351
+ var p;
352
+ p = {};
353
+ beforeEach(function() {
354
+ p = new bcv_parser();
355
+ p.set_options({
356
+ book_alone_strategy: "ignore",
357
+ book_sequence_strategy: "ignore",
358
+ osis_compaction_strategy: "bc",
359
+ captive_end_digits_strategy: "delete"
360
+ });
361
+ p.include_apocrypha(true);
362
+ });
363
+ it("should handle book: Joel (rw)", function() {
364
+ expect(p.parse("Yoweli 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Yoweli 1:1'");
365
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'");
366
+ expect(p.parse("Yow 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Yow 1:1'");
367
+ p.include_apocrypha(false);
368
+ expect(p.parse("YOWELI 1:1").osis()).toEqual("Joel.1.1", "parsing: 'YOWELI 1:1'");
369
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'");
370
+ expect(p.parse("YOW 1:1").osis()).toEqual("Joel.1.1", "parsing: 'YOW 1:1'");
371
+ });
372
+ });
373
+
374
+ describe("Localized book Jonah (rw)", function() {
375
+ var p;
376
+ p = {};
377
+ beforeEach(function() {
378
+ p = new bcv_parser();
379
+ p.set_options({
380
+ book_alone_strategy: "ignore",
381
+ book_sequence_strategy: "ignore",
382
+ osis_compaction_strategy: "bc",
383
+ captive_end_digits_strategy: "delete"
384
+ });
385
+ p.include_apocrypha(true);
386
+ });
387
+ it("should handle book: Jonah (rw)", function() {
388
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'");
389
+ expect(p.parse("Yona 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Yona 1:1'");
390
+ expect(p.parse("Yon 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Yon 1:1'");
391
+ p.include_apocrypha(false);
392
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'");
393
+ expect(p.parse("YONA 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'YONA 1:1'");
394
+ expect(p.parse("YON 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'YON 1:1'");
395
+ });
396
+ });
397
+
398
+ describe("Localized book Nah (rw)", function() {
399
+ var p;
400
+ p = {};
401
+ beforeEach(function() {
402
+ p = new bcv_parser();
403
+ p.set_options({
404
+ book_alone_strategy: "ignore",
405
+ book_sequence_strategy: "ignore",
406
+ osis_compaction_strategy: "bc",
407
+ captive_end_digits_strategy: "delete"
408
+ });
409
+ p.include_apocrypha(true);
410
+ });
411
+ it("should handle book: Nah (rw)", function() {
412
+ expect(p.parse("Nahumu 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nahumu 1:1'");
413
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'");
414
+ p.include_apocrypha(false);
415
+ expect(p.parse("NAHUMU 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAHUMU 1:1'");
416
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'");
417
+ });
418
+ });
419
+
420
+ describe("Localized book Josh (rw)", 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
+ p.include_apocrypha(true);
432
+ });
433
+ it("should handle book: Josh (rw)", function() {
434
+ expect(p.parse("Yosuwa 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Yosuwa 1:1'");
435
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'");
436
+ expect(p.parse("Yos 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Yos 1:1'");
437
+ p.include_apocrypha(false);
438
+ expect(p.parse("YOSUWA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'YOSUWA 1:1'");
439
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'");
440
+ expect(p.parse("YOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'YOS 1:1'");
441
+ });
442
+ });
443
+
444
+ describe("Localized book Judg (rw)", function() {
445
+ var p;
446
+ p = {};
447
+ beforeEach(function() {
448
+ p = new bcv_parser();
449
+ p.set_options({
450
+ book_alone_strategy: "ignore",
451
+ book_sequence_strategy: "ignore",
452
+ osis_compaction_strategy: "bc",
453
+ captive_end_digits_strategy: "delete"
454
+ });
455
+ p.include_apocrypha(true);
456
+ });
457
+ it("should handle book: Judg (rw)", function() {
458
+ expect(p.parse("Abacamanza 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Abacamanza 1:1'");
459
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'");
460
+ expect(p.parse("Cam 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Cam 1:1'");
461
+ p.include_apocrypha(false);
462
+ expect(p.parse("ABACAMANZA 1:1").osis()).toEqual("Judg.1.1", "parsing: 'ABACAMANZA 1:1'");
463
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'");
464
+ expect(p.parse("CAM 1:1").osis()).toEqual("Judg.1.1", "parsing: 'CAM 1:1'");
465
+ });
466
+ });
467
+
468
+ describe("Localized book Ruth (rw)", function() {
469
+ var p;
470
+ p = {};
471
+ beforeEach(function() {
472
+ p = new bcv_parser();
473
+ p.set_options({
474
+ book_alone_strategy: "ignore",
475
+ book_sequence_strategy: "ignore",
476
+ osis_compaction_strategy: "bc",
477
+ captive_end_digits_strategy: "delete"
478
+ });
479
+ p.include_apocrypha(true);
480
+ });
481
+ it("should handle book: Ruth (rw)", function() {
482
+ expect(p.parse("Rusi 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rusi 1:1'");
483
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'");
484
+ expect(p.parse("Rus 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rus 1:1'");
485
+ p.include_apocrypha(false);
486
+ expect(p.parse("RUSI 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUSI 1:1'");
487
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'");
488
+ expect(p.parse("RUS 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUS 1:1'");
489
+ });
490
+ });
491
+
492
+ describe("Localized book 1Esd (rw)", function() {
493
+ var p;
494
+ p = {};
495
+ beforeEach(function() {
496
+ p = new bcv_parser();
497
+ p.set_options({
498
+ book_alone_strategy: "ignore",
499
+ book_sequence_strategy: "ignore",
500
+ osis_compaction_strategy: "bc",
501
+ captive_end_digits_strategy: "delete"
502
+ });
503
+ p.include_apocrypha(true);
504
+ });
505
+ it("should handle book: 1Esd (rw)", function() {
506
+ expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'");
507
+ });
508
+ });
509
+
510
+ describe("Localized book 2Esd (rw)", function() {
511
+ var p;
512
+ p = {};
513
+ beforeEach(function() {
514
+ p = new bcv_parser();
515
+ p.set_options({
516
+ book_alone_strategy: "ignore",
517
+ book_sequence_strategy: "ignore",
518
+ osis_compaction_strategy: "bc",
519
+ captive_end_digits_strategy: "delete"
520
+ });
521
+ p.include_apocrypha(true);
522
+ });
523
+ it("should handle book: 2Esd (rw)", function() {
524
+ expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'");
525
+ });
526
+ });
527
+
528
+ describe("Localized book Isa (rw)", 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: Isa (rw)", function() {
542
+ expect(p.parse("Yesaya 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Yesaya 1:1'");
543
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'");
544
+ expect(p.parse("Yes 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Yes 1:1'");
545
+ p.include_apocrypha(false);
546
+ expect(p.parse("YESAYA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'YESAYA 1:1'");
547
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'");
548
+ expect(p.parse("YES 1:1").osis()).toEqual("Isa.1.1", "parsing: 'YES 1:1'");
549
+ });
550
+ });
551
+
552
+ describe("Localized book 2Sam (rw)", function() {
553
+ var p;
554
+ p = {};
555
+ beforeEach(function() {
556
+ p = new bcv_parser();
557
+ p.set_options({
558
+ book_alone_strategy: "ignore",
559
+ book_sequence_strategy: "ignore",
560
+ osis_compaction_strategy: "bc",
561
+ captive_end_digits_strategy: "delete"
562
+ });
563
+ p.include_apocrypha(true);
564
+ });
565
+ it("should handle book: 2Sam (rw)", function() {
566
+ expect(p.parse("2 Samweli 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samweli 1:1'");
567
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'");
568
+ expect(p.parse("2Sa 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sa 1:1'");
569
+ p.include_apocrypha(false);
570
+ expect(p.parse("2 SAMWELI 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMWELI 1:1'");
571
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'");
572
+ expect(p.parse("2SA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SA 1:1'");
573
+ });
574
+ });
575
+
576
+ describe("Localized book 1Sam (rw)", function() {
577
+ var p;
578
+ p = {};
579
+ beforeEach(function() {
580
+ p = new bcv_parser();
581
+ p.set_options({
582
+ book_alone_strategy: "ignore",
583
+ book_sequence_strategy: "ignore",
584
+ osis_compaction_strategy: "bc",
585
+ captive_end_digits_strategy: "delete"
586
+ });
587
+ p.include_apocrypha(true);
588
+ });
589
+ it("should handle book: 1Sam (rw)", function() {
590
+ expect(p.parse("1 Samweli 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samweli 1:1'");
591
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'");
592
+ expect(p.parse("1Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sa 1:1'");
593
+ p.include_apocrypha(false);
594
+ expect(p.parse("1 SAMWELI 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMWELI 1:1'");
595
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'");
596
+ expect(p.parse("1SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SA 1:1'");
597
+ });
598
+ });
599
+
600
+ describe("Localized book 2Kgs (rw)", function() {
601
+ var p;
602
+ p = {};
603
+ beforeEach(function() {
604
+ p = new bcv_parser();
605
+ p.set_options({
606
+ book_alone_strategy: "ignore",
607
+ book_sequence_strategy: "ignore",
608
+ osis_compaction_strategy: "bc",
609
+ captive_end_digits_strategy: "delete"
610
+ });
611
+ p.include_apocrypha(true);
612
+ });
613
+ it("should handle book: 2Kgs (rw)", function() {
614
+ expect(p.parse("2 Abami 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Abami 1:1'");
615
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'");
616
+ expect(p.parse("2Ab 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Ab 1:1'");
617
+ p.include_apocrypha(false);
618
+ expect(p.parse("2 ABAMI 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 ABAMI 1:1'");
619
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'");
620
+ expect(p.parse("2AB 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2AB 1:1'");
621
+ });
622
+ });
623
+
624
+ describe("Localized book 1Kgs (rw)", function() {
625
+ var p;
626
+ p = {};
627
+ beforeEach(function() {
628
+ p = new bcv_parser();
629
+ p.set_options({
630
+ book_alone_strategy: "ignore",
631
+ book_sequence_strategy: "ignore",
632
+ osis_compaction_strategy: "bc",
633
+ captive_end_digits_strategy: "delete"
634
+ });
635
+ p.include_apocrypha(true);
636
+ });
637
+ it("should handle book: 1Kgs (rw)", function() {
638
+ expect(p.parse("1 Abami 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Abami 1:1'");
639
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'");
640
+ expect(p.parse("1Ab 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Ab 1:1'");
641
+ p.include_apocrypha(false);
642
+ expect(p.parse("1 ABAMI 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 ABAMI 1:1'");
643
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'");
644
+ expect(p.parse("1AB 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1AB 1:1'");
645
+ });
646
+ });
647
+
648
+ describe("Localized book 2Chr (rw)", function() {
649
+ var p;
650
+ p = {};
651
+ beforeEach(function() {
652
+ p = new bcv_parser();
653
+ p.set_options({
654
+ book_alone_strategy: "ignore",
655
+ book_sequence_strategy: "ignore",
656
+ osis_compaction_strategy: "bc",
657
+ captive_end_digits_strategy: "delete"
658
+ });
659
+ p.include_apocrypha(true);
660
+ });
661
+ it("should handle book: 2Chr (rw)", function() {
662
+ expect(p.parse("2 Ibyo ku Ngoma 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Ibyo ku Ngoma 1:1'");
663
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'");
664
+ expect(p.parse("2IN 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2IN 1:1'");
665
+ p.include_apocrypha(false);
666
+ expect(p.parse("2 IBYO KU NGOMA 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 IBYO KU NGOMA 1:1'");
667
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'");
668
+ expect(p.parse("2IN 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2IN 1:1'");
669
+ });
670
+ });
671
+
672
+ describe("Localized book 1Chr (rw)", function() {
673
+ var p;
674
+ p = {};
675
+ beforeEach(function() {
676
+ p = new bcv_parser();
677
+ p.set_options({
678
+ book_alone_strategy: "ignore",
679
+ book_sequence_strategy: "ignore",
680
+ osis_compaction_strategy: "bc",
681
+ captive_end_digits_strategy: "delete"
682
+ });
683
+ p.include_apocrypha(true);
684
+ });
685
+ it("should handle book: 1Chr (rw)", function() {
686
+ expect(p.parse("1 Ibyo ku Ngoma 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Ibyo ku Ngoma 1:1'");
687
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'");
688
+ expect(p.parse("1IN 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1IN 1:1'");
689
+ p.include_apocrypha(false);
690
+ expect(p.parse("1 IBYO KU NGOMA 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 IBYO KU NGOMA 1:1'");
691
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'");
692
+ expect(p.parse("1IN 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1IN 1:1'");
693
+ });
694
+ });
695
+
696
+ describe("Localized book Ezra (rw)", function() {
697
+ var p;
698
+ p = {};
699
+ beforeEach(function() {
700
+ p = new bcv_parser();
701
+ p.set_options({
702
+ book_alone_strategy: "ignore",
703
+ book_sequence_strategy: "ignore",
704
+ osis_compaction_strategy: "bc",
705
+ captive_end_digits_strategy: "delete"
706
+ });
707
+ p.include_apocrypha(true);
708
+ });
709
+ it("should handle book: Ezra (rw)", function() {
710
+ expect(p.parse("Ezira 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezira 1:1'");
711
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'");
712
+ expect(p.parse("Ezi 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezi 1:1'");
713
+ p.include_apocrypha(false);
714
+ expect(p.parse("EZIRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZIRA 1:1'");
715
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'");
716
+ expect(p.parse("EZI 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZI 1:1'");
717
+ });
718
+ });
719
+
720
+ describe("Localized book Neh (rw)", function() {
721
+ var p;
722
+ p = {};
723
+ beforeEach(function() {
724
+ p = new bcv_parser();
725
+ p.set_options({
726
+ book_alone_strategy: "ignore",
727
+ book_sequence_strategy: "ignore",
728
+ osis_compaction_strategy: "bc",
729
+ captive_end_digits_strategy: "delete"
730
+ });
731
+ p.include_apocrypha(true);
732
+ });
733
+ it("should handle book: Neh (rw)", function() {
734
+ expect(p.parse("Nehemiya 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemiya 1:1'");
735
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'");
736
+ p.include_apocrypha(false);
737
+ expect(p.parse("NEHEMIYA 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMIYA 1:1'");
738
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'");
739
+ });
740
+ });
741
+
742
+ describe("Localized book GkEsth (rw)", function() {
743
+ var p;
744
+ p = {};
745
+ beforeEach(function() {
746
+ p = new bcv_parser();
747
+ p.set_options({
748
+ book_alone_strategy: "ignore",
749
+ book_sequence_strategy: "ignore",
750
+ osis_compaction_strategy: "bc",
751
+ captive_end_digits_strategy: "delete"
752
+ });
753
+ p.include_apocrypha(true);
754
+ });
755
+ it("should handle book: GkEsth (rw)", function() {
756
+ expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'");
757
+ });
758
+ });
759
+
760
+ describe("Localized book Esth (rw)", 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: Esth (rw)", function() {
774
+ expect(p.parse("Esiteri 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esiteri 1:1'");
775
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'");
776
+ expect(p.parse("Esi 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esi 1:1'");
777
+ p.include_apocrypha(false);
778
+ expect(p.parse("ESITERI 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESITERI 1:1'");
779
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'");
780
+ expect(p.parse("ESI 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESI 1:1'");
781
+ });
782
+ });
783
+
784
+ describe("Localized book Job (rw)", function() {
785
+ var p;
786
+ p = {};
787
+ beforeEach(function() {
788
+ p = new bcv_parser();
789
+ p.set_options({
790
+ book_alone_strategy: "ignore",
791
+ book_sequence_strategy: "ignore",
792
+ osis_compaction_strategy: "bc",
793
+ captive_end_digits_strategy: "delete"
794
+ });
795
+ p.include_apocrypha(true);
796
+ });
797
+ it("should handle book: Job (rw)", function() {
798
+ expect(p.parse("Yobu 1:1").osis()).toEqual("Job.1.1", "parsing: 'Yobu 1:1'");
799
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'");
800
+ expect(p.parse("Yob 1:1").osis()).toEqual("Job.1.1", "parsing: 'Yob 1:1'");
801
+ p.include_apocrypha(false);
802
+ expect(p.parse("YOBU 1:1").osis()).toEqual("Job.1.1", "parsing: 'YOBU 1:1'");
803
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'");
804
+ expect(p.parse("YOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'YOB 1:1'");
805
+ });
806
+ });
807
+
808
+ describe("Localized book Rom (rw)", function() {
809
+ var p;
810
+ p = {};
811
+ beforeEach(function() {
812
+ p = new bcv_parser();
813
+ p.set_options({
814
+ book_alone_strategy: "ignore",
815
+ book_sequence_strategy: "ignore",
816
+ osis_compaction_strategy: "bc",
817
+ captive_end_digits_strategy: "delete"
818
+ });
819
+ p.include_apocrypha(true);
820
+ });
821
+ it("should handle book: Rom (rw)", function() {
822
+ expect(p.parse("Abaroma 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Abaroma 1:1'");
823
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'");
824
+ p.include_apocrypha(false);
825
+ expect(p.parse("ABAROMA 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ABAROMA 1:1'");
826
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'");
827
+ });
828
+ });
829
+
830
+ describe("Localized book Mal (rw)", 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: Mal (rw)", function() {
844
+ expect(p.parse("Malaki 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malaki 1:1'");
845
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'");
846
+ p.include_apocrypha(false);
847
+ expect(p.parse("MALAKI 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALAKI 1:1'");
848
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'");
849
+ });
850
+ });
851
+
852
+ describe("Localized book Matt (rw)", function() {
853
+ var p;
854
+ p = {};
855
+ beforeEach(function() {
856
+ p = new bcv_parser();
857
+ p.set_options({
858
+ book_alone_strategy: "ignore",
859
+ book_sequence_strategy: "ignore",
860
+ osis_compaction_strategy: "bc",
861
+ captive_end_digits_strategy: "delete"
862
+ });
863
+ p.include_apocrypha(true);
864
+ });
865
+ it("should handle book: Matt (rw)", function() {
866
+ expect(p.parse("Matayo 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matayo 1:1'");
867
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'");
868
+ expect(p.parse("Mat 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Mat 1:1'");
869
+ p.include_apocrypha(false);
870
+ expect(p.parse("MATAYO 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATAYO 1:1'");
871
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'");
872
+ expect(p.parse("MAT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MAT 1:1'");
873
+ });
874
+ });
875
+
876
+ describe("Localized book Ps (rw)", function() {
877
+ var p;
878
+ p = {};
879
+ beforeEach(function() {
880
+ p = new bcv_parser();
881
+ p.set_options({
882
+ book_alone_strategy: "ignore",
883
+ book_sequence_strategy: "ignore",
884
+ osis_compaction_strategy: "bc",
885
+ captive_end_digits_strategy: "delete"
886
+ });
887
+ p.include_apocrypha(true);
888
+ });
889
+ it("should handle book: Ps (rw)", function() {
890
+ expect(p.parse("Zaburi 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Zaburi 1:1'");
891
+ expect(p.parse("Zab 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Zab 1:1'");
892
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'");
893
+ p.include_apocrypha(false);
894
+ expect(p.parse("ZABURI 1:1").osis()).toEqual("Ps.1.1", "parsing: 'ZABURI 1:1'");
895
+ expect(p.parse("ZAB 1:1").osis()).toEqual("Ps.1.1", "parsing: 'ZAB 1:1'");
896
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'");
897
+ });
898
+ });
899
+
900
+ describe("Localized book PrAzar (rw)", function() {
901
+ var p;
902
+ p = {};
903
+ beforeEach(function() {
904
+ p = new bcv_parser();
905
+ p.set_options({
906
+ book_alone_strategy: "ignore",
907
+ book_sequence_strategy: "ignore",
908
+ osis_compaction_strategy: "bc",
909
+ captive_end_digits_strategy: "delete"
910
+ });
911
+ p.include_apocrypha(true);
912
+ });
913
+ it("should handle book: PrAzar (rw)", function() {
914
+ expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'");
915
+ });
916
+ });
917
+
918
+ describe("Localized book Prov (rw)", function() {
919
+ var p;
920
+ p = {};
921
+ beforeEach(function() {
922
+ p = new bcv_parser();
923
+ p.set_options({
924
+ book_alone_strategy: "ignore",
925
+ book_sequence_strategy: "ignore",
926
+ osis_compaction_strategy: "bc",
927
+ captive_end_digits_strategy: "delete"
928
+ });
929
+ p.include_apocrypha(true);
930
+ });
931
+ it("should handle book: Prov (rw)", function() {
932
+ expect(p.parse("Imigani 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Imigani 1:1'");
933
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'");
934
+ expect(p.parse("Imi 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Imi 1:1'");
935
+ p.include_apocrypha(false);
936
+ expect(p.parse("IMIGANI 1:1").osis()).toEqual("Prov.1.1", "parsing: 'IMIGANI 1:1'");
937
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'");
938
+ expect(p.parse("IMI 1:1").osis()).toEqual("Prov.1.1", "parsing: 'IMI 1:1'");
939
+ });
940
+ });
941
+
942
+ describe("Localized book Eccl (rw)", function() {
943
+ var p;
944
+ p = {};
945
+ beforeEach(function() {
946
+ p = new bcv_parser();
947
+ p.set_options({
948
+ book_alone_strategy: "ignore",
949
+ book_sequence_strategy: "ignore",
950
+ osis_compaction_strategy: "bc",
951
+ captive_end_digits_strategy: "delete"
952
+ });
953
+ p.include_apocrypha(true);
954
+ });
955
+ it("should handle book: Eccl (rw)", function() {
956
+ expect(p.parse("Umubwiriza 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Umubwiriza 1:1'");
957
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'");
958
+ expect(p.parse("Umu 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Umu 1:1'");
959
+ p.include_apocrypha(false);
960
+ expect(p.parse("UMUBWIRIZA 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'UMUBWIRIZA 1:1'");
961
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'");
962
+ expect(p.parse("UMU 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'UMU 1:1'");
963
+ });
964
+ });
965
+
966
+ describe("Localized book SgThree (rw)", function() {
967
+ var p;
968
+ p = {};
969
+ beforeEach(function() {
970
+ p = new bcv_parser();
971
+ p.set_options({
972
+ book_alone_strategy: "ignore",
973
+ book_sequence_strategy: "ignore",
974
+ osis_compaction_strategy: "bc",
975
+ captive_end_digits_strategy: "delete"
976
+ });
977
+ p.include_apocrypha(true);
978
+ });
979
+ it("should handle book: SgThree (rw)", function() {
980
+ expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'SgThree 1:1'");
981
+ });
982
+ });
983
+
984
+ describe("Localized book Song (rw)", function() {
985
+ var p;
986
+ p = {};
987
+ beforeEach(function() {
988
+ p = new bcv_parser();
989
+ p.set_options({
990
+ book_alone_strategy: "ignore",
991
+ book_sequence_strategy: "ignore",
992
+ osis_compaction_strategy: "bc",
993
+ captive_end_digits_strategy: "delete"
994
+ });
995
+ p.include_apocrypha(true);
996
+ });
997
+ it("should handle book: Song (rw)", function() {
998
+ expect(p.parse("Indirimbo za Salomo 1:1").osis()).toEqual("Song.1.1", "parsing: 'Indirimbo za Salomo 1:1'");
999
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'");
1000
+ expect(p.parse("Ind 1:1").osis()).toEqual("Song.1.1", "parsing: 'Ind 1:1'");
1001
+ p.include_apocrypha(false);
1002
+ expect(p.parse("INDIRIMBO ZA SALOMO 1:1").osis()).toEqual("Song.1.1", "parsing: 'INDIRIMBO ZA SALOMO 1:1'");
1003
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'");
1004
+ expect(p.parse("IND 1:1").osis()).toEqual("Song.1.1", "parsing: 'IND 1:1'");
1005
+ });
1006
+ });
1007
+
1008
+ describe("Localized book Jer (rw)", function() {
1009
+ var p;
1010
+ p = {};
1011
+ beforeEach(function() {
1012
+ p = new bcv_parser();
1013
+ p.set_options({
1014
+ book_alone_strategy: "ignore",
1015
+ book_sequence_strategy: "ignore",
1016
+ osis_compaction_strategy: "bc",
1017
+ captive_end_digits_strategy: "delete"
1018
+ });
1019
+ p.include_apocrypha(true);
1020
+ });
1021
+ it("should handle book: Jer (rw)", function() {
1022
+ expect(p.parse("Yeremiya 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Yeremiya 1:1'");
1023
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'");
1024
+ expect(p.parse("Yer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Yer 1:1'");
1025
+ p.include_apocrypha(false);
1026
+ expect(p.parse("YEREMIYA 1:1").osis()).toEqual("Jer.1.1", "parsing: 'YEREMIYA 1:1'");
1027
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'");
1028
+ expect(p.parse("YER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'YER 1:1'");
1029
+ });
1030
+ });
1031
+
1032
+ describe("Localized book Ezek (rw)", function() {
1033
+ var p;
1034
+ p = {};
1035
+ beforeEach(function() {
1036
+ p = new bcv_parser();
1037
+ p.set_options({
1038
+ book_alone_strategy: "ignore",
1039
+ book_sequence_strategy: "ignore",
1040
+ osis_compaction_strategy: "bc",
1041
+ captive_end_digits_strategy: "delete"
1042
+ });
1043
+ p.include_apocrypha(true);
1044
+ });
1045
+ it("should handle book: Ezek (rw)", function() {
1046
+ expect(p.parse("Ezekiyeli 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezekiyeli 1:1'");
1047
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'");
1048
+ expect(p.parse("Eze 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Eze 1:1'");
1049
+ p.include_apocrypha(false);
1050
+ expect(p.parse("EZEKIYELI 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEKIYELI 1:1'");
1051
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'");
1052
+ expect(p.parse("EZE 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZE 1:1'");
1053
+ });
1054
+ });
1055
+
1056
+ describe("Localized book Dan (rw)", function() {
1057
+ var p;
1058
+ p = {};
1059
+ beforeEach(function() {
1060
+ p = new bcv_parser();
1061
+ p.set_options({
1062
+ book_alone_strategy: "ignore",
1063
+ book_sequence_strategy: "ignore",
1064
+ osis_compaction_strategy: "bc",
1065
+ captive_end_digits_strategy: "delete"
1066
+ });
1067
+ p.include_apocrypha(true);
1068
+ });
1069
+ it("should handle book: Dan (rw)", function() {
1070
+ expect(p.parse("Daniyeli 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Daniyeli 1:1'");
1071
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'");
1072
+ p.include_apocrypha(false);
1073
+ expect(p.parse("DANIYELI 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DANIYELI 1:1'");
1074
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'");
1075
+ });
1076
+ });
1077
+
1078
+ describe("Localized book Hos (rw)", function() {
1079
+ var p;
1080
+ p = {};
1081
+ beforeEach(function() {
1082
+ p = new bcv_parser();
1083
+ p.set_options({
1084
+ book_alone_strategy: "ignore",
1085
+ book_sequence_strategy: "ignore",
1086
+ osis_compaction_strategy: "bc",
1087
+ captive_end_digits_strategy: "delete"
1088
+ });
1089
+ p.include_apocrypha(true);
1090
+ });
1091
+ it("should handle book: Hos (rw)", function() {
1092
+ expect(p.parse("Hoseya 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hoseya 1:1'");
1093
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'");
1094
+ p.include_apocrypha(false);
1095
+ expect(p.parse("HOSEYA 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOSEYA 1:1'");
1096
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'");
1097
+ });
1098
+ });
1099
+
1100
+ describe("Localized book Amos (rw)", function() {
1101
+ var p;
1102
+ p = {};
1103
+ beforeEach(function() {
1104
+ p = new bcv_parser();
1105
+ p.set_options({
1106
+ book_alone_strategy: "ignore",
1107
+ book_sequence_strategy: "ignore",
1108
+ osis_compaction_strategy: "bc",
1109
+ captive_end_digits_strategy: "delete"
1110
+ });
1111
+ p.include_apocrypha(true);
1112
+ });
1113
+ it("should handle book: Amos (rw)", function() {
1114
+ expect(p.parse("Amosi 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amosi 1:1'");
1115
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'");
1116
+ expect(p.parse("Amo 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amo 1:1'");
1117
+ p.include_apocrypha(false);
1118
+ expect(p.parse("AMOSI 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOSI 1:1'");
1119
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'");
1120
+ expect(p.parse("AMO 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMO 1:1'");
1121
+ });
1122
+ });
1123
+
1124
+ describe("Localized book Obad (rw)", function() {
1125
+ var p;
1126
+ p = {};
1127
+ beforeEach(function() {
1128
+ p = new bcv_parser();
1129
+ p.set_options({
1130
+ book_alone_strategy: "ignore",
1131
+ book_sequence_strategy: "ignore",
1132
+ osis_compaction_strategy: "bc",
1133
+ captive_end_digits_strategy: "delete"
1134
+ });
1135
+ p.include_apocrypha(true);
1136
+ });
1137
+ it("should handle book: Obad (rw)", function() {
1138
+ expect(p.parse("Obadiya 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obadiya 1:1'");
1139
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'");
1140
+ expect(p.parse("Oba 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Oba 1:1'");
1141
+ p.include_apocrypha(false);
1142
+ expect(p.parse("OBADIYA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBADIYA 1:1'");
1143
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'");
1144
+ expect(p.parse("OBA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBA 1:1'");
1145
+ });
1146
+ });
1147
+
1148
+ describe("Localized book Mic (rw)", function() {
1149
+ var p;
1150
+ p = {};
1151
+ beforeEach(function() {
1152
+ p = new bcv_parser();
1153
+ p.set_options({
1154
+ book_alone_strategy: "ignore",
1155
+ book_sequence_strategy: "ignore",
1156
+ osis_compaction_strategy: "bc",
1157
+ captive_end_digits_strategy: "delete"
1158
+ });
1159
+ p.include_apocrypha(true);
1160
+ });
1161
+ it("should handle book: Mic (rw)", function() {
1162
+ expect(p.parse("Mika 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mika 1:1'");
1163
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'");
1164
+ expect(p.parse("Mik 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mik 1:1'");
1165
+ p.include_apocrypha(false);
1166
+ expect(p.parse("MIKA 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKA 1:1'");
1167
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'");
1168
+ expect(p.parse("MIK 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIK 1:1'");
1169
+ });
1170
+ });
1171
+
1172
+ describe("Localized book Hag (rw)", function() {
1173
+ var p;
1174
+ p = {};
1175
+ beforeEach(function() {
1176
+ p = new bcv_parser();
1177
+ p.set_options({
1178
+ book_alone_strategy: "ignore",
1179
+ book_sequence_strategy: "ignore",
1180
+ osis_compaction_strategy: "bc",
1181
+ captive_end_digits_strategy: "delete"
1182
+ });
1183
+ p.include_apocrypha(true);
1184
+ });
1185
+ it("should handle book: Hag (rw)", function() {
1186
+ expect(p.parse("Hagayi 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hagayi 1:1'");
1187
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'");
1188
+ p.include_apocrypha(false);
1189
+ expect(p.parse("HAGAYI 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGAYI 1:1'");
1190
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'");
1191
+ });
1192
+ });
1193
+
1194
+ describe("Localized book Hab (rw)", function() {
1195
+ var p;
1196
+ p = {};
1197
+ beforeEach(function() {
1198
+ p = new bcv_parser();
1199
+ p.set_options({
1200
+ book_alone_strategy: "ignore",
1201
+ book_sequence_strategy: "ignore",
1202
+ osis_compaction_strategy: "bc",
1203
+ captive_end_digits_strategy: "delete"
1204
+ });
1205
+ p.include_apocrypha(true);
1206
+ });
1207
+ it("should handle book: Hab (rw)", function() {
1208
+ expect(p.parse("Habakuki 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habakuki 1:1'");
1209
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'");
1210
+ p.include_apocrypha(false);
1211
+ expect(p.parse("HABAKUKI 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABAKUKI 1:1'");
1212
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'");
1213
+ });
1214
+ });
1215
+
1216
+ describe("Localized book Zeph (rw)", function() {
1217
+ var p;
1218
+ p = {};
1219
+ beforeEach(function() {
1220
+ p = new bcv_parser();
1221
+ p.set_options({
1222
+ book_alone_strategy: "ignore",
1223
+ book_sequence_strategy: "ignore",
1224
+ osis_compaction_strategy: "bc",
1225
+ captive_end_digits_strategy: "delete"
1226
+ });
1227
+ p.include_apocrypha(true);
1228
+ });
1229
+ it("should handle book: Zeph (rw)", function() {
1230
+ expect(p.parse("Sofoniya 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sofoniya 1:1'");
1231
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'");
1232
+ expect(p.parse("Sof 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sof 1:1'");
1233
+ p.include_apocrypha(false);
1234
+ expect(p.parse("SOFONIYA 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SOFONIYA 1:1'");
1235
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'");
1236
+ expect(p.parse("SOF 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SOF 1:1'");
1237
+ });
1238
+ });
1239
+
1240
+ describe("Localized book Zech (rw)", function() {
1241
+ var p;
1242
+ p = {};
1243
+ beforeEach(function() {
1244
+ p = new bcv_parser();
1245
+ p.set_options({
1246
+ book_alone_strategy: "ignore",
1247
+ book_sequence_strategy: "ignore",
1248
+ osis_compaction_strategy: "bc",
1249
+ captive_end_digits_strategy: "delete"
1250
+ });
1251
+ p.include_apocrypha(true);
1252
+ });
1253
+ it("should handle book: Zech (rw)", function() {
1254
+ expect(p.parse("Zakariya 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zakariya 1:1'");
1255
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'");
1256
+ expect(p.parse("Zak 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zak 1:1'");
1257
+ p.include_apocrypha(false);
1258
+ expect(p.parse("ZAKARIYA 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAKARIYA 1:1'");
1259
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'");
1260
+ expect(p.parse("ZAK 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAK 1:1'");
1261
+ });
1262
+ });
1263
+
1264
+ describe("Localized book Mark (rw)", function() {
1265
+ var p;
1266
+ p = {};
1267
+ beforeEach(function() {
1268
+ p = new bcv_parser();
1269
+ p.set_options({
1270
+ book_alone_strategy: "ignore",
1271
+ book_sequence_strategy: "ignore",
1272
+ osis_compaction_strategy: "bc",
1273
+ captive_end_digits_strategy: "delete"
1274
+ });
1275
+ p.include_apocrypha(true);
1276
+ });
1277
+ it("should handle book: Mark (rw)", function() {
1278
+ expect(p.parse("Mariko 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mariko 1:1'");
1279
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'");
1280
+ expect(p.parse("Mar 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mar 1:1'");
1281
+ p.include_apocrypha(false);
1282
+ expect(p.parse("MARIKO 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARIKO 1:1'");
1283
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'");
1284
+ expect(p.parse("MAR 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MAR 1:1'");
1285
+ });
1286
+ });
1287
+
1288
+ describe("Localized book Luke (rw)", 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
+ p.include_apocrypha(true);
1300
+ });
1301
+ it("should handle book: Luke (rw)", function() {
1302
+ expect(p.parse("Luka 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luka 1:1'");
1303
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'");
1304
+ expect(p.parse("Luk 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luk 1:1'");
1305
+ p.include_apocrypha(false);
1306
+ expect(p.parse("LUKA 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKA 1:1'");
1307
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'");
1308
+ expect(p.parse("LUK 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUK 1:1'");
1309
+ });
1310
+ });
1311
+
1312
+ describe("Localized book 1John (rw)", function() {
1313
+ var p;
1314
+ p = {};
1315
+ beforeEach(function() {
1316
+ p = new bcv_parser();
1317
+ p.set_options({
1318
+ book_alone_strategy: "ignore",
1319
+ book_sequence_strategy: "ignore",
1320
+ osis_compaction_strategy: "bc",
1321
+ captive_end_digits_strategy: "delete"
1322
+ });
1323
+ p.include_apocrypha(true);
1324
+ });
1325
+ it("should handle book: 1John (rw)", function() {
1326
+ expect(p.parse("1 Yohana 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Yohana 1:1'");
1327
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'");
1328
+ expect(p.parse("1Yo 1:1").osis()).toEqual("1John.1.1", "parsing: '1Yo 1:1'");
1329
+ p.include_apocrypha(false);
1330
+ expect(p.parse("1 YOHANA 1:1").osis()).toEqual("1John.1.1", "parsing: '1 YOHANA 1:1'");
1331
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'");
1332
+ expect(p.parse("1YO 1:1").osis()).toEqual("1John.1.1", "parsing: '1YO 1:1'");
1333
+ });
1334
+ });
1335
+
1336
+ describe("Localized book 2John (rw)", function() {
1337
+ var p;
1338
+ p = {};
1339
+ beforeEach(function() {
1340
+ p = new bcv_parser();
1341
+ p.set_options({
1342
+ book_alone_strategy: "ignore",
1343
+ book_sequence_strategy: "ignore",
1344
+ osis_compaction_strategy: "bc",
1345
+ captive_end_digits_strategy: "delete"
1346
+ });
1347
+ p.include_apocrypha(true);
1348
+ });
1349
+ it("should handle book: 2John (rw)", function() {
1350
+ expect(p.parse("2 Yohana 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Yohana 1:1'");
1351
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'");
1352
+ expect(p.parse("2Yo 1:1").osis()).toEqual("2John.1.1", "parsing: '2Yo 1:1'");
1353
+ p.include_apocrypha(false);
1354
+ expect(p.parse("2 YOHANA 1:1").osis()).toEqual("2John.1.1", "parsing: '2 YOHANA 1:1'");
1355
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'");
1356
+ expect(p.parse("2YO 1:1").osis()).toEqual("2John.1.1", "parsing: '2YO 1:1'");
1357
+ });
1358
+ });
1359
+
1360
+ describe("Localized book 3John (rw)", function() {
1361
+ var p;
1362
+ p = {};
1363
+ beforeEach(function() {
1364
+ p = new bcv_parser();
1365
+ p.set_options({
1366
+ book_alone_strategy: "ignore",
1367
+ book_sequence_strategy: "ignore",
1368
+ osis_compaction_strategy: "bc",
1369
+ captive_end_digits_strategy: "delete"
1370
+ });
1371
+ p.include_apocrypha(true);
1372
+ });
1373
+ it("should handle book: 3John (rw)", function() {
1374
+ expect(p.parse("3 Yohana 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Yohana 1:1'");
1375
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'");
1376
+ expect(p.parse("3Yo 1:1").osis()).toEqual("3John.1.1", "parsing: '3Yo 1:1'");
1377
+ p.include_apocrypha(false);
1378
+ expect(p.parse("3 YOHANA 1:1").osis()).toEqual("3John.1.1", "parsing: '3 YOHANA 1:1'");
1379
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'");
1380
+ expect(p.parse("3YO 1:1").osis()).toEqual("3John.1.1", "parsing: '3YO 1:1'");
1381
+ });
1382
+ });
1383
+
1384
+ describe("Localized book John (rw)", function() {
1385
+ var p;
1386
+ p = {};
1387
+ beforeEach(function() {
1388
+ p = new bcv_parser();
1389
+ p.set_options({
1390
+ book_alone_strategy: "ignore",
1391
+ book_sequence_strategy: "ignore",
1392
+ osis_compaction_strategy: "bc",
1393
+ captive_end_digits_strategy: "delete"
1394
+ });
1395
+ p.include_apocrypha(true);
1396
+ });
1397
+ it("should handle book: John (rw)", function() {
1398
+ expect(p.parse("Yohana 1:1").osis()).toEqual("John.1.1", "parsing: 'Yohana 1:1'");
1399
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'");
1400
+ expect(p.parse("Yoh 1:1").osis()).toEqual("John.1.1", "parsing: 'Yoh 1:1'");
1401
+ p.include_apocrypha(false);
1402
+ expect(p.parse("YOHANA 1:1").osis()).toEqual("John.1.1", "parsing: 'YOHANA 1:1'");
1403
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'");
1404
+ expect(p.parse("YOH 1:1").osis()).toEqual("John.1.1", "parsing: 'YOH 1:1'");
1405
+ });
1406
+ });
1407
+
1408
+ describe("Localized book Acts (rw)", function() {
1409
+ var p;
1410
+ p = {};
1411
+ beforeEach(function() {
1412
+ p = new bcv_parser();
1413
+ p.set_options({
1414
+ book_alone_strategy: "ignore",
1415
+ book_sequence_strategy: "ignore",
1416
+ osis_compaction_strategy: "bc",
1417
+ captive_end_digits_strategy: "delete"
1418
+ });
1419
+ p.include_apocrypha(true);
1420
+ });
1421
+ it("should handle book: Acts (rw)", function() {
1422
+ expect(p.parse("Ibyakozwe n’Intumwa 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Ibyakozwe n’Intumwa 1:1'");
1423
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'");
1424
+ expect(p.parse("IbI 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IbI 1:1'");
1425
+ p.include_apocrypha(false);
1426
+ expect(p.parse("IBYAKOZWE N’INTUMWA 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IBYAKOZWE N’INTUMWA 1:1'");
1427
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'");
1428
+ expect(p.parse("IBI 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IBI 1:1'");
1429
+ });
1430
+ });
1431
+
1432
+ describe("Localized book 2Cor (rw)", function() {
1433
+ var p;
1434
+ p = {};
1435
+ beforeEach(function() {
1436
+ p = new bcv_parser();
1437
+ p.set_options({
1438
+ book_alone_strategy: "ignore",
1439
+ book_sequence_strategy: "ignore",
1440
+ osis_compaction_strategy: "bc",
1441
+ captive_end_digits_strategy: "delete"
1442
+ });
1443
+ p.include_apocrypha(true);
1444
+ });
1445
+ it("should handle book: 2Cor (rw)", function() {
1446
+ expect(p.parse("2 Abakorinto 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Abakorinto 1:1'");
1447
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'");
1448
+ expect(p.parse("2Ko 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Ko 1:1'");
1449
+ p.include_apocrypha(false);
1450
+ expect(p.parse("2 ABAKORINTO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 ABAKORINTO 1:1'");
1451
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'");
1452
+ expect(p.parse("2KO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2KO 1:1'");
1453
+ });
1454
+ });
1455
+
1456
+ describe("Localized book 1Cor (rw)", function() {
1457
+ var p;
1458
+ p = {};
1459
+ beforeEach(function() {
1460
+ p = new bcv_parser();
1461
+ p.set_options({
1462
+ book_alone_strategy: "ignore",
1463
+ book_sequence_strategy: "ignore",
1464
+ osis_compaction_strategy: "bc",
1465
+ captive_end_digits_strategy: "delete"
1466
+ });
1467
+ p.include_apocrypha(true);
1468
+ });
1469
+ it("should handle book: 1Cor (rw)", function() {
1470
+ expect(p.parse("1 Abakorinto 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Abakorinto 1:1'");
1471
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'");
1472
+ expect(p.parse("1Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Ko 1:1'");
1473
+ p.include_apocrypha(false);
1474
+ expect(p.parse("1 ABAKORINTO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 ABAKORINTO 1:1'");
1475
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'");
1476
+ expect(p.parse("1KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1KO 1:1'");
1477
+ });
1478
+ });
1479
+
1480
+ describe("Localized book Gal (rw)", function() {
1481
+ var p;
1482
+ p = {};
1483
+ beforeEach(function() {
1484
+ p = new bcv_parser();
1485
+ p.set_options({
1486
+ book_alone_strategy: "ignore",
1487
+ book_sequence_strategy: "ignore",
1488
+ osis_compaction_strategy: "bc",
1489
+ captive_end_digits_strategy: "delete"
1490
+ });
1491
+ p.include_apocrypha(true);
1492
+ });
1493
+ it("should handle book: Gal (rw)", function() {
1494
+ expect(p.parse("Abagalatiya 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Abagalatiya 1:1'");
1495
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'");
1496
+ p.include_apocrypha(false);
1497
+ expect(p.parse("ABAGALATIYA 1:1").osis()).toEqual("Gal.1.1", "parsing: 'ABAGALATIYA 1:1'");
1498
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'");
1499
+ });
1500
+ });
1501
+
1502
+ describe("Localized book Eph (rw)", function() {
1503
+ var p;
1504
+ p = {};
1505
+ beforeEach(function() {
1506
+ p = new bcv_parser();
1507
+ p.set_options({
1508
+ book_alone_strategy: "ignore",
1509
+ book_sequence_strategy: "ignore",
1510
+ osis_compaction_strategy: "bc",
1511
+ captive_end_digits_strategy: "delete"
1512
+ });
1513
+ p.include_apocrypha(true);
1514
+ });
1515
+ it("should handle book: Eph (rw)", function() {
1516
+ expect(p.parse("Abefeso 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Abefeso 1:1'");
1517
+ expect(p.parse("Efe 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Efe 1:1'");
1518
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'");
1519
+ p.include_apocrypha(false);
1520
+ expect(p.parse("ABEFESO 1:1").osis()).toEqual("Eph.1.1", "parsing: 'ABEFESO 1:1'");
1521
+ expect(p.parse("EFE 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EFE 1:1'");
1522
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'");
1523
+ });
1524
+ });
1525
+
1526
+ describe("Localized book Phil (rw)", function() {
1527
+ var p;
1528
+ p = {};
1529
+ beforeEach(function() {
1530
+ p = new bcv_parser();
1531
+ p.set_options({
1532
+ book_alone_strategy: "ignore",
1533
+ book_sequence_strategy: "ignore",
1534
+ osis_compaction_strategy: "bc",
1535
+ captive_end_digits_strategy: "delete"
1536
+ });
1537
+ p.include_apocrypha(true);
1538
+ });
1539
+ it("should handle book: Phil (rw)", function() {
1540
+ expect(p.parse("Abafilipi 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Abafilipi 1:1'");
1541
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'");
1542
+ expect(p.parse("Flp 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Flp 1:1'");
1543
+ p.include_apocrypha(false);
1544
+ expect(p.parse("ABAFILIPI 1:1").osis()).toEqual("Phil.1.1", "parsing: 'ABAFILIPI 1:1'");
1545
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'");
1546
+ expect(p.parse("FLP 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FLP 1:1'");
1547
+ });
1548
+ });
1549
+
1550
+ describe("Localized book Col (rw)", function() {
1551
+ var p;
1552
+ p = {};
1553
+ beforeEach(function() {
1554
+ p = new bcv_parser();
1555
+ p.set_options({
1556
+ book_alone_strategy: "ignore",
1557
+ book_sequence_strategy: "ignore",
1558
+ osis_compaction_strategy: "bc",
1559
+ captive_end_digits_strategy: "delete"
1560
+ });
1561
+ p.include_apocrypha(true);
1562
+ });
1563
+ it("should handle book: Col (rw)", function() {
1564
+ expect(p.parse("Abakolosayi 1:1").osis()).toEqual("Col.1.1", "parsing: 'Abakolosayi 1:1'");
1565
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'");
1566
+ expect(p.parse("Kol 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kol 1:1'");
1567
+ p.include_apocrypha(false);
1568
+ expect(p.parse("ABAKOLOSAYI 1:1").osis()).toEqual("Col.1.1", "parsing: 'ABAKOLOSAYI 1:1'");
1569
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'");
1570
+ expect(p.parse("KOL 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOL 1:1'");
1571
+ });
1572
+ });
1573
+
1574
+ describe("Localized book 2Thess (rw)", function() {
1575
+ var p;
1576
+ p = {};
1577
+ beforeEach(function() {
1578
+ p = new bcv_parser();
1579
+ p.set_options({
1580
+ book_alone_strategy: "ignore",
1581
+ book_sequence_strategy: "ignore",
1582
+ osis_compaction_strategy: "bc",
1583
+ captive_end_digits_strategy: "delete"
1584
+ });
1585
+ p.include_apocrypha(true);
1586
+ });
1587
+ it("should handle book: 2Thess (rw)", function() {
1588
+ expect(p.parse("2 Abatesalonike 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Abatesalonike 1:1'");
1589
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'");
1590
+ expect(p.parse("2Te 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Te 1:1'");
1591
+ p.include_apocrypha(false);
1592
+ expect(p.parse("2 ABATESALONIKE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 ABATESALONIKE 1:1'");
1593
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'");
1594
+ expect(p.parse("2TE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2TE 1:1'");
1595
+ });
1596
+ });
1597
+
1598
+ describe("Localized book 1Thess (rw)", function() {
1599
+ var p;
1600
+ p = {};
1601
+ beforeEach(function() {
1602
+ p = new bcv_parser();
1603
+ p.set_options({
1604
+ book_alone_strategy: "ignore",
1605
+ book_sequence_strategy: "ignore",
1606
+ osis_compaction_strategy: "bc",
1607
+ captive_end_digits_strategy: "delete"
1608
+ });
1609
+ p.include_apocrypha(true);
1610
+ });
1611
+ it("should handle book: 1Thess (rw)", function() {
1612
+ expect(p.parse("1 Abatesalonike 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Abatesalonike 1:1'");
1613
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'");
1614
+ expect(p.parse("1Te 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Te 1:1'");
1615
+ p.include_apocrypha(false);
1616
+ expect(p.parse("1 ABATESALONIKE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 ABATESALONIKE 1:1'");
1617
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'");
1618
+ expect(p.parse("1TE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1TE 1:1'");
1619
+ });
1620
+ });
1621
+
1622
+ describe("Localized book 2Tim (rw)", function() {
1623
+ var p;
1624
+ p = {};
1625
+ beforeEach(function() {
1626
+ p = new bcv_parser();
1627
+ p.set_options({
1628
+ book_alone_strategy: "ignore",
1629
+ book_sequence_strategy: "ignore",
1630
+ osis_compaction_strategy: "bc",
1631
+ captive_end_digits_strategy: "delete"
1632
+ });
1633
+ p.include_apocrypha(true);
1634
+ });
1635
+ it("should handle book: 2Tim (rw)", function() {
1636
+ expect(p.parse("2 Timoteyo 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Timoteyo 1:1'");
1637
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'");
1638
+ expect(p.parse("2Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Ti 1:1'");
1639
+ p.include_apocrypha(false);
1640
+ expect(p.parse("2 TIMOTEYO 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIMOTEYO 1:1'");
1641
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'");
1642
+ expect(p.parse("2TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TI 1:1'");
1643
+ });
1644
+ });
1645
+
1646
+ describe("Localized book 1Tim (rw)", function() {
1647
+ var p;
1648
+ p = {};
1649
+ beforeEach(function() {
1650
+ p = new bcv_parser();
1651
+ p.set_options({
1652
+ book_alone_strategy: "ignore",
1653
+ book_sequence_strategy: "ignore",
1654
+ osis_compaction_strategy: "bc",
1655
+ captive_end_digits_strategy: "delete"
1656
+ });
1657
+ p.include_apocrypha(true);
1658
+ });
1659
+ it("should handle book: 1Tim (rw)", function() {
1660
+ expect(p.parse("1 Timoteyo 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Timoteyo 1:1'");
1661
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'");
1662
+ expect(p.parse("1Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Ti 1:1'");
1663
+ p.include_apocrypha(false);
1664
+ expect(p.parse("1 TIMOTEYO 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIMOTEYO 1:1'");
1665
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'");
1666
+ expect(p.parse("1TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TI 1:1'");
1667
+ });
1668
+ });
1669
+
1670
+ describe("Localized book Titus (rw)", function() {
1671
+ var p;
1672
+ p = {};
1673
+ beforeEach(function() {
1674
+ p = new bcv_parser();
1675
+ p.set_options({
1676
+ book_alone_strategy: "ignore",
1677
+ book_sequence_strategy: "ignore",
1678
+ osis_compaction_strategy: "bc",
1679
+ captive_end_digits_strategy: "delete"
1680
+ });
1681
+ p.include_apocrypha(true);
1682
+ });
1683
+ it("should handle book: Titus (rw)", function() {
1684
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'");
1685
+ expect(p.parse("Tito 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tito 1:1'");
1686
+ expect(p.parse("Tit 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tit 1:1'");
1687
+ p.include_apocrypha(false);
1688
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'");
1689
+ expect(p.parse("TITO 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITO 1:1'");
1690
+ expect(p.parse("TIT 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TIT 1:1'");
1691
+ });
1692
+ });
1693
+
1694
+ describe("Localized book Heb (rw)", function() {
1695
+ var p;
1696
+ p = {};
1697
+ beforeEach(function() {
1698
+ p = new bcv_parser();
1699
+ p.set_options({
1700
+ book_alone_strategy: "ignore",
1701
+ book_sequence_strategy: "ignore",
1702
+ osis_compaction_strategy: "bc",
1703
+ captive_end_digits_strategy: "delete"
1704
+ });
1705
+ p.include_apocrypha(true);
1706
+ });
1707
+ it("should handle book: Heb (rw)", function() {
1708
+ expect(p.parse("Abaheburayo 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Abaheburayo 1:1'");
1709
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'");
1710
+ p.include_apocrypha(false);
1711
+ expect(p.parse("ABAHEBURAYO 1:1").osis()).toEqual("Heb.1.1", "parsing: 'ABAHEBURAYO 1:1'");
1712
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'");
1713
+ });
1714
+ });
1715
+
1716
+ describe("Localized book Jas (rw)", function() {
1717
+ var p;
1718
+ p = {};
1719
+ beforeEach(function() {
1720
+ p = new bcv_parser();
1721
+ p.set_options({
1722
+ book_alone_strategy: "ignore",
1723
+ book_sequence_strategy: "ignore",
1724
+ osis_compaction_strategy: "bc",
1725
+ captive_end_digits_strategy: "delete"
1726
+ });
1727
+ p.include_apocrypha(true);
1728
+ });
1729
+ it("should handle book: Jas (rw)", function() {
1730
+ expect(p.parse("Yakobo 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Yakobo 1:1'");
1731
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'");
1732
+ expect(p.parse("Yak 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Yak 1:1'");
1733
+ p.include_apocrypha(false);
1734
+ expect(p.parse("YAKOBO 1:1").osis()).toEqual("Jas.1.1", "parsing: 'YAKOBO 1:1'");
1735
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'");
1736
+ expect(p.parse("YAK 1:1").osis()).toEqual("Jas.1.1", "parsing: 'YAK 1:1'");
1737
+ });
1738
+ });
1739
+
1740
+ describe("Localized book 2Pet (rw)", function() {
1741
+ var p;
1742
+ p = {};
1743
+ beforeEach(function() {
1744
+ p = new bcv_parser();
1745
+ p.set_options({
1746
+ book_alone_strategy: "ignore",
1747
+ book_sequence_strategy: "ignore",
1748
+ osis_compaction_strategy: "bc",
1749
+ captive_end_digits_strategy: "delete"
1750
+ });
1751
+ p.include_apocrypha(true);
1752
+ });
1753
+ it("should handle book: 2Pet (rw)", function() {
1754
+ expect(p.parse("2 Petero 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Petero 1:1'");
1755
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'");
1756
+ expect(p.parse("2Pe 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pe 1:1'");
1757
+ p.include_apocrypha(false);
1758
+ expect(p.parse("2 PETERO 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETERO 1:1'");
1759
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'");
1760
+ expect(p.parse("2PE 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PE 1:1'");
1761
+ });
1762
+ });
1763
+
1764
+ describe("Localized book 1Pet (rw)", function() {
1765
+ var p;
1766
+ p = {};
1767
+ beforeEach(function() {
1768
+ p = new bcv_parser();
1769
+ p.set_options({
1770
+ book_alone_strategy: "ignore",
1771
+ book_sequence_strategy: "ignore",
1772
+ osis_compaction_strategy: "bc",
1773
+ captive_end_digits_strategy: "delete"
1774
+ });
1775
+ p.include_apocrypha(true);
1776
+ });
1777
+ it("should handle book: 1Pet (rw)", function() {
1778
+ expect(p.parse("1 Petero 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Petero 1:1'");
1779
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'");
1780
+ expect(p.parse("1Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pe 1:1'");
1781
+ p.include_apocrypha(false);
1782
+ expect(p.parse("1 PETERO 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETERO 1:1'");
1783
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'");
1784
+ expect(p.parse("1PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PE 1:1'");
1785
+ });
1786
+ });
1787
+
1788
+ describe("Localized book Jude (rw)", function() {
1789
+ var p;
1790
+ p = {};
1791
+ beforeEach(function() {
1792
+ p = new bcv_parser();
1793
+ p.set_options({
1794
+ book_alone_strategy: "ignore",
1795
+ book_sequence_strategy: "ignore",
1796
+ osis_compaction_strategy: "bc",
1797
+ captive_end_digits_strategy: "delete"
1798
+ });
1799
+ p.include_apocrypha(true);
1800
+ });
1801
+ it("should handle book: Jude (rw)", function() {
1802
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'");
1803
+ expect(p.parse("Yuda 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Yuda 1:1'");
1804
+ expect(p.parse("Yud 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Yud 1:1'");
1805
+ p.include_apocrypha(false);
1806
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'");
1807
+ expect(p.parse("YUDA 1:1").osis()).toEqual("Jude.1.1", "parsing: 'YUDA 1:1'");
1808
+ expect(p.parse("YUD 1:1").osis()).toEqual("Jude.1.1", "parsing: 'YUD 1:1'");
1809
+ });
1810
+ });
1811
+
1812
+ describe("Localized book Tob (rw)", function() {
1813
+ var p;
1814
+ p = {};
1815
+ beforeEach(function() {
1816
+ p = new bcv_parser();
1817
+ p.set_options({
1818
+ book_alone_strategy: "ignore",
1819
+ book_sequence_strategy: "ignore",
1820
+ osis_compaction_strategy: "bc",
1821
+ captive_end_digits_strategy: "delete"
1822
+ });
1823
+ p.include_apocrypha(true);
1824
+ });
1825
+ it("should handle book: Tob (rw)", function() {
1826
+ expect(p.parse("Tob 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tob 1:1'");
1827
+ });
1828
+ });
1829
+
1830
+ describe("Localized book Jdt (rw)", function() {
1831
+ var p;
1832
+ p = {};
1833
+ beforeEach(function() {
1834
+ p = new bcv_parser();
1835
+ p.set_options({
1836
+ book_alone_strategy: "ignore",
1837
+ book_sequence_strategy: "ignore",
1838
+ osis_compaction_strategy: "bc",
1839
+ captive_end_digits_strategy: "delete"
1840
+ });
1841
+ p.include_apocrypha(true);
1842
+ });
1843
+ it("should handle book: Jdt (rw)", function() {
1844
+ expect(p.parse("Jdt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Jdt 1:1'");
1845
+ });
1846
+ });
1847
+
1848
+ describe("Localized book Bar (rw)", function() {
1849
+ var p;
1850
+ p = {};
1851
+ beforeEach(function() {
1852
+ p = new bcv_parser();
1853
+ p.set_options({
1854
+ book_alone_strategy: "ignore",
1855
+ book_sequence_strategy: "ignore",
1856
+ osis_compaction_strategy: "bc",
1857
+ captive_end_digits_strategy: "delete"
1858
+ });
1859
+ p.include_apocrypha(true);
1860
+ });
1861
+ it("should handle book: Bar (rw)", function() {
1862
+ expect(p.parse("Bar 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Bar 1:1'");
1863
+ });
1864
+ });
1865
+
1866
+ describe("Localized book Sus (rw)", function() {
1867
+ var p;
1868
+ p = {};
1869
+ beforeEach(function() {
1870
+ p = new bcv_parser();
1871
+ p.set_options({
1872
+ book_alone_strategy: "ignore",
1873
+ book_sequence_strategy: "ignore",
1874
+ osis_compaction_strategy: "bc",
1875
+ captive_end_digits_strategy: "delete"
1876
+ });
1877
+ p.include_apocrypha(true);
1878
+ });
1879
+ it("should handle book: Sus (rw)", function() {
1880
+ expect(p.parse("Sus 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Sus 1:1'");
1881
+ });
1882
+ });
1883
+
1884
+ describe("Localized book 2Macc (rw)", function() {
1885
+ var p;
1886
+ p = {};
1887
+ beforeEach(function() {
1888
+ p = new bcv_parser();
1889
+ p.set_options({
1890
+ book_alone_strategy: "ignore",
1891
+ book_sequence_strategy: "ignore",
1892
+ osis_compaction_strategy: "bc",
1893
+ captive_end_digits_strategy: "delete"
1894
+ });
1895
+ p.include_apocrypha(true);
1896
+ });
1897
+ it("should handle book: 2Macc (rw)", function() {
1898
+ expect(p.parse("2Macc 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2Macc 1:1'");
1899
+ });
1900
+ });
1901
+
1902
+ describe("Localized book 3Macc (rw)", function() {
1903
+ var p;
1904
+ p = {};
1905
+ beforeEach(function() {
1906
+ p = new bcv_parser();
1907
+ p.set_options({
1908
+ book_alone_strategy: "ignore",
1909
+ book_sequence_strategy: "ignore",
1910
+ osis_compaction_strategy: "bc",
1911
+ captive_end_digits_strategy: "delete"
1912
+ });
1913
+ p.include_apocrypha(true);
1914
+ });
1915
+ it("should handle book: 3Macc (rw)", function() {
1916
+ expect(p.parse("3Macc 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3Macc 1:1'");
1917
+ });
1918
+ });
1919
+
1920
+ describe("Localized book 4Macc (rw)", function() {
1921
+ var p;
1922
+ p = {};
1923
+ beforeEach(function() {
1924
+ p = new bcv_parser();
1925
+ p.set_options({
1926
+ book_alone_strategy: "ignore",
1927
+ book_sequence_strategy: "ignore",
1928
+ osis_compaction_strategy: "bc",
1929
+ captive_end_digits_strategy: "delete"
1930
+ });
1931
+ p.include_apocrypha(true);
1932
+ });
1933
+ it("should handle book: 4Macc (rw)", function() {
1934
+ expect(p.parse("4Macc 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4Macc 1:1'");
1935
+ });
1936
+ });
1937
+
1938
+ describe("Localized book 1Macc (rw)", function() {
1939
+ var p;
1940
+ p = {};
1941
+ beforeEach(function() {
1942
+ p = new bcv_parser();
1943
+ p.set_options({
1944
+ book_alone_strategy: "ignore",
1945
+ book_sequence_strategy: "ignore",
1946
+ osis_compaction_strategy: "bc",
1947
+ captive_end_digits_strategy: "delete"
1948
+ });
1949
+ p.include_apocrypha(true);
1950
+ });
1951
+ it("should handle book: 1Macc (rw)", function() {
1952
+ expect(p.parse("1Macc 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1Macc 1:1'");
1953
+ });
1954
+ });
1955
+
1956
+ describe("Miscellaneous tests", function() {
1957
+ var p;
1958
+ p = {};
1959
+ beforeEach(function() {
1960
+ p = new bcv_parser();
1961
+ p.set_options({
1962
+ book_alone_strategy: "ignore",
1963
+ book_sequence_strategy: "ignore",
1964
+ osis_compaction_strategy: "bc",
1965
+ captive_end_digits_strategy: "delete"
1966
+ });
1967
+ p.include_apocrypha(true);
1968
+ });
1969
+ it("should return the expected language", function() {
1970
+ expect(p.languages).toEqual(["rw"]);
1971
+ });
1972
+ it("should handle ranges (rw)", function() {
1973
+ expect(p.parse("Titus 1:1 to 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 to 2'");
1974
+ expect(p.parse("Matt 1to2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1to2'");
1975
+ expect(p.parse("Phlm 2 TO 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 TO 3'");
1976
+ });
1977
+ it("should handle chapters (rw)", function() {
1978
+ expect(p.parse("Titus 1:1, umutwe 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, umutwe 2'");
1979
+ expect(p.parse("Matt 3:4 UMUTWE 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 UMUTWE 6'");
1980
+ expect(p.parse("Titus 1:1, chapter 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, chapter 2'");
1981
+ expect(p.parse("Matt 3:4 CHAPTER 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 CHAPTER 6'");
1982
+ });
1983
+ it("should handle verses (rw)", function() {
1984
+ expect(p.parse("Exod 1:1 umurongo 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 umurongo 3'");
1985
+ expect(p.parse("Phlm UMURONGO 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm UMURONGO 6'");
1986
+ expect(p.parse("Exod 1:1 verse 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 verse 3'");
1987
+ expect(p.parse("Phlm VERSE 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VERSE 6'");
1988
+ });
1989
+ it("should handle 'and' (rw)", function() {
1990
+ expect(p.parse("Exod 1:1 na 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 na 3'");
1991
+ expect(p.parse("Phlm 2 NA 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 NA 6'");
1992
+ });
1993
+ it("should handle titles (rw)", function() {
1994
+ expect(p.parse("Ps 3 title, 4:2, 5:title").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'Ps 3 title, 4:2, 5:title'");
1995
+ expect(p.parse("PS 3 TITLE, 4:2, 5:TITLE").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'PS 3 TITLE, 4:2, 5:TITLE'");
1996
+ });
1997
+ it("should handle 'ff' (rw)", function() {
1998
+ expect(p.parse("Rev 3ff, 4:2ff").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3ff, 4:2ff'");
1999
+ 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'");
2000
+ });
2001
+ it("should handle translations (rw)", function() {
2002
+ expect(p.parse("Lev 1 (BYSB)").osis_and_translations()).toEqual([["Lev.1", "BYSB"]]);
2003
+ expect(p.parse("lev 1 bysb").osis_and_translations()).toEqual([["Lev.1", "BYSB"]]);
2004
+ });
2005
+ return it("should handle boundaries (rw)", function() {
2006
+ p.set_options({
2007
+ book_alone_strategy: "full"
2008
+ });
2009
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
2010
+ expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
2011
+ });
2012
+ });
2013
+
2014
+ }).call(this);