bible-ref-parse 3.0.0 → 3.0.1

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