bible-ref-parse 3.0.13 → 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 (43) 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/il-bcv-parser.js +1 -1
  14. package/dist/il-bcv-parser.min.js +1 -1
  15. package/dist/lu-bcv-parser.js +7203 -0
  16. package/dist/lu-bcv-parser.min.js +1 -0
  17. package/dist/mg-bcv-parser.js +7116 -0
  18. package/dist/mg-bcv-parser.min.js +1 -0
  19. package/dist/mq-bcv-parser.js +7114 -0
  20. package/dist/mq-bcv-parser.min.js +1 -0
  21. package/dist/nd-bcv-parser.js +7116 -0
  22. package/dist/nd-bcv-parser.min.js +1 -0
  23. package/dist/ny-bcv-parser.js +7125 -0
  24. package/dist/ny-bcv-parser.min.js +1 -0
  25. package/dist/si-bcv-parser.js +7171 -0
  26. package/dist/si-bcv-parser.min.js +1 -0
  27. package/dist/test/am.spec.js +1939 -0
  28. package/dist/test/bb.spec.js +2083 -0
  29. package/dist/test/bn.spec.js +2340 -0
  30. package/dist/test/ee.spec.js +1781 -0
  31. package/dist/test/hl.spec.js +1771 -0
  32. package/dist/test/id.spec.js +1757 -0
  33. package/dist/test/il.spec.js +4 -4
  34. package/dist/test/lu.spec.js +1759 -0
  35. package/dist/test/mg.spec.js +1783 -0
  36. package/dist/test/mq.spec.js +1745 -0
  37. package/dist/test/nd.spec.js +1781 -0
  38. package/dist/test/ny.spec.js +1791 -0
  39. package/dist/test/si.spec.js +1797 -0
  40. package/dist/test/zu.spec.js +2075 -0
  41. package/dist/zu-bcv-parser.js +7236 -0
  42. package/dist/zu-bcv-parser.min.js +1 -0
  43. package/package.json +1 -1
@@ -0,0 +1,2075 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/zu-bcv-parser.js").bcv_parser;
5
+
6
+ describe("Parsing (zu)", 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 (zu)", 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 (zu)", function() {
82
+ expect(p.parse("UGenesise 1:1").osis()).toEqual("Gen.1.1", "parsing: 'UGenesise 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("UGENESISE 1:1").osis()).toEqual("Gen.1.1", "parsing: 'UGENESISE 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 (zu)", 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 (zu)", function() {
104
+ expect(p.parse("U-Eksodusi 1:1").osis()).toEqual("Exod.1.1", "parsing: 'U-Eksodusi 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("U-EKSODUSI 1:1").osis()).toEqual("Exod.1.1", "parsing: 'U-EKSODUSI 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 Bel (zu)", 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: Bel (zu)", function() {
128
+ expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'");
129
+ });
130
+ });
131
+
132
+ describe("Localized book Lev (zu)", function() {
133
+ var p;
134
+ p = {};
135
+ beforeEach(function() {
136
+ p = new bcv_parser();
137
+ p.set_options({
138
+ book_alone_strategy: "ignore",
139
+ book_sequence_strategy: "ignore",
140
+ osis_compaction_strategy: "bc",
141
+ captive_end_digits_strategy: "delete"
142
+ });
143
+ p.include_apocrypha(true);
144
+ });
145
+ it("should handle book: Lev (zu)", function() {
146
+ expect(p.parse("ULevitikusi 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ULevitikusi 1:1'");
147
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'");
148
+ p.include_apocrypha(false);
149
+ expect(p.parse("ULEVITIKUSI 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ULEVITIKUSI 1:1'");
150
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'");
151
+ });
152
+ });
153
+
154
+ describe("Localized book Num (zu)", function() {
155
+ var p;
156
+ p = {};
157
+ beforeEach(function() {
158
+ p = new bcv_parser();
159
+ p.set_options({
160
+ book_alone_strategy: "ignore",
161
+ book_sequence_strategy: "ignore",
162
+ osis_compaction_strategy: "bc",
163
+ captive_end_digits_strategy: "delete"
164
+ });
165
+ p.include_apocrypha(true);
166
+ });
167
+ it("should handle book: Num (zu)", function() {
168
+ expect(p.parse("INumeri 1:1").osis()).toEqual("Num.1.1", "parsing: 'INumeri 1:1'");
169
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'");
170
+ p.include_apocrypha(false);
171
+ expect(p.parse("INUMERI 1:1").osis()).toEqual("Num.1.1", "parsing: 'INUMERI 1:1'");
172
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'");
173
+ });
174
+ });
175
+
176
+ describe("Localized book Sir (zu)", function() {
177
+ var p;
178
+ p = {};
179
+ beforeEach(function() {
180
+ p = new bcv_parser();
181
+ p.set_options({
182
+ book_alone_strategy: "ignore",
183
+ book_sequence_strategy: "ignore",
184
+ osis_compaction_strategy: "bc",
185
+ captive_end_digits_strategy: "delete"
186
+ });
187
+ p.include_apocrypha(true);
188
+ });
189
+ it("should handle book: Sir (zu)", function() {
190
+ expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'");
191
+ });
192
+ });
193
+
194
+ describe("Localized book Wis (zu)", function() {
195
+ var p;
196
+ p = {};
197
+ beforeEach(function() {
198
+ p = new bcv_parser();
199
+ p.set_options({
200
+ book_alone_strategy: "ignore",
201
+ book_sequence_strategy: "ignore",
202
+ osis_compaction_strategy: "bc",
203
+ captive_end_digits_strategy: "delete"
204
+ });
205
+ p.include_apocrypha(true);
206
+ });
207
+ it("should handle book: Wis (zu)", function() {
208
+ expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'");
209
+ });
210
+ });
211
+
212
+ describe("Localized book Lam (zu)", function() {
213
+ var p;
214
+ p = {};
215
+ beforeEach(function() {
216
+ p = new bcv_parser();
217
+ p.set_options({
218
+ book_alone_strategy: "ignore",
219
+ book_sequence_strategy: "ignore",
220
+ osis_compaction_strategy: "bc",
221
+ captive_end_digits_strategy: "delete"
222
+ });
223
+ p.include_apocrypha(true);
224
+ });
225
+ it("should handle book: Lam (zu)", function() {
226
+ expect(p.parse("Izililo 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Izililo 1:1'");
227
+ expect(p.parse("Izi 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Izi 1:1'");
228
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'");
229
+ p.include_apocrypha(false);
230
+ expect(p.parse("IZILILO 1:1").osis()).toEqual("Lam.1.1", "parsing: 'IZILILO 1:1'");
231
+ expect(p.parse("IZI 1:1").osis()).toEqual("Lam.1.1", "parsing: 'IZI 1:1'");
232
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'");
233
+ });
234
+ });
235
+
236
+ describe("Localized book EpJer (zu)", function() {
237
+ var p;
238
+ p = {};
239
+ beforeEach(function() {
240
+ p = new bcv_parser();
241
+ p.set_options({
242
+ book_alone_strategy: "ignore",
243
+ book_sequence_strategy: "ignore",
244
+ osis_compaction_strategy: "bc",
245
+ captive_end_digits_strategy: "delete"
246
+ });
247
+ p.include_apocrypha(true);
248
+ });
249
+ it("should handle book: EpJer (zu)", function() {
250
+ expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'");
251
+ });
252
+ });
253
+
254
+ describe("Localized book Rev (zu)", function() {
255
+ var p;
256
+ p = {};
257
+ beforeEach(function() {
258
+ p = new bcv_parser();
259
+ p.set_options({
260
+ book_alone_strategy: "ignore",
261
+ book_sequence_strategy: "ignore",
262
+ osis_compaction_strategy: "bc",
263
+ captive_end_digits_strategy: "delete"
264
+ });
265
+ p.include_apocrypha(true);
266
+ });
267
+ it("should handle book: Rev (zu)", function() {
268
+ expect(p.parse("IsAmbulo 1:1").osis()).toEqual("Rev.1.1", "parsing: 'IsAmbulo 1:1'");
269
+ expect(p.parse("IsA 1:1").osis()).toEqual("Rev.1.1", "parsing: 'IsA 1:1'");
270
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'");
271
+ p.include_apocrypha(false);
272
+ expect(p.parse("ISAMBULO 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ISAMBULO 1:1'");
273
+ expect(p.parse("ISA 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ISA 1:1'");
274
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'");
275
+ });
276
+ });
277
+
278
+ describe("Localized book PrMan (zu)", function() {
279
+ var p;
280
+ p = {};
281
+ beforeEach(function() {
282
+ p = new bcv_parser();
283
+ p.set_options({
284
+ book_alone_strategy: "ignore",
285
+ book_sequence_strategy: "ignore",
286
+ osis_compaction_strategy: "bc",
287
+ captive_end_digits_strategy: "delete"
288
+ });
289
+ p.include_apocrypha(true);
290
+ });
291
+ it("should handle book: PrMan (zu)", function() {
292
+ expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'");
293
+ });
294
+ });
295
+
296
+ describe("Localized book Deut (zu)", function() {
297
+ var p;
298
+ p = {};
299
+ beforeEach(function() {
300
+ p = new bcv_parser();
301
+ p.set_options({
302
+ book_alone_strategy: "ignore",
303
+ book_sequence_strategy: "ignore",
304
+ osis_compaction_strategy: "bc",
305
+ captive_end_digits_strategy: "delete"
306
+ });
307
+ p.include_apocrypha(true);
308
+ });
309
+ it("should handle book: Deut (zu)", function() {
310
+ expect(p.parse("UDutheronomi 1:1").osis()).toEqual("Deut.1.1", "parsing: 'UDutheronomi 1:1'");
311
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'");
312
+ expect(p.parse("Dut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dut 1:1'");
313
+ p.include_apocrypha(false);
314
+ expect(p.parse("UDUTHERONOMI 1:1").osis()).toEqual("Deut.1.1", "parsing: 'UDUTHERONOMI 1:1'");
315
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'");
316
+ expect(p.parse("DUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DUT 1:1'");
317
+ });
318
+ });
319
+
320
+ describe("Localized book Josh (zu)", function() {
321
+ var p;
322
+ p = {};
323
+ beforeEach(function() {
324
+ p = new bcv_parser();
325
+ p.set_options({
326
+ book_alone_strategy: "ignore",
327
+ book_sequence_strategy: "ignore",
328
+ osis_compaction_strategy: "bc",
329
+ captive_end_digits_strategy: "delete"
330
+ });
331
+ p.include_apocrypha(true);
332
+ });
333
+ it("should handle book: Josh (zu)", function() {
334
+ expect(p.parse("UJoshuwa 1:1").osis()).toEqual("Josh.1.1", "parsing: 'UJoshuwa 1:1'");
335
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'");
336
+ expect(p.parse("Jos 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jos 1:1'");
337
+ p.include_apocrypha(false);
338
+ expect(p.parse("UJOSHUWA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'UJOSHUWA 1:1'");
339
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'");
340
+ expect(p.parse("JOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOS 1:1'");
341
+ });
342
+ });
343
+
344
+ describe("Localized book Judg (zu)", function() {
345
+ var p;
346
+ p = {};
347
+ beforeEach(function() {
348
+ p = new bcv_parser();
349
+ p.set_options({
350
+ book_alone_strategy: "ignore",
351
+ book_sequence_strategy: "ignore",
352
+ osis_compaction_strategy: "bc",
353
+ captive_end_digits_strategy: "delete"
354
+ });
355
+ p.include_apocrypha(true);
356
+ });
357
+ it("should handle book: Judg (zu)", function() {
358
+ expect(p.parse("AbaHluleli 1:1").osis()).toEqual("Judg.1.1", "parsing: 'AbaHluleli 1:1'");
359
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'");
360
+ expect(p.parse("Hlu 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Hlu 1:1'");
361
+ p.include_apocrypha(false);
362
+ expect(p.parse("ABAHLULELI 1:1").osis()).toEqual("Judg.1.1", "parsing: 'ABAHLULELI 1:1'");
363
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'");
364
+ expect(p.parse("HLU 1:1").osis()).toEqual("Judg.1.1", "parsing: 'HLU 1:1'");
365
+ });
366
+ });
367
+
368
+ describe("Localized book Ruth (zu)", function() {
369
+ var p;
370
+ p = {};
371
+ beforeEach(function() {
372
+ p = new bcv_parser();
373
+ p.set_options({
374
+ book_alone_strategy: "ignore",
375
+ book_sequence_strategy: "ignore",
376
+ osis_compaction_strategy: "bc",
377
+ captive_end_digits_strategy: "delete"
378
+ });
379
+ p.include_apocrypha(true);
380
+ });
381
+ it("should handle book: Ruth (zu)", function() {
382
+ expect(p.parse("URuthe 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'URuthe 1:1'");
383
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'");
384
+ expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rut 1:1'");
385
+ p.include_apocrypha(false);
386
+ expect(p.parse("URUTHE 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'URUTHE 1:1'");
387
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'");
388
+ expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUT 1:1'");
389
+ });
390
+ });
391
+
392
+ describe("Localized book 1Esd (zu)", function() {
393
+ var p;
394
+ p = {};
395
+ beforeEach(function() {
396
+ p = new bcv_parser();
397
+ p.set_options({
398
+ book_alone_strategy: "ignore",
399
+ book_sequence_strategy: "ignore",
400
+ osis_compaction_strategy: "bc",
401
+ captive_end_digits_strategy: "delete"
402
+ });
403
+ p.include_apocrypha(true);
404
+ });
405
+ it("should handle book: 1Esd (zu)", function() {
406
+ expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'");
407
+ });
408
+ });
409
+
410
+ describe("Localized book 2Esd (zu)", function() {
411
+ var p;
412
+ p = {};
413
+ beforeEach(function() {
414
+ p = new bcv_parser();
415
+ p.set_options({
416
+ book_alone_strategy: "ignore",
417
+ book_sequence_strategy: "ignore",
418
+ osis_compaction_strategy: "bc",
419
+ captive_end_digits_strategy: "delete"
420
+ });
421
+ p.include_apocrypha(true);
422
+ });
423
+ it("should handle book: 2Esd (zu)", function() {
424
+ expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'");
425
+ });
426
+ });
427
+
428
+ describe("Localized book Isa (zu)", function() {
429
+ var p;
430
+ p = {};
431
+ beforeEach(function() {
432
+ p = new bcv_parser();
433
+ p.set_options({
434
+ book_alone_strategy: "ignore",
435
+ book_sequence_strategy: "ignore",
436
+ osis_compaction_strategy: "bc",
437
+ captive_end_digits_strategy: "delete"
438
+ });
439
+ p.include_apocrypha(true);
440
+ });
441
+ it("should handle book: Isa (zu)", function() {
442
+ expect(p.parse("U-Isaya 1:1").osis()).toEqual("Isa.1.1", "parsing: 'U-Isaya 1:1'");
443
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'");
444
+ p.include_apocrypha(false);
445
+ expect(p.parse("U-ISAYA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'U-ISAYA 1:1'");
446
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'");
447
+ });
448
+ });
449
+
450
+ describe("Localized book 2Sam (zu)", function() {
451
+ var p;
452
+ p = {};
453
+ beforeEach(function() {
454
+ p = new bcv_parser();
455
+ p.set_options({
456
+ book_alone_strategy: "ignore",
457
+ book_sequence_strategy: "ignore",
458
+ osis_compaction_strategy: "bc",
459
+ captive_end_digits_strategy: "delete"
460
+ });
461
+ p.include_apocrypha(true);
462
+ });
463
+ it("should handle book: 2Sam (zu)", function() {
464
+ expect(p.parse("U-2. Samuweli 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'U-2. Samuweli 1:1'");
465
+ expect(p.parse("U-2 Samuweli 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'U-2 Samuweli 1:1'");
466
+ expect(p.parse("2. Sa 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Sa 1:1'");
467
+ expect(p.parse("2 Sa 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Sa 1:1'");
468
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'");
469
+ p.include_apocrypha(false);
470
+ expect(p.parse("U-2. SAMUWELI 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'U-2. SAMUWELI 1:1'");
471
+ expect(p.parse("U-2 SAMUWELI 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'U-2 SAMUWELI 1:1'");
472
+ expect(p.parse("2. SA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SA 1:1'");
473
+ expect(p.parse("2 SA 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SA 1:1'");
474
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'");
475
+ });
476
+ });
477
+
478
+ describe("Localized book 1Sam (zu)", function() {
479
+ var p;
480
+ p = {};
481
+ beforeEach(function() {
482
+ p = new bcv_parser();
483
+ p.set_options({
484
+ book_alone_strategy: "ignore",
485
+ book_sequence_strategy: "ignore",
486
+ osis_compaction_strategy: "bc",
487
+ captive_end_digits_strategy: "delete"
488
+ });
489
+ p.include_apocrypha(true);
490
+ });
491
+ it("should handle book: 1Sam (zu)", function() {
492
+ expect(p.parse("U-1. Samuweli 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'U-1. Samuweli 1:1'");
493
+ expect(p.parse("U-1 Samuweli 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'U-1 Samuweli 1:1'");
494
+ expect(p.parse("1. Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Sa 1:1'");
495
+ expect(p.parse("1 Sa 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Sa 1:1'");
496
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'");
497
+ p.include_apocrypha(false);
498
+ expect(p.parse("U-1. SAMUWELI 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'U-1. SAMUWELI 1:1'");
499
+ expect(p.parse("U-1 SAMUWELI 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'U-1 SAMUWELI 1:1'");
500
+ expect(p.parse("1. SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SA 1:1'");
501
+ expect(p.parse("1 SA 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SA 1:1'");
502
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'");
503
+ });
504
+ });
505
+
506
+ describe("Localized book 2Kgs (zu)", 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: 2Kgs (zu)", function() {
520
+ expect(p.parse("U-2. AmaKhosi 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'U-2. AmaKhosi 1:1'");
521
+ expect(p.parse("U-2 AmaKhosi 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'U-2 AmaKhosi 1:1'");
522
+ expect(p.parse("2. Am 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Am 1:1'");
523
+ expect(p.parse("2 Am 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Am 1:1'");
524
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'");
525
+ p.include_apocrypha(false);
526
+ expect(p.parse("U-2. AMAKHOSI 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'U-2. AMAKHOSI 1:1'");
527
+ expect(p.parse("U-2 AMAKHOSI 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'U-2 AMAKHOSI 1:1'");
528
+ expect(p.parse("2. AM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. AM 1:1'");
529
+ expect(p.parse("2 AM 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 AM 1:1'");
530
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'");
531
+ });
532
+ });
533
+
534
+ describe("Localized book 1Kgs (zu)", function() {
535
+ var p;
536
+ p = {};
537
+ beforeEach(function() {
538
+ p = new bcv_parser();
539
+ p.set_options({
540
+ book_alone_strategy: "ignore",
541
+ book_sequence_strategy: "ignore",
542
+ osis_compaction_strategy: "bc",
543
+ captive_end_digits_strategy: "delete"
544
+ });
545
+ p.include_apocrypha(true);
546
+ });
547
+ it("should handle book: 1Kgs (zu)", function() {
548
+ expect(p.parse("U-1. AmaKhosi 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'U-1. AmaKhosi 1:1'");
549
+ expect(p.parse("U-1 AmaKhosi 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'U-1 AmaKhosi 1:1'");
550
+ expect(p.parse("1. Am 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Am 1:1'");
551
+ expect(p.parse("1 Am 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Am 1:1'");
552
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'");
553
+ p.include_apocrypha(false);
554
+ expect(p.parse("U-1. AMAKHOSI 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'U-1. AMAKHOSI 1:1'");
555
+ expect(p.parse("U-1 AMAKHOSI 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'U-1 AMAKHOSI 1:1'");
556
+ expect(p.parse("1. AM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. AM 1:1'");
557
+ expect(p.parse("1 AM 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 AM 1:1'");
558
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'");
559
+ });
560
+ });
561
+
562
+ describe("Localized book 2Chr (zu)", function() {
563
+ var p;
564
+ p = {};
565
+ beforeEach(function() {
566
+ p = new bcv_parser();
567
+ p.set_options({
568
+ book_alone_strategy: "ignore",
569
+ book_sequence_strategy: "ignore",
570
+ osis_compaction_strategy: "bc",
571
+ captive_end_digits_strategy: "delete"
572
+ });
573
+ p.include_apocrypha(true);
574
+ });
575
+ it("should handle book: 2Chr (zu)", function() {
576
+ expect(p.parse("U-2. IziKronike 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'U-2. IziKronike 1:1'");
577
+ expect(p.parse("U-2 IziKronike 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'U-2 IziKronike 1:1'");
578
+ expect(p.parse("2. Kr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Kr 1:1'");
579
+ expect(p.parse("2 Kr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Kr 1:1'");
580
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'");
581
+ p.include_apocrypha(false);
582
+ expect(p.parse("U-2. IZIKRONIKE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'U-2. IZIKRONIKE 1:1'");
583
+ expect(p.parse("U-2 IZIKRONIKE 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'U-2 IZIKRONIKE 1:1'");
584
+ expect(p.parse("2. KR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. KR 1:1'");
585
+ expect(p.parse("2 KR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 KR 1:1'");
586
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'");
587
+ });
588
+ });
589
+
590
+ describe("Localized book 1Chr (zu)", function() {
591
+ var p;
592
+ p = {};
593
+ beforeEach(function() {
594
+ p = new bcv_parser();
595
+ p.set_options({
596
+ book_alone_strategy: "ignore",
597
+ book_sequence_strategy: "ignore",
598
+ osis_compaction_strategy: "bc",
599
+ captive_end_digits_strategy: "delete"
600
+ });
601
+ p.include_apocrypha(true);
602
+ });
603
+ it("should handle book: 1Chr (zu)", function() {
604
+ expect(p.parse("U-1. IziKronike 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'U-1. IziKronike 1:1'");
605
+ expect(p.parse("U-1 IziKronike 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'U-1 IziKronike 1:1'");
606
+ expect(p.parse("1. Kr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Kr 1:1'");
607
+ expect(p.parse("1 Kr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Kr 1:1'");
608
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'");
609
+ p.include_apocrypha(false);
610
+ expect(p.parse("U-1. IZIKRONIKE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'U-1. IZIKRONIKE 1:1'");
611
+ expect(p.parse("U-1 IZIKRONIKE 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'U-1 IZIKRONIKE 1:1'");
612
+ expect(p.parse("1. KR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. KR 1:1'");
613
+ expect(p.parse("1 KR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 KR 1:1'");
614
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'");
615
+ });
616
+ });
617
+
618
+ describe("Localized book Ezra (zu)", function() {
619
+ var p;
620
+ p = {};
621
+ beforeEach(function() {
622
+ p = new bcv_parser();
623
+ p.set_options({
624
+ book_alone_strategy: "ignore",
625
+ book_sequence_strategy: "ignore",
626
+ osis_compaction_strategy: "bc",
627
+ captive_end_digits_strategy: "delete"
628
+ });
629
+ p.include_apocrypha(true);
630
+ });
631
+ it("should handle book: Ezra (zu)", function() {
632
+ expect(p.parse("U-Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'U-Ezra 1:1'");
633
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'");
634
+ expect(p.parse("Ezr 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezr 1:1'");
635
+ p.include_apocrypha(false);
636
+ expect(p.parse("U-EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'U-EZRA 1:1'");
637
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'");
638
+ expect(p.parse("EZR 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZR 1:1'");
639
+ });
640
+ });
641
+
642
+ describe("Localized book Neh (zu)", function() {
643
+ var p;
644
+ p = {};
645
+ beforeEach(function() {
646
+ p = new bcv_parser();
647
+ p.set_options({
648
+ book_alone_strategy: "ignore",
649
+ book_sequence_strategy: "ignore",
650
+ osis_compaction_strategy: "bc",
651
+ captive_end_digits_strategy: "delete"
652
+ });
653
+ p.include_apocrypha(true);
654
+ });
655
+ it("should handle book: Neh (zu)", function() {
656
+ expect(p.parse("UNehimaya 1:1").osis()).toEqual("Neh.1.1", "parsing: 'UNehimaya 1:1'");
657
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'");
658
+ p.include_apocrypha(false);
659
+ expect(p.parse("UNEHIMAYA 1:1").osis()).toEqual("Neh.1.1", "parsing: 'UNEHIMAYA 1:1'");
660
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'");
661
+ });
662
+ });
663
+
664
+ describe("Localized book GkEsth (zu)", function() {
665
+ var p;
666
+ p = {};
667
+ beforeEach(function() {
668
+ p = new bcv_parser();
669
+ p.set_options({
670
+ book_alone_strategy: "ignore",
671
+ book_sequence_strategy: "ignore",
672
+ osis_compaction_strategy: "bc",
673
+ captive_end_digits_strategy: "delete"
674
+ });
675
+ p.include_apocrypha(true);
676
+ });
677
+ it("should handle book: GkEsth (zu)", function() {
678
+ expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'");
679
+ });
680
+ });
681
+
682
+ describe("Localized book Esth (zu)", function() {
683
+ var p;
684
+ p = {};
685
+ beforeEach(function() {
686
+ p = new bcv_parser();
687
+ p.set_options({
688
+ book_alone_strategy: "ignore",
689
+ book_sequence_strategy: "ignore",
690
+ osis_compaction_strategy: "bc",
691
+ captive_end_digits_strategy: "delete"
692
+ });
693
+ p.include_apocrypha(true);
694
+ });
695
+ it("should handle book: Esth (zu)", function() {
696
+ expect(p.parse("U-Esteri 1:1").osis()).toEqual("Esth.1.1", "parsing: 'U-Esteri 1:1'");
697
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'");
698
+ expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Est 1:1'");
699
+ p.include_apocrypha(false);
700
+ expect(p.parse("U-ESTERI 1:1").osis()).toEqual("Esth.1.1", "parsing: 'U-ESTERI 1:1'");
701
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'");
702
+ expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1", "parsing: 'EST 1:1'");
703
+ });
704
+ });
705
+
706
+ describe("Localized book Job (zu)", function() {
707
+ var p;
708
+ p = {};
709
+ beforeEach(function() {
710
+ p = new bcv_parser();
711
+ p.set_options({
712
+ book_alone_strategy: "ignore",
713
+ book_sequence_strategy: "ignore",
714
+ osis_compaction_strategy: "bc",
715
+ captive_end_digits_strategy: "delete"
716
+ });
717
+ p.include_apocrypha(true);
718
+ });
719
+ it("should handle book: Job (zu)", function() {
720
+ expect(p.parse("UJobe 1:1").osis()).toEqual("Job.1.1", "parsing: 'UJobe 1:1'");
721
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'");
722
+ p.include_apocrypha(false);
723
+ expect(p.parse("UJOBE 1:1").osis()).toEqual("Job.1.1", "parsing: 'UJOBE 1:1'");
724
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'");
725
+ });
726
+ });
727
+
728
+ describe("Localized book Ps (zu)", function() {
729
+ var p;
730
+ p = {};
731
+ beforeEach(function() {
732
+ p = new bcv_parser();
733
+ p.set_options({
734
+ book_alone_strategy: "ignore",
735
+ book_sequence_strategy: "ignore",
736
+ osis_compaction_strategy: "bc",
737
+ captive_end_digits_strategy: "delete"
738
+ });
739
+ p.include_apocrypha(true);
740
+ });
741
+ it("should handle book: Ps (zu)", function() {
742
+ expect(p.parse("AmaHubo 1:1").osis()).toEqual("Ps.1.1", "parsing: 'AmaHubo 1:1'");
743
+ expect(p.parse("Hla 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Hla 1:1'");
744
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'");
745
+ p.include_apocrypha(false);
746
+ expect(p.parse("AMAHUBO 1:1").osis()).toEqual("Ps.1.1", "parsing: 'AMAHUBO 1:1'");
747
+ expect(p.parse("HLA 1:1").osis()).toEqual("Ps.1.1", "parsing: 'HLA 1:1'");
748
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'");
749
+ });
750
+ });
751
+
752
+ describe("Localized book PrAzar (zu)", function() {
753
+ var p;
754
+ p = {};
755
+ beforeEach(function() {
756
+ p = new bcv_parser();
757
+ p.set_options({
758
+ book_alone_strategy: "ignore",
759
+ book_sequence_strategy: "ignore",
760
+ osis_compaction_strategy: "bc",
761
+ captive_end_digits_strategy: "delete"
762
+ });
763
+ p.include_apocrypha(true);
764
+ });
765
+ it("should handle book: PrAzar (zu)", function() {
766
+ expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'");
767
+ });
768
+ });
769
+
770
+ describe("Localized book Prov (zu)", function() {
771
+ var p;
772
+ p = {};
773
+ beforeEach(function() {
774
+ p = new bcv_parser();
775
+ p.set_options({
776
+ book_alone_strategy: "ignore",
777
+ book_sequence_strategy: "ignore",
778
+ osis_compaction_strategy: "bc",
779
+ captive_end_digits_strategy: "delete"
780
+ });
781
+ p.include_apocrypha(true);
782
+ });
783
+ it("should handle book: Prov (zu)", function() {
784
+ expect(p.parse("IZaga 1:1").osis()).toEqual("Prov.1.1", "parsing: 'IZaga 1:1'");
785
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'");
786
+ expect(p.parse("Iza 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Iza 1:1'");
787
+ p.include_apocrypha(false);
788
+ expect(p.parse("IZAGA 1:1").osis()).toEqual("Prov.1.1", "parsing: 'IZAGA 1:1'");
789
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'");
790
+ expect(p.parse("IZA 1:1").osis()).toEqual("Prov.1.1", "parsing: 'IZA 1:1'");
791
+ });
792
+ });
793
+
794
+ describe("Localized book Eccl (zu)", function() {
795
+ var p;
796
+ p = {};
797
+ beforeEach(function() {
798
+ p = new bcv_parser();
799
+ p.set_options({
800
+ book_alone_strategy: "ignore",
801
+ book_sequence_strategy: "ignore",
802
+ osis_compaction_strategy: "bc",
803
+ captive_end_digits_strategy: "delete"
804
+ });
805
+ p.include_apocrypha(true);
806
+ });
807
+ it("should handle book: Eccl (zu)", function() {
808
+ expect(p.parse("UMshumayeli 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'UMshumayeli 1:1'");
809
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'");
810
+ expect(p.parse("Msh 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Msh 1:1'");
811
+ p.include_apocrypha(false);
812
+ expect(p.parse("UMSHUMAYELI 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'UMSHUMAYELI 1:1'");
813
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'");
814
+ expect(p.parse("MSH 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'MSH 1:1'");
815
+ });
816
+ });
817
+
818
+ describe("Localized book SgThree (zu)", function() {
819
+ var p;
820
+ p = {};
821
+ beforeEach(function() {
822
+ p = new bcv_parser();
823
+ p.set_options({
824
+ book_alone_strategy: "ignore",
825
+ book_sequence_strategy: "ignore",
826
+ osis_compaction_strategy: "bc",
827
+ captive_end_digits_strategy: "delete"
828
+ });
829
+ p.include_apocrypha(true);
830
+ });
831
+ it("should handle book: SgThree (zu)", function() {
832
+ expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'SgThree 1:1'");
833
+ });
834
+ });
835
+
836
+ describe("Localized book Song (zu)", function() {
837
+ var p;
838
+ p = {};
839
+ beforeEach(function() {
840
+ p = new bcv_parser();
841
+ p.set_options({
842
+ book_alone_strategy: "ignore",
843
+ book_sequence_strategy: "ignore",
844
+ osis_compaction_strategy: "bc",
845
+ captive_end_digits_strategy: "delete"
846
+ });
847
+ p.include_apocrypha(true);
848
+ });
849
+ it("should handle book: Song (zu)", function() {
850
+ expect(p.parse("ISihlabelelo SeziHlabelelo 1:1").osis()).toEqual("Song.1.1", "parsing: 'ISihlabelelo SeziHlabelelo 1:1'");
851
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'");
852
+ expect(p.parse("Isi 1:1").osis()).toEqual("Song.1.1", "parsing: 'Isi 1:1'");
853
+ p.include_apocrypha(false);
854
+ expect(p.parse("ISIHLABELELO SEZIHLABELELO 1:1").osis()).toEqual("Song.1.1", "parsing: 'ISIHLABELELO SEZIHLABELELO 1:1'");
855
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'");
856
+ expect(p.parse("ISI 1:1").osis()).toEqual("Song.1.1", "parsing: 'ISI 1:1'");
857
+ });
858
+ });
859
+
860
+ describe("Localized book Jer (zu)", function() {
861
+ var p;
862
+ p = {};
863
+ beforeEach(function() {
864
+ p = new bcv_parser();
865
+ p.set_options({
866
+ book_alone_strategy: "ignore",
867
+ book_sequence_strategy: "ignore",
868
+ osis_compaction_strategy: "bc",
869
+ captive_end_digits_strategy: "delete"
870
+ });
871
+ p.include_apocrypha(true);
872
+ });
873
+ it("should handle book: Jer (zu)", function() {
874
+ expect(p.parse("UJeremiya 1:1").osis()).toEqual("Jer.1.1", "parsing: 'UJeremiya 1:1'");
875
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'");
876
+ p.include_apocrypha(false);
877
+ expect(p.parse("UJEREMIYA 1:1").osis()).toEqual("Jer.1.1", "parsing: 'UJEREMIYA 1:1'");
878
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'");
879
+ });
880
+ });
881
+
882
+ describe("Localized book Ezek (zu)", function() {
883
+ var p;
884
+ p = {};
885
+ beforeEach(function() {
886
+ p = new bcv_parser();
887
+ p.set_options({
888
+ book_alone_strategy: "ignore",
889
+ book_sequence_strategy: "ignore",
890
+ osis_compaction_strategy: "bc",
891
+ captive_end_digits_strategy: "delete"
892
+ });
893
+ p.include_apocrypha(true);
894
+ });
895
+ it("should handle book: Ezek (zu)", function() {
896
+ expect(p.parse("UHezekeli 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'UHezekeli 1:1'");
897
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'");
898
+ expect(p.parse("Hez 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Hez 1:1'");
899
+ p.include_apocrypha(false);
900
+ expect(p.parse("UHEZEKELI 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'UHEZEKELI 1:1'");
901
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'");
902
+ expect(p.parse("HEZ 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'HEZ 1:1'");
903
+ });
904
+ });
905
+
906
+ describe("Localized book Dan (zu)", function() {
907
+ var p;
908
+ p = {};
909
+ beforeEach(function() {
910
+ p = new bcv_parser();
911
+ p.set_options({
912
+ book_alone_strategy: "ignore",
913
+ book_sequence_strategy: "ignore",
914
+ osis_compaction_strategy: "bc",
915
+ captive_end_digits_strategy: "delete"
916
+ });
917
+ p.include_apocrypha(true);
918
+ });
919
+ it("should handle book: Dan (zu)", function() {
920
+ expect(p.parse("UDaniyeli 1:1").osis()).toEqual("Dan.1.1", "parsing: 'UDaniyeli 1:1'");
921
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'");
922
+ p.include_apocrypha(false);
923
+ expect(p.parse("UDANIYELI 1:1").osis()).toEqual("Dan.1.1", "parsing: 'UDANIYELI 1:1'");
924
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'");
925
+ });
926
+ });
927
+
928
+ describe("Localized book Hos (zu)", function() {
929
+ var p;
930
+ p = {};
931
+ beforeEach(function() {
932
+ p = new bcv_parser();
933
+ p.set_options({
934
+ book_alone_strategy: "ignore",
935
+ book_sequence_strategy: "ignore",
936
+ osis_compaction_strategy: "bc",
937
+ captive_end_digits_strategy: "delete"
938
+ });
939
+ p.include_apocrypha(true);
940
+ });
941
+ it("should handle book: Hos (zu)", function() {
942
+ expect(p.parse("UJoseya 1:1").osis()).toEqual("Hos.1.1", "parsing: 'UJoseya 1:1'");
943
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'");
944
+ p.include_apocrypha(false);
945
+ expect(p.parse("UJOSEYA 1:1").osis()).toEqual("Hos.1.1", "parsing: 'UJOSEYA 1:1'");
946
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'");
947
+ });
948
+ });
949
+
950
+ describe("Localized book Joel (zu)", function() {
951
+ var p;
952
+ p = {};
953
+ beforeEach(function() {
954
+ p = new bcv_parser();
955
+ p.set_options({
956
+ book_alone_strategy: "ignore",
957
+ book_sequence_strategy: "ignore",
958
+ osis_compaction_strategy: "bc",
959
+ captive_end_digits_strategy: "delete"
960
+ });
961
+ p.include_apocrypha(true);
962
+ });
963
+ it("should handle book: Joel (zu)", function() {
964
+ expect(p.parse("UJoweli 1:1").osis()).toEqual("Joel.1.1", "parsing: 'UJoweli 1:1'");
965
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'");
966
+ expect(p.parse("Jow 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Jow 1:1'");
967
+ p.include_apocrypha(false);
968
+ expect(p.parse("UJOWELI 1:1").osis()).toEqual("Joel.1.1", "parsing: 'UJOWELI 1:1'");
969
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'");
970
+ expect(p.parse("JOW 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOW 1:1'");
971
+ });
972
+ });
973
+
974
+ describe("Localized book Amos (zu)", function() {
975
+ var p;
976
+ p = {};
977
+ beforeEach(function() {
978
+ p = new bcv_parser();
979
+ p.set_options({
980
+ book_alone_strategy: "ignore",
981
+ book_sequence_strategy: "ignore",
982
+ osis_compaction_strategy: "bc",
983
+ captive_end_digits_strategy: "delete"
984
+ });
985
+ p.include_apocrypha(true);
986
+ });
987
+ it("should handle book: Amos (zu)", function() {
988
+ expect(p.parse("U-Amose 1:1").osis()).toEqual("Amos.1.1", "parsing: 'U-Amose 1:1'");
989
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'");
990
+ expect(p.parse("Amo 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amo 1:1'");
991
+ p.include_apocrypha(false);
992
+ expect(p.parse("U-AMOSE 1:1").osis()).toEqual("Amos.1.1", "parsing: 'U-AMOSE 1:1'");
993
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'");
994
+ expect(p.parse("AMO 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMO 1:1'");
995
+ });
996
+ });
997
+
998
+ describe("Localized book Obad (zu)", function() {
999
+ var p;
1000
+ p = {};
1001
+ beforeEach(function() {
1002
+ p = new bcv_parser();
1003
+ p.set_options({
1004
+ book_alone_strategy: "ignore",
1005
+ book_sequence_strategy: "ignore",
1006
+ osis_compaction_strategy: "bc",
1007
+ captive_end_digits_strategy: "delete"
1008
+ });
1009
+ p.include_apocrypha(true);
1010
+ });
1011
+ it("should handle book: Obad (zu)", function() {
1012
+ expect(p.parse("U-Obadiya 1:1").osis()).toEqual("Obad.1.1", "parsing: 'U-Obadiya 1:1'");
1013
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'");
1014
+ expect(p.parse("Oba 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Oba 1:1'");
1015
+ p.include_apocrypha(false);
1016
+ expect(p.parse("U-OBADIYA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'U-OBADIYA 1:1'");
1017
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'");
1018
+ expect(p.parse("OBA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBA 1:1'");
1019
+ });
1020
+ });
1021
+
1022
+ describe("Localized book Jonah (zu)", function() {
1023
+ var p;
1024
+ p = {};
1025
+ beforeEach(function() {
1026
+ p = new bcv_parser();
1027
+ p.set_options({
1028
+ book_alone_strategy: "ignore",
1029
+ book_sequence_strategy: "ignore",
1030
+ osis_compaction_strategy: "bc",
1031
+ captive_end_digits_strategy: "delete"
1032
+ });
1033
+ p.include_apocrypha(true);
1034
+ });
1035
+ it("should handle book: Jonah (zu)", function() {
1036
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'");
1037
+ expect(p.parse("UJona 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'UJona 1:1'");
1038
+ expect(p.parse("Jon 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jon 1:1'");
1039
+ p.include_apocrypha(false);
1040
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'");
1041
+ expect(p.parse("UJONA 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'UJONA 1:1'");
1042
+ expect(p.parse("JON 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JON 1:1'");
1043
+ });
1044
+ });
1045
+
1046
+ describe("Localized book Mic (zu)", function() {
1047
+ var p;
1048
+ p = {};
1049
+ beforeEach(function() {
1050
+ p = new bcv_parser();
1051
+ p.set_options({
1052
+ book_alone_strategy: "ignore",
1053
+ book_sequence_strategy: "ignore",
1054
+ osis_compaction_strategy: "bc",
1055
+ captive_end_digits_strategy: "delete"
1056
+ });
1057
+ p.include_apocrypha(true);
1058
+ });
1059
+ it("should handle book: Mic (zu)", function() {
1060
+ expect(p.parse("UMikha 1:1").osis()).toEqual("Mic.1.1", "parsing: 'UMikha 1:1'");
1061
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'");
1062
+ expect(p.parse("Mik 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mik 1:1'");
1063
+ p.include_apocrypha(false);
1064
+ expect(p.parse("UMIKHA 1:1").osis()).toEqual("Mic.1.1", "parsing: 'UMIKHA 1:1'");
1065
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'");
1066
+ expect(p.parse("MIK 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIK 1:1'");
1067
+ });
1068
+ });
1069
+
1070
+ describe("Localized book Nah (zu)", function() {
1071
+ var p;
1072
+ p = {};
1073
+ beforeEach(function() {
1074
+ p = new bcv_parser();
1075
+ p.set_options({
1076
+ book_alone_strategy: "ignore",
1077
+ book_sequence_strategy: "ignore",
1078
+ osis_compaction_strategy: "bc",
1079
+ captive_end_digits_strategy: "delete"
1080
+ });
1081
+ p.include_apocrypha(true);
1082
+ });
1083
+ it("should handle book: Nah (zu)", function() {
1084
+ expect(p.parse("UNahume 1:1").osis()).toEqual("Nah.1.1", "parsing: 'UNahume 1:1'");
1085
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'");
1086
+ p.include_apocrypha(false);
1087
+ expect(p.parse("UNAHUME 1:1").osis()).toEqual("Nah.1.1", "parsing: 'UNAHUME 1:1'");
1088
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'");
1089
+ });
1090
+ });
1091
+
1092
+ describe("Localized book Hab (zu)", function() {
1093
+ var p;
1094
+ p = {};
1095
+ beforeEach(function() {
1096
+ p = new bcv_parser();
1097
+ p.set_options({
1098
+ book_alone_strategy: "ignore",
1099
+ book_sequence_strategy: "ignore",
1100
+ osis_compaction_strategy: "bc",
1101
+ captive_end_digits_strategy: "delete"
1102
+ });
1103
+ p.include_apocrypha(true);
1104
+ });
1105
+ it("should handle book: Hab (zu)", function() {
1106
+ expect(p.parse("UHabakuki 1:1").osis()).toEqual("Hab.1.1", "parsing: 'UHabakuki 1:1'");
1107
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'");
1108
+ p.include_apocrypha(false);
1109
+ expect(p.parse("UHABAKUKI 1:1").osis()).toEqual("Hab.1.1", "parsing: 'UHABAKUKI 1:1'");
1110
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'");
1111
+ });
1112
+ });
1113
+
1114
+ describe("Localized book Zeph (zu)", function() {
1115
+ var p;
1116
+ p = {};
1117
+ beforeEach(function() {
1118
+ p = new bcv_parser();
1119
+ p.set_options({
1120
+ book_alone_strategy: "ignore",
1121
+ book_sequence_strategy: "ignore",
1122
+ osis_compaction_strategy: "bc",
1123
+ captive_end_digits_strategy: "delete"
1124
+ });
1125
+ p.include_apocrypha(true);
1126
+ });
1127
+ it("should handle book: Zeph (zu)", function() {
1128
+ expect(p.parse("UZefaniya 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'UZefaniya 1:1'");
1129
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'");
1130
+ expect(p.parse("Zef 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zef 1:1'");
1131
+ p.include_apocrypha(false);
1132
+ expect(p.parse("UZEFANIYA 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'UZEFANIYA 1:1'");
1133
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'");
1134
+ expect(p.parse("ZEF 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEF 1:1'");
1135
+ });
1136
+ });
1137
+
1138
+ describe("Localized book Hag (zu)", function() {
1139
+ var p;
1140
+ p = {};
1141
+ beforeEach(function() {
1142
+ p = new bcv_parser();
1143
+ p.set_options({
1144
+ book_alone_strategy: "ignore",
1145
+ book_sequence_strategy: "ignore",
1146
+ osis_compaction_strategy: "bc",
1147
+ captive_end_digits_strategy: "delete"
1148
+ });
1149
+ p.include_apocrypha(true);
1150
+ });
1151
+ it("should handle book: Hag (zu)", function() {
1152
+ expect(p.parse("UHagayi 1:1").osis()).toEqual("Hag.1.1", "parsing: 'UHagayi 1:1'");
1153
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'");
1154
+ p.include_apocrypha(false);
1155
+ expect(p.parse("UHAGAYI 1:1").osis()).toEqual("Hag.1.1", "parsing: 'UHAGAYI 1:1'");
1156
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'");
1157
+ });
1158
+ });
1159
+
1160
+ describe("Localized book Zech (zu)", function() {
1161
+ var p;
1162
+ p = {};
1163
+ beforeEach(function() {
1164
+ p = new bcv_parser();
1165
+ p.set_options({
1166
+ book_alone_strategy: "ignore",
1167
+ book_sequence_strategy: "ignore",
1168
+ osis_compaction_strategy: "bc",
1169
+ captive_end_digits_strategy: "delete"
1170
+ });
1171
+ p.include_apocrypha(true);
1172
+ });
1173
+ it("should handle book: Zech (zu)", function() {
1174
+ expect(p.parse("UZakariya 1:1").osis()).toEqual("Zech.1.1", "parsing: 'UZakariya 1:1'");
1175
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'");
1176
+ expect(p.parse("Zak 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zak 1:1'");
1177
+ p.include_apocrypha(false);
1178
+ expect(p.parse("UZAKARIYA 1:1").osis()).toEqual("Zech.1.1", "parsing: 'UZAKARIYA 1:1'");
1179
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'");
1180
+ expect(p.parse("ZAK 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZAK 1:1'");
1181
+ });
1182
+ });
1183
+
1184
+ describe("Localized book Mal (zu)", function() {
1185
+ var p;
1186
+ p = {};
1187
+ beforeEach(function() {
1188
+ p = new bcv_parser();
1189
+ p.set_options({
1190
+ book_alone_strategy: "ignore",
1191
+ book_sequence_strategy: "ignore",
1192
+ osis_compaction_strategy: "bc",
1193
+ captive_end_digits_strategy: "delete"
1194
+ });
1195
+ p.include_apocrypha(true);
1196
+ });
1197
+ it("should handle book: Mal (zu)", function() {
1198
+ expect(p.parse("UMalaki 1:1").osis()).toEqual("Mal.1.1", "parsing: 'UMalaki 1:1'");
1199
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'");
1200
+ p.include_apocrypha(false);
1201
+ expect(p.parse("UMALAKI 1:1").osis()).toEqual("Mal.1.1", "parsing: 'UMALAKI 1:1'");
1202
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'");
1203
+ });
1204
+ });
1205
+
1206
+ describe("Localized book Matt (zu)", function() {
1207
+ var p;
1208
+ p = {};
1209
+ beforeEach(function() {
1210
+ p = new bcv_parser();
1211
+ p.set_options({
1212
+ book_alone_strategy: "ignore",
1213
+ book_sequence_strategy: "ignore",
1214
+ osis_compaction_strategy: "bc",
1215
+ captive_end_digits_strategy: "delete"
1216
+ });
1217
+ p.include_apocrypha(true);
1218
+ });
1219
+ it("should handle book: Matt (zu)", function() {
1220
+ expect(p.parse("UMathewu 1:1").osis()).toEqual("Matt.1.1", "parsing: 'UMathewu 1:1'");
1221
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'");
1222
+ expect(p.parse("Mat 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Mat 1:1'");
1223
+ p.include_apocrypha(false);
1224
+ expect(p.parse("UMATHEWU 1:1").osis()).toEqual("Matt.1.1", "parsing: 'UMATHEWU 1:1'");
1225
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'");
1226
+ expect(p.parse("MAT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MAT 1:1'");
1227
+ });
1228
+ });
1229
+
1230
+ describe("Localized book Mark (zu)", function() {
1231
+ var p;
1232
+ p = {};
1233
+ beforeEach(function() {
1234
+ p = new bcv_parser();
1235
+ p.set_options({
1236
+ book_alone_strategy: "ignore",
1237
+ book_sequence_strategy: "ignore",
1238
+ osis_compaction_strategy: "bc",
1239
+ captive_end_digits_strategy: "delete"
1240
+ });
1241
+ p.include_apocrypha(true);
1242
+ });
1243
+ it("should handle book: Mark (zu)", function() {
1244
+ expect(p.parse("UMarku 1:1").osis()).toEqual("Mark.1.1", "parsing: 'UMarku 1:1'");
1245
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'");
1246
+ expect(p.parse("Mar 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mar 1:1'");
1247
+ p.include_apocrypha(false);
1248
+ expect(p.parse("UMARKU 1:1").osis()).toEqual("Mark.1.1", "parsing: 'UMARKU 1:1'");
1249
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'");
1250
+ expect(p.parse("MAR 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MAR 1:1'");
1251
+ });
1252
+ });
1253
+
1254
+ describe("Localized book Luke (zu)", function() {
1255
+ var p;
1256
+ p = {};
1257
+ beforeEach(function() {
1258
+ p = new bcv_parser();
1259
+ p.set_options({
1260
+ book_alone_strategy: "ignore",
1261
+ book_sequence_strategy: "ignore",
1262
+ osis_compaction_strategy: "bc",
1263
+ captive_end_digits_strategy: "delete"
1264
+ });
1265
+ p.include_apocrypha(true);
1266
+ });
1267
+ it("should handle book: Luke (zu)", function() {
1268
+ expect(p.parse("ULuka 1:1").osis()).toEqual("Luke.1.1", "parsing: 'ULuka 1:1'");
1269
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'");
1270
+ expect(p.parse("Luk 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luk 1:1'");
1271
+ p.include_apocrypha(false);
1272
+ expect(p.parse("ULUKA 1:1").osis()).toEqual("Luke.1.1", "parsing: 'ULUKA 1:1'");
1273
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'");
1274
+ expect(p.parse("LUK 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUK 1:1'");
1275
+ });
1276
+ });
1277
+
1278
+ describe("Localized book 1John (zu)", function() {
1279
+ var p;
1280
+ p = {};
1281
+ beforeEach(function() {
1282
+ p = new bcv_parser();
1283
+ p.set_options({
1284
+ book_alone_strategy: "ignore",
1285
+ book_sequence_strategy: "ignore",
1286
+ osis_compaction_strategy: "bc",
1287
+ captive_end_digits_strategy: "delete"
1288
+ });
1289
+ p.include_apocrypha(true);
1290
+ });
1291
+ it("should handle book: 1John (zu)", function() {
1292
+ expect(p.parse("U-1. Johane 1:1").osis()).toEqual("1John.1.1", "parsing: 'U-1. Johane 1:1'");
1293
+ expect(p.parse("U-1 Johane 1:1").osis()).toEqual("1John.1.1", "parsing: 'U-1 Johane 1:1'");
1294
+ expect(p.parse("1. Jo 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Jo 1:1'");
1295
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'");
1296
+ expect(p.parse("1 Jo 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Jo 1:1'");
1297
+ p.include_apocrypha(false);
1298
+ expect(p.parse("U-1. JOHANE 1:1").osis()).toEqual("1John.1.1", "parsing: 'U-1. JOHANE 1:1'");
1299
+ expect(p.parse("U-1 JOHANE 1:1").osis()).toEqual("1John.1.1", "parsing: 'U-1 JOHANE 1:1'");
1300
+ expect(p.parse("1. JO 1:1").osis()).toEqual("1John.1.1", "parsing: '1. JO 1:1'");
1301
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'");
1302
+ expect(p.parse("1 JO 1:1").osis()).toEqual("1John.1.1", "parsing: '1 JO 1:1'");
1303
+ });
1304
+ });
1305
+
1306
+ describe("Localized book 2John (zu)", function() {
1307
+ var p;
1308
+ p = {};
1309
+ beforeEach(function() {
1310
+ p = new bcv_parser();
1311
+ p.set_options({
1312
+ book_alone_strategy: "ignore",
1313
+ book_sequence_strategy: "ignore",
1314
+ osis_compaction_strategy: "bc",
1315
+ captive_end_digits_strategy: "delete"
1316
+ });
1317
+ p.include_apocrypha(true);
1318
+ });
1319
+ it("should handle book: 2John (zu)", function() {
1320
+ expect(p.parse("U-2. Johane 1:1").osis()).toEqual("2John.1.1", "parsing: 'U-2. Johane 1:1'");
1321
+ expect(p.parse("U-2 Johane 1:1").osis()).toEqual("2John.1.1", "parsing: 'U-2 Johane 1:1'");
1322
+ expect(p.parse("2. Joh 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Joh 1:1'");
1323
+ expect(p.parse("2 Joh 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Joh 1:1'");
1324
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'");
1325
+ p.include_apocrypha(false);
1326
+ expect(p.parse("U-2. JOHANE 1:1").osis()).toEqual("2John.1.1", "parsing: 'U-2. JOHANE 1:1'");
1327
+ expect(p.parse("U-2 JOHANE 1:1").osis()).toEqual("2John.1.1", "parsing: 'U-2 JOHANE 1:1'");
1328
+ expect(p.parse("2. JOH 1:1").osis()).toEqual("2John.1.1", "parsing: '2. JOH 1:1'");
1329
+ expect(p.parse("2 JOH 1:1").osis()).toEqual("2John.1.1", "parsing: '2 JOH 1:1'");
1330
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'");
1331
+ });
1332
+ });
1333
+
1334
+ describe("Localized book 3John (zu)", function() {
1335
+ var p;
1336
+ p = {};
1337
+ beforeEach(function() {
1338
+ p = new bcv_parser();
1339
+ p.set_options({
1340
+ book_alone_strategy: "ignore",
1341
+ book_sequence_strategy: "ignore",
1342
+ osis_compaction_strategy: "bc",
1343
+ captive_end_digits_strategy: "delete"
1344
+ });
1345
+ p.include_apocrypha(true);
1346
+ });
1347
+ it("should handle book: 3John (zu)", function() {
1348
+ expect(p.parse("U-3. Johane 1:1").osis()).toEqual("3John.1.1", "parsing: 'U-3. Johane 1:1'");
1349
+ expect(p.parse("U-3 Johane 1:1").osis()).toEqual("3John.1.1", "parsing: 'U-3 Johane 1:1'");
1350
+ expect(p.parse("3. Joh 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Joh 1:1'");
1351
+ expect(p.parse("3 Joh 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Joh 1:1'");
1352
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'");
1353
+ p.include_apocrypha(false);
1354
+ expect(p.parse("U-3. JOHANE 1:1").osis()).toEqual("3John.1.1", "parsing: 'U-3. JOHANE 1:1'");
1355
+ expect(p.parse("U-3 JOHANE 1:1").osis()).toEqual("3John.1.1", "parsing: 'U-3 JOHANE 1:1'");
1356
+ expect(p.parse("3. JOH 1:1").osis()).toEqual("3John.1.1", "parsing: '3. JOH 1:1'");
1357
+ expect(p.parse("3 JOH 1:1").osis()).toEqual("3John.1.1", "parsing: '3 JOH 1:1'");
1358
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'");
1359
+ });
1360
+ });
1361
+
1362
+ describe("Localized book John (zu)", function() {
1363
+ var p;
1364
+ p = {};
1365
+ beforeEach(function() {
1366
+ p = new bcv_parser();
1367
+ p.set_options({
1368
+ book_alone_strategy: "ignore",
1369
+ book_sequence_strategy: "ignore",
1370
+ osis_compaction_strategy: "bc",
1371
+ captive_end_digits_strategy: "delete"
1372
+ });
1373
+ p.include_apocrypha(true);
1374
+ });
1375
+ it("should handle book: John (zu)", function() {
1376
+ expect(p.parse("UJohane 1:1").osis()).toEqual("John.1.1", "parsing: 'UJohane 1:1'");
1377
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'");
1378
+ expect(p.parse("Joh 1:1").osis()).toEqual("John.1.1", "parsing: 'Joh 1:1'");
1379
+ p.include_apocrypha(false);
1380
+ expect(p.parse("UJOHANE 1:1").osis()).toEqual("John.1.1", "parsing: 'UJOHANE 1:1'");
1381
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'");
1382
+ expect(p.parse("JOH 1:1").osis()).toEqual("John.1.1", "parsing: 'JOH 1:1'");
1383
+ });
1384
+ });
1385
+
1386
+ describe("Localized book Acts (zu)", function() {
1387
+ var p;
1388
+ p = {};
1389
+ beforeEach(function() {
1390
+ p = new bcv_parser();
1391
+ p.set_options({
1392
+ book_alone_strategy: "ignore",
1393
+ book_sequence_strategy: "ignore",
1394
+ osis_compaction_strategy: "bc",
1395
+ captive_end_digits_strategy: "delete"
1396
+ });
1397
+ p.include_apocrypha(true);
1398
+ });
1399
+ it("should handle book: Acts (zu)", function() {
1400
+ expect(p.parse("Izenzo 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Izenzo 1:1'");
1401
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'");
1402
+ expect(p.parse("IzE 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IzE 1:1'");
1403
+ p.include_apocrypha(false);
1404
+ expect(p.parse("IZENZO 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IZENZO 1:1'");
1405
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'");
1406
+ expect(p.parse("IZE 1:1").osis()).toEqual("Acts.1.1", "parsing: 'IZE 1:1'");
1407
+ });
1408
+ });
1409
+
1410
+ describe("Localized book Rom (zu)", function() {
1411
+ var p;
1412
+ p = {};
1413
+ beforeEach(function() {
1414
+ p = new bcv_parser();
1415
+ p.set_options({
1416
+ book_alone_strategy: "ignore",
1417
+ book_sequence_strategy: "ignore",
1418
+ osis_compaction_strategy: "bc",
1419
+ captive_end_digits_strategy: "delete"
1420
+ });
1421
+ p.include_apocrypha(true);
1422
+ });
1423
+ it("should handle book: Rom (zu)", function() {
1424
+ expect(p.parse("URoma 1:1").osis()).toEqual("Rom.1.1", "parsing: 'URoma 1:1'");
1425
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'");
1426
+ p.include_apocrypha(false);
1427
+ expect(p.parse("UROMA 1:1").osis()).toEqual("Rom.1.1", "parsing: 'UROMA 1:1'");
1428
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'");
1429
+ });
1430
+ });
1431
+
1432
+ describe("Localized book 2Cor (zu)", 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 (zu)", function() {
1446
+ expect(p.parse("U-2. Korinte 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'U-2. Korinte 1:1'");
1447
+ expect(p.parse("U-2 Korinte 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'U-2 Korinte 1:1'");
1448
+ expect(p.parse("2. Ko 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Ko 1:1'");
1449
+ expect(p.parse("2 Ko 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Ko 1:1'");
1450
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'");
1451
+ p.include_apocrypha(false);
1452
+ expect(p.parse("U-2. KORINTE 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'U-2. KORINTE 1:1'");
1453
+ expect(p.parse("U-2 KORINTE 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'U-2 KORINTE 1:1'");
1454
+ expect(p.parse("2. KO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KO 1:1'");
1455
+ expect(p.parse("2 KO 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KO 1:1'");
1456
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'");
1457
+ });
1458
+ });
1459
+
1460
+ describe("Localized book 1Cor (zu)", function() {
1461
+ var p;
1462
+ p = {};
1463
+ beforeEach(function() {
1464
+ p = new bcv_parser();
1465
+ p.set_options({
1466
+ book_alone_strategy: "ignore",
1467
+ book_sequence_strategy: "ignore",
1468
+ osis_compaction_strategy: "bc",
1469
+ captive_end_digits_strategy: "delete"
1470
+ });
1471
+ p.include_apocrypha(true);
1472
+ });
1473
+ it("should handle book: 1Cor (zu)", function() {
1474
+ expect(p.parse("U-1. Korinte 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'U-1. Korinte 1:1'");
1475
+ expect(p.parse("U-1 Korinte 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'U-1 Korinte 1:1'");
1476
+ expect(p.parse("1. Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Ko 1:1'");
1477
+ expect(p.parse("1 Ko 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Ko 1:1'");
1478
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'");
1479
+ p.include_apocrypha(false);
1480
+ expect(p.parse("U-1. KORINTE 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'U-1. KORINTE 1:1'");
1481
+ expect(p.parse("U-1 KORINTE 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'U-1 KORINTE 1:1'");
1482
+ expect(p.parse("1. KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KO 1:1'");
1483
+ expect(p.parse("1 KO 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KO 1:1'");
1484
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'");
1485
+ });
1486
+ });
1487
+
1488
+ describe("Localized book Gal (zu)", function() {
1489
+ var p;
1490
+ p = {};
1491
+ beforeEach(function() {
1492
+ p = new bcv_parser();
1493
+ p.set_options({
1494
+ book_alone_strategy: "ignore",
1495
+ book_sequence_strategy: "ignore",
1496
+ osis_compaction_strategy: "bc",
1497
+ captive_end_digits_strategy: "delete"
1498
+ });
1499
+ p.include_apocrypha(true);
1500
+ });
1501
+ it("should handle book: Gal (zu)", function() {
1502
+ expect(p.parse("UGalathiya 1:1").osis()).toEqual("Gal.1.1", "parsing: 'UGalathiya 1:1'");
1503
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'");
1504
+ p.include_apocrypha(false);
1505
+ expect(p.parse("UGALATHIYA 1:1").osis()).toEqual("Gal.1.1", "parsing: 'UGALATHIYA 1:1'");
1506
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'");
1507
+ });
1508
+ });
1509
+
1510
+ describe("Localized book Eph (zu)", function() {
1511
+ var p;
1512
+ p = {};
1513
+ beforeEach(function() {
1514
+ p = new bcv_parser();
1515
+ p.set_options({
1516
+ book_alone_strategy: "ignore",
1517
+ book_sequence_strategy: "ignore",
1518
+ osis_compaction_strategy: "bc",
1519
+ captive_end_digits_strategy: "delete"
1520
+ });
1521
+ p.include_apocrypha(true);
1522
+ });
1523
+ it("should handle book: Eph (zu)", function() {
1524
+ expect(p.parse("U-Efesu 1:1").osis()).toEqual("Eph.1.1", "parsing: 'U-Efesu 1:1'");
1525
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'");
1526
+ expect(p.parse("Ef 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Ef 1:1'");
1527
+ p.include_apocrypha(false);
1528
+ expect(p.parse("U-EFESU 1:1").osis()).toEqual("Eph.1.1", "parsing: 'U-EFESU 1:1'");
1529
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'");
1530
+ expect(p.parse("EF 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EF 1:1'");
1531
+ });
1532
+ });
1533
+
1534
+ describe("Localized book Phil (zu)", function() {
1535
+ var p;
1536
+ p = {};
1537
+ beforeEach(function() {
1538
+ p = new bcv_parser();
1539
+ p.set_options({
1540
+ book_alone_strategy: "ignore",
1541
+ book_sequence_strategy: "ignore",
1542
+ osis_compaction_strategy: "bc",
1543
+ captive_end_digits_strategy: "delete"
1544
+ });
1545
+ p.include_apocrypha(true);
1546
+ });
1547
+ it("should handle book: Phil (zu)", function() {
1548
+ expect(p.parse("UFilipi 1:1").osis()).toEqual("Phil.1.1", "parsing: 'UFilipi 1:1'");
1549
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'");
1550
+ expect(p.parse("Fil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Fil 1:1'");
1551
+ p.include_apocrypha(false);
1552
+ expect(p.parse("UFILIPI 1:1").osis()).toEqual("Phil.1.1", "parsing: 'UFILIPI 1:1'");
1553
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'");
1554
+ expect(p.parse("FIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FIL 1:1'");
1555
+ });
1556
+ });
1557
+
1558
+ describe("Localized book Col (zu)", function() {
1559
+ var p;
1560
+ p = {};
1561
+ beforeEach(function() {
1562
+ p = new bcv_parser();
1563
+ p.set_options({
1564
+ book_alone_strategy: "ignore",
1565
+ book_sequence_strategy: "ignore",
1566
+ osis_compaction_strategy: "bc",
1567
+ captive_end_digits_strategy: "delete"
1568
+ });
1569
+ p.include_apocrypha(true);
1570
+ });
1571
+ it("should handle book: Col (zu)", function() {
1572
+ expect(p.parse("UKolose 1:1").osis()).toEqual("Col.1.1", "parsing: 'UKolose 1:1'");
1573
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'");
1574
+ expect(p.parse("Kol 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kol 1:1'");
1575
+ p.include_apocrypha(false);
1576
+ expect(p.parse("UKOLOSE 1:1").osis()).toEqual("Col.1.1", "parsing: 'UKOLOSE 1:1'");
1577
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'");
1578
+ expect(p.parse("KOL 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOL 1:1'");
1579
+ });
1580
+ });
1581
+
1582
+ describe("Localized book 2Thess (zu)", function() {
1583
+ var p;
1584
+ p = {};
1585
+ beforeEach(function() {
1586
+ p = new bcv_parser();
1587
+ p.set_options({
1588
+ book_alone_strategy: "ignore",
1589
+ book_sequence_strategy: "ignore",
1590
+ osis_compaction_strategy: "bc",
1591
+ captive_end_digits_strategy: "delete"
1592
+ });
1593
+ p.include_apocrypha(true);
1594
+ });
1595
+ it("should handle book: 2Thess (zu)", function() {
1596
+ expect(p.parse("U-2. Thesalonika 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'U-2. Thesalonika 1:1'");
1597
+ expect(p.parse("U-2 Thesalonika 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'U-2 Thesalonika 1:1'");
1598
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'");
1599
+ expect(p.parse("2. Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Th 1:1'");
1600
+ expect(p.parse("2 Th 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Th 1:1'");
1601
+ p.include_apocrypha(false);
1602
+ expect(p.parse("U-2. THESALONIKA 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'U-2. THESALONIKA 1:1'");
1603
+ expect(p.parse("U-2 THESALONIKA 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'U-2 THESALONIKA 1:1'");
1604
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'");
1605
+ expect(p.parse("2. TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TH 1:1'");
1606
+ expect(p.parse("2 TH 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TH 1:1'");
1607
+ });
1608
+ });
1609
+
1610
+ describe("Localized book 1Thess (zu)", function() {
1611
+ var p;
1612
+ p = {};
1613
+ beforeEach(function() {
1614
+ p = new bcv_parser();
1615
+ p.set_options({
1616
+ book_alone_strategy: "ignore",
1617
+ book_sequence_strategy: "ignore",
1618
+ osis_compaction_strategy: "bc",
1619
+ captive_end_digits_strategy: "delete"
1620
+ });
1621
+ p.include_apocrypha(true);
1622
+ });
1623
+ it("should handle book: 1Thess (zu)", function() {
1624
+ expect(p.parse("U-1. Thesalonika 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'U-1. Thesalonika 1:1'");
1625
+ expect(p.parse("U-1 Thesalonika 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'U-1 Thesalonika 1:1'");
1626
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'");
1627
+ expect(p.parse("1. Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Th 1:1'");
1628
+ expect(p.parse("1 Th 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Th 1:1'");
1629
+ p.include_apocrypha(false);
1630
+ expect(p.parse("U-1. THESALONIKA 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'U-1. THESALONIKA 1:1'");
1631
+ expect(p.parse("U-1 THESALONIKA 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'U-1 THESALONIKA 1:1'");
1632
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'");
1633
+ expect(p.parse("1. TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TH 1:1'");
1634
+ expect(p.parse("1 TH 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TH 1:1'");
1635
+ });
1636
+ });
1637
+
1638
+ describe("Localized book 2Tim (zu)", 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: 2Tim (zu)", function() {
1652
+ expect(p.parse("U-2. Thimothewu 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'U-2. Thimothewu 1:1'");
1653
+ expect(p.parse("U-2 Thimothewu 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'U-2 Thimothewu 1:1'");
1654
+ expect(p.parse("2. Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Ti 1:1'");
1655
+ expect(p.parse("2 Ti 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Ti 1:1'");
1656
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'");
1657
+ p.include_apocrypha(false);
1658
+ expect(p.parse("U-2. THIMOTHEWU 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'U-2. THIMOTHEWU 1:1'");
1659
+ expect(p.parse("U-2 THIMOTHEWU 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'U-2 THIMOTHEWU 1:1'");
1660
+ expect(p.parse("2. TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TI 1:1'");
1661
+ expect(p.parse("2 TI 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TI 1:1'");
1662
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'");
1663
+ });
1664
+ });
1665
+
1666
+ describe("Localized book 1Tim (zu)", 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: 1Tim (zu)", function() {
1680
+ expect(p.parse("U-1. Thimothewu 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'U-1. Thimothewu 1:1'");
1681
+ expect(p.parse("U-1 Thimothewu 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'U-1 Thimothewu 1:1'");
1682
+ expect(p.parse("1. Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Ti 1:1'");
1683
+ expect(p.parse("1 Ti 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Ti 1:1'");
1684
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'");
1685
+ p.include_apocrypha(false);
1686
+ expect(p.parse("U-1. THIMOTHEWU 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'U-1. THIMOTHEWU 1:1'");
1687
+ expect(p.parse("U-1 THIMOTHEWU 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'U-1 THIMOTHEWU 1:1'");
1688
+ expect(p.parse("1. TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TI 1:1'");
1689
+ expect(p.parse("1 TI 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TI 1:1'");
1690
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'");
1691
+ });
1692
+ });
1693
+
1694
+ describe("Localized book Titus (zu)", 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: Titus (zu)", function() {
1708
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'");
1709
+ expect(p.parse("UTito 1:1").osis()).toEqual("Titus.1.1", "parsing: 'UTito 1:1'");
1710
+ expect(p.parse("Tit 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tit 1:1'");
1711
+ p.include_apocrypha(false);
1712
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'");
1713
+ expect(p.parse("UTITO 1:1").osis()).toEqual("Titus.1.1", "parsing: 'UTITO 1:1'");
1714
+ expect(p.parse("TIT 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TIT 1:1'");
1715
+ });
1716
+ });
1717
+
1718
+ describe("Localized book Phlm (zu)", function() {
1719
+ var p;
1720
+ p = {};
1721
+ beforeEach(function() {
1722
+ p = new bcv_parser();
1723
+ p.set_options({
1724
+ book_alone_strategy: "ignore",
1725
+ book_sequence_strategy: "ignore",
1726
+ osis_compaction_strategy: "bc",
1727
+ captive_end_digits_strategy: "delete"
1728
+ });
1729
+ p.include_apocrypha(true);
1730
+ });
1731
+ it("should handle book: Phlm (zu)", function() {
1732
+ expect(p.parse("UFilemoni 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'UFilemoni 1:1'");
1733
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'");
1734
+ expect(p.parse("Fil 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Fil 1:1'");
1735
+ p.include_apocrypha(false);
1736
+ expect(p.parse("UFILEMONI 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'UFILEMONI 1:1'");
1737
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'");
1738
+ expect(p.parse("FIL 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FIL 1:1'");
1739
+ });
1740
+ });
1741
+
1742
+ describe("Localized book Heb (zu)", function() {
1743
+ var p;
1744
+ p = {};
1745
+ beforeEach(function() {
1746
+ p = new bcv_parser();
1747
+ p.set_options({
1748
+ book_alone_strategy: "ignore",
1749
+ book_sequence_strategy: "ignore",
1750
+ osis_compaction_strategy: "bc",
1751
+ captive_end_digits_strategy: "delete"
1752
+ });
1753
+ p.include_apocrypha(true);
1754
+ });
1755
+ it("should handle book: Heb (zu)", function() {
1756
+ expect(p.parse("KumaHebheru 1:1").osis()).toEqual("Heb.1.1", "parsing: 'KumaHebheru 1:1'");
1757
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'");
1758
+ p.include_apocrypha(false);
1759
+ expect(p.parse("KUMAHEBHERU 1:1").osis()).toEqual("Heb.1.1", "parsing: 'KUMAHEBHERU 1:1'");
1760
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'");
1761
+ });
1762
+ });
1763
+
1764
+ describe("Localized book Jas (zu)", 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: Jas (zu)", function() {
1778
+ expect(p.parse("UJakobe 1:1").osis()).toEqual("Jas.1.1", "parsing: 'UJakobe 1:1'");
1779
+ expect(p.parse("Jak 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jak 1:1'");
1780
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'");
1781
+ p.include_apocrypha(false);
1782
+ expect(p.parse("UJAKOBE 1:1").osis()).toEqual("Jas.1.1", "parsing: 'UJAKOBE 1:1'");
1783
+ expect(p.parse("JAK 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAK 1:1'");
1784
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'");
1785
+ });
1786
+ });
1787
+
1788
+ describe("Localized book 2Pet (zu)", 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: 2Pet (zu)", function() {
1802
+ expect(p.parse("U-2. Petru 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'U-2. Petru 1:1'");
1803
+ expect(p.parse("U-2 Petru 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'U-2 Petru 1:1'");
1804
+ expect(p.parse("2. Pe 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Pe 1:1'");
1805
+ expect(p.parse("2 Pe 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Pe 1:1'");
1806
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'");
1807
+ p.include_apocrypha(false);
1808
+ expect(p.parse("U-2. PETRU 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'U-2. PETRU 1:1'");
1809
+ expect(p.parse("U-2 PETRU 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'U-2 PETRU 1:1'");
1810
+ expect(p.parse("2. PE 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PE 1:1'");
1811
+ expect(p.parse("2 PE 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PE 1:1'");
1812
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'");
1813
+ });
1814
+ });
1815
+
1816
+ describe("Localized book 1Pet (zu)", function() {
1817
+ var p;
1818
+ p = {};
1819
+ beforeEach(function() {
1820
+ p = new bcv_parser();
1821
+ p.set_options({
1822
+ book_alone_strategy: "ignore",
1823
+ book_sequence_strategy: "ignore",
1824
+ osis_compaction_strategy: "bc",
1825
+ captive_end_digits_strategy: "delete"
1826
+ });
1827
+ p.include_apocrypha(true);
1828
+ });
1829
+ it("should handle book: 1Pet (zu)", function() {
1830
+ expect(p.parse("U-1. Petru 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'U-1. Petru 1:1'");
1831
+ expect(p.parse("U-1 Petru 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'U-1 Petru 1:1'");
1832
+ expect(p.parse("1. Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Pe 1:1'");
1833
+ expect(p.parse("1 Pe 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Pe 1:1'");
1834
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'");
1835
+ p.include_apocrypha(false);
1836
+ expect(p.parse("U-1. PETRU 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'U-1. PETRU 1:1'");
1837
+ expect(p.parse("U-1 PETRU 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'U-1 PETRU 1:1'");
1838
+ expect(p.parse("1. PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PE 1:1'");
1839
+ expect(p.parse("1 PE 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PE 1:1'");
1840
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'");
1841
+ });
1842
+ });
1843
+
1844
+ describe("Localized book Jude (zu)", function() {
1845
+ var p;
1846
+ p = {};
1847
+ beforeEach(function() {
1848
+ p = new bcv_parser();
1849
+ p.set_options({
1850
+ book_alone_strategy: "ignore",
1851
+ book_sequence_strategy: "ignore",
1852
+ osis_compaction_strategy: "bc",
1853
+ captive_end_digits_strategy: "delete"
1854
+ });
1855
+ p.include_apocrypha(true);
1856
+ });
1857
+ it("should handle book: Jude (zu)", function() {
1858
+ expect(p.parse("UJuda 1:1").osis()).toEqual("Jude.1.1", "parsing: 'UJuda 1:1'");
1859
+ expect(p.parse("Juda 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Juda 1:1'");
1860
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'");
1861
+ p.include_apocrypha(false);
1862
+ expect(p.parse("UJUDA 1:1").osis()).toEqual("Jude.1.1", "parsing: 'UJUDA 1:1'");
1863
+ expect(p.parse("JUDA 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDA 1:1'");
1864
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'");
1865
+ });
1866
+ });
1867
+
1868
+ describe("Localized book Tob (zu)", function() {
1869
+ var p;
1870
+ p = {};
1871
+ beforeEach(function() {
1872
+ p = new bcv_parser();
1873
+ p.set_options({
1874
+ book_alone_strategy: "ignore",
1875
+ book_sequence_strategy: "ignore",
1876
+ osis_compaction_strategy: "bc",
1877
+ captive_end_digits_strategy: "delete"
1878
+ });
1879
+ p.include_apocrypha(true);
1880
+ });
1881
+ it("should handle book: Tob (zu)", function() {
1882
+ expect(p.parse("Tob 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tob 1:1'");
1883
+ });
1884
+ });
1885
+
1886
+ describe("Localized book Jdt (zu)", function() {
1887
+ var p;
1888
+ p = {};
1889
+ beforeEach(function() {
1890
+ p = new bcv_parser();
1891
+ p.set_options({
1892
+ book_alone_strategy: "ignore",
1893
+ book_sequence_strategy: "ignore",
1894
+ osis_compaction_strategy: "bc",
1895
+ captive_end_digits_strategy: "delete"
1896
+ });
1897
+ p.include_apocrypha(true);
1898
+ });
1899
+ it("should handle book: Jdt (zu)", function() {
1900
+ expect(p.parse("Jdt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Jdt 1:1'");
1901
+ });
1902
+ });
1903
+
1904
+ describe("Localized book Bar (zu)", function() {
1905
+ var p;
1906
+ p = {};
1907
+ beforeEach(function() {
1908
+ p = new bcv_parser();
1909
+ p.set_options({
1910
+ book_alone_strategy: "ignore",
1911
+ book_sequence_strategy: "ignore",
1912
+ osis_compaction_strategy: "bc",
1913
+ captive_end_digits_strategy: "delete"
1914
+ });
1915
+ p.include_apocrypha(true);
1916
+ });
1917
+ it("should handle book: Bar (zu)", function() {
1918
+ expect(p.parse("Bar 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Bar 1:1'");
1919
+ });
1920
+ });
1921
+
1922
+ describe("Localized book Sus (zu)", function() {
1923
+ var p;
1924
+ p = {};
1925
+ beforeEach(function() {
1926
+ p = new bcv_parser();
1927
+ p.set_options({
1928
+ book_alone_strategy: "ignore",
1929
+ book_sequence_strategy: "ignore",
1930
+ osis_compaction_strategy: "bc",
1931
+ captive_end_digits_strategy: "delete"
1932
+ });
1933
+ p.include_apocrypha(true);
1934
+ });
1935
+ it("should handle book: Sus (zu)", function() {
1936
+ expect(p.parse("Sus 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Sus 1:1'");
1937
+ });
1938
+ });
1939
+
1940
+ describe("Localized book 2Macc (zu)", function() {
1941
+ var p;
1942
+ p = {};
1943
+ beforeEach(function() {
1944
+ p = new bcv_parser();
1945
+ p.set_options({
1946
+ book_alone_strategy: "ignore",
1947
+ book_sequence_strategy: "ignore",
1948
+ osis_compaction_strategy: "bc",
1949
+ captive_end_digits_strategy: "delete"
1950
+ });
1951
+ p.include_apocrypha(true);
1952
+ });
1953
+ it("should handle book: 2Macc (zu)", function() {
1954
+ expect(p.parse("2Macc 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2Macc 1:1'");
1955
+ });
1956
+ });
1957
+
1958
+ describe("Localized book 3Macc (zu)", function() {
1959
+ var p;
1960
+ p = {};
1961
+ beforeEach(function() {
1962
+ p = new bcv_parser();
1963
+ p.set_options({
1964
+ book_alone_strategy: "ignore",
1965
+ book_sequence_strategy: "ignore",
1966
+ osis_compaction_strategy: "bc",
1967
+ captive_end_digits_strategy: "delete"
1968
+ });
1969
+ p.include_apocrypha(true);
1970
+ });
1971
+ it("should handle book: 3Macc (zu)", function() {
1972
+ expect(p.parse("3Macc 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3Macc 1:1'");
1973
+ });
1974
+ });
1975
+
1976
+ describe("Localized book 4Macc (zu)", function() {
1977
+ var p;
1978
+ p = {};
1979
+ beforeEach(function() {
1980
+ p = new bcv_parser();
1981
+ p.set_options({
1982
+ book_alone_strategy: "ignore",
1983
+ book_sequence_strategy: "ignore",
1984
+ osis_compaction_strategy: "bc",
1985
+ captive_end_digits_strategy: "delete"
1986
+ });
1987
+ p.include_apocrypha(true);
1988
+ });
1989
+ it("should handle book: 4Macc (zu)", function() {
1990
+ expect(p.parse("4Macc 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4Macc 1:1'");
1991
+ });
1992
+ });
1993
+
1994
+ describe("Localized book 1Macc (zu)", function() {
1995
+ var p;
1996
+ p = {};
1997
+ beforeEach(function() {
1998
+ p = new bcv_parser();
1999
+ p.set_options({
2000
+ book_alone_strategy: "ignore",
2001
+ book_sequence_strategy: "ignore",
2002
+ osis_compaction_strategy: "bc",
2003
+ captive_end_digits_strategy: "delete"
2004
+ });
2005
+ p.include_apocrypha(true);
2006
+ });
2007
+ it("should handle book: 1Macc (zu)", function() {
2008
+ expect(p.parse("1Macc 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1Macc 1:1'");
2009
+ });
2010
+ });
2011
+
2012
+ describe("Miscellaneous tests", function() {
2013
+ var p;
2014
+ p = {};
2015
+ beforeEach(function() {
2016
+ p = new bcv_parser();
2017
+ p.set_options({
2018
+ book_alone_strategy: "ignore",
2019
+ book_sequence_strategy: "ignore",
2020
+ osis_compaction_strategy: "bc",
2021
+ captive_end_digits_strategy: "delete"
2022
+ });
2023
+ p.include_apocrypha(true);
2024
+ });
2025
+ it("should return the expected language", function() {
2026
+ expect(p.languages).toEqual(["zu"]);
2027
+ });
2028
+ it("should handle ranges (zu)", function() {
2029
+ expect(p.parse("Titus 1:1 ku 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 ku 2'");
2030
+ expect(p.parse("Matt 1ku2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1ku2'");
2031
+ expect(p.parse("Phlm 2 KU 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 KU 3'");
2032
+ });
2033
+ it("should handle chapters (zu)", function() {
2034
+ expect(p.parse("Titus 1:1, isahluko 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, isahluko 2'");
2035
+ expect(p.parse("Matt 3:4 ISAHLUKO 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 ISAHLUKO 6'");
2036
+ });
2037
+ it("should handle verses (zu)", function() {
2038
+ expect(p.parse("Exod 1:1 Vesi 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 Vesi 3'");
2039
+ expect(p.parse("Phlm VESI 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VESI 6'");
2040
+ });
2041
+ it("should handle 'and' (zu)", function() {
2042
+ expect(p.parse("Exod 1:1 futhi 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 futhi 3'");
2043
+ expect(p.parse("Phlm 2 FUTHI 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 FUTHI 6'");
2044
+ expect(p.parse("Exod 1:1 kanye 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 kanye 3'");
2045
+ expect(p.parse("Phlm 2 KANYE 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 KANYE 6'");
2046
+ });
2047
+ it("should handle titles (zu)", function() {
2048
+ expect(p.parse("Ps 3 isihloko, 4:2, 5:isihloko").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'Ps 3 isihloko, 4:2, 5:isihloko'");
2049
+ expect(p.parse("PS 3 ISIHLOKO, 4:2, 5:ISIHLOKO").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'PS 3 ISIHLOKO, 4:2, 5:ISIHLOKO'");
2050
+ });
2051
+ it("should handle 'ff' (zu)", function() {
2052
+ expect(p.parse("Rev 3-, 4:2-").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3-, 4:2-'");
2053
+ expect(p.parse("REV 3 -, 4:2 -").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 -, 4:2 -'");
2054
+ });
2055
+ it("should handle translations (zu)", function() {
2056
+ expect(p.parse("Lev 1 (ie59)").osis_and_translations()).toEqual([["Lev.1", "ie59"]]);
2057
+ expect(p.parse("lev 1 ie59").osis_and_translations()).toEqual([["Lev.1", "ie59"]]);
2058
+ });
2059
+ it("should handle book ranges (zu)", function() {
2060
+ p.set_options({
2061
+ book_alone_strategy: "full",
2062
+ book_range_strategy: "include"
2063
+ });
2064
+ expect(p.parse("1 ku 3 Jo").osis()).toEqual("1John.1-3John.1", "parsing: '1 ku 3 Jo'");
2065
+ });
2066
+ return it("should handle boundaries (zu)", function() {
2067
+ p.set_options({
2068
+ book_alone_strategy: "full"
2069
+ });
2070
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
2071
+ expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
2072
+ });
2073
+ });
2074
+
2075
+ }).call(this);