bible-ref-parse 3.0.0 → 3.0.2

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 (99) hide show
  1. package/Readme.md +6 -6
  2. package/dist/ar-bcv-parser.js +7480 -0
  3. package/dist/bg-bcv-parser.js +7568 -0
  4. package/dist/ceb-bcv-parser.js +7498 -0
  5. package/dist/cs-bcv-parser.js +7613 -0
  6. package/dist/da-bcv-parser.js +7560 -0
  7. package/dist/de-bcv-parser.js +8406 -0
  8. package/dist/el-bcv-parser.js +7929 -0
  9. package/dist/en-bcv-parser.js +8404 -0
  10. package/dist/es-bcv-parser.js +8164 -0
  11. package/dist/fa-bcv-parser.js +7603 -0
  12. package/dist/fi-bcv-parser.js +7630 -0
  13. package/dist/fr-bcv-parser.js +7867 -0
  14. package/dist/he-bcv-parser.js +7504 -0
  15. package/dist/hi-bcv-parser.js +7480 -0
  16. package/dist/hr-bcv-parser.js +7500 -0
  17. package/dist/ht-bcv-parser.js +7526 -0
  18. package/dist/hu-bcv-parser.js +7785 -0
  19. package/dist/is-bcv-parser.js +7553 -0
  20. package/dist/it-bcv-parser.js +7875 -0
  21. package/dist/ja-bcv-parser.js +7528 -0
  22. package/dist/jv-bcv-parser.js +7489 -0
  23. package/dist/ko-bcv-parser.js +7528 -0
  24. package/dist/la-bcv-parser.js +7736 -0
  25. package/dist/mk-bcv-parser.js +7507 -0
  26. package/dist/mr-bcv-parser.js +7480 -0
  27. package/dist/ne-bcv-parser.js +7478 -0
  28. package/dist/nl-bcv-parser.js +7750 -0
  29. package/dist/no-bcv-parser.js +7633 -0
  30. package/dist/or-bcv-parser.js +7480 -0
  31. package/dist/pa-bcv-parser.js +7478 -0
  32. package/dist/pl-bcv-parser.js +7910 -0
  33. package/dist/pt-bcv-parser.js +8001 -0
  34. package/dist/ro-bcv-parser.js +7772 -0
  35. package/dist/ru-bcv-parser.js +7602 -0
  36. package/dist/sk-bcv-parser.js +7713 -0
  37. package/dist/so-bcv-parser.js +7490 -0
  38. package/dist/sq-bcv-parser.js +7478 -0
  39. package/dist/sr-bcv-parser.js +7510 -0
  40. package/dist/sr-bcv-parser.min.js +1 -0
  41. package/dist/sv-bcv-parser.js +7695 -0
  42. package/dist/sw-bcv-parser.js +7540 -0
  43. package/dist/ta-bcv-parser.js +7514 -0
  44. package/dist/test/ar.spec.js +2634 -0
  45. package/dist/test/bg.spec.js +3849 -0
  46. package/dist/test/ceb.spec.js +2533 -0
  47. package/dist/test/cs.spec.js +6593 -0
  48. package/dist/test/da.spec.js +2976 -0
  49. package/dist/test/de.spec.js +3114 -0
  50. package/dist/test/el.spec.js +4287 -0
  51. package/dist/test/en.spec.js +13196 -0
  52. package/dist/test/es.spec.js +5634 -0
  53. package/dist/test/fa.spec.js +16707 -0
  54. package/dist/test/fi.spec.js +3001 -0
  55. package/dist/test/fr.spec.js +3712 -0
  56. package/dist/test/he.spec.js +2411 -0
  57. package/dist/test/hi.spec.js +2754 -0
  58. package/dist/test/hr.spec.js +2851 -0
  59. package/dist/test/ht.spec.js +2749 -0
  60. package/dist/test/hu.spec.js +3951 -0
  61. package/dist/test/is.spec.js +3753 -0
  62. package/dist/test/it.spec.js +2917 -0
  63. package/dist/test/ja.spec.js +3079 -0
  64. package/dist/test/jv.spec.js +2470 -0
  65. package/dist/test/ko.spec.js +2682 -0
  66. package/dist/test/la.spec.js +2915 -0
  67. package/dist/test/mk.spec.js +3064 -0
  68. package/dist/test/mr.spec.js +3664 -0
  69. package/dist/test/ne.spec.js +4300 -0
  70. package/dist/test/nl.spec.js +3849 -0
  71. package/dist/test/no.spec.js +2867 -0
  72. package/dist/test/or.spec.js +2411 -0
  73. package/dist/test/pa.spec.js +2460 -0
  74. package/dist/test/pl.spec.js +7682 -0
  75. package/dist/test/pt.spec.js +3318 -0
  76. package/dist/test/ro.spec.js +3065 -0
  77. package/dist/test/ru.spec.js +3796 -0
  78. package/dist/test/sk.spec.js +5611 -0
  79. package/dist/test/so.spec.js +2613 -0
  80. package/dist/test/sq.spec.js +2643 -0
  81. package/dist/test/sr.spec.js +3300 -0
  82. package/dist/test/sv.spec.js +2785 -0
  83. package/dist/test/sw.spec.js +2994 -0
  84. package/dist/test/ta.spec.js +4859 -0
  85. package/dist/test/th.spec.js +2403 -0
  86. package/dist/test/tl.spec.js +3728 -0
  87. package/dist/test/tr.spec.js +19459 -0
  88. package/dist/test/uk.spec.js +6852 -0
  89. package/dist/test/ur.spec.js +3536 -0
  90. package/dist/test/vi.spec.js +2897 -0
  91. package/dist/test/zh.spec.js +4744 -0
  92. package/dist/th-bcv-parser.js +7478 -0
  93. package/dist/tl-bcv-parser.js +7555 -0
  94. package/dist/tr-bcv-parser.js +7673 -0
  95. package/dist/uk-bcv-parser.js +7541 -0
  96. package/dist/ur-bcv-parser.js +7564 -0
  97. package/dist/vi-bcv-parser.js +7480 -0
  98. package/dist/zh-bcv-parser.js +7588 -0
  99. package/package.json +6 -4
@@ -0,0 +1,2634 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/ar-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 (ar)", 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 (ar)", function() {
86
+
87
+ expect(p.parse("سفر التكوين 1:1").osis()).toEqual("Gen.1.1", "parsing: 'سفر التكوين 1:1'")
88
+ expect(p.parse("التكوين 1:1").osis()).toEqual("Gen.1.1", "parsing: 'التكوين 1:1'")
89
+ expect(p.parse("ﺗﻜﻮﻳﻦ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ﺗﻜﻮﻳﻦ 1:1'")
90
+ expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'")
91
+ expect(p.parse("تك 1:1").osis()).toEqual("Gen.1.1", "parsing: 'تك 1:1'")
92
+ p.include_apocrypha(false)
93
+ expect(p.parse("سفر التكوين 1:1").osis()).toEqual("Gen.1.1", "parsing: 'سفر التكوين 1:1'")
94
+ expect(p.parse("التكوين 1:1").osis()).toEqual("Gen.1.1", "parsing: 'التكوين 1:1'")
95
+ expect(p.parse("ﺗﻜﻮﻳﻦ 1:1").osis()).toEqual("Gen.1.1", "parsing: 'ﺗﻜﻮﻳﻦ 1:1'")
96
+ expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'")
97
+ expect(p.parse("تك 1:1").osis()).toEqual("Gen.1.1", "parsing: 'تك 1:1'")
98
+ ;
99
+ return true;
100
+ });
101
+ });
102
+
103
+ describe("Localized book Exod (ar)", function() {
104
+ var p;
105
+ p = {};
106
+ beforeEach(function() {
107
+ p = new bcv_parser();
108
+ p.set_options({
109
+ book_alone_strategy: "ignore",
110
+ book_sequence_strategy: "ignore",
111
+ osis_compaction_strategy: "bc",
112
+ captive_end_digits_strategy: "delete"
113
+ });
114
+ return p.include_apocrypha(true);
115
+ });
116
+ return it("should handle book: Exod (ar)", function() {
117
+
118
+ expect(p.parse("سفر الخروج 1:1").osis()).toEqual("Exod.1.1", "parsing: 'سفر الخروج 1:1'")
119
+ expect(p.parse("الخروج 1:1").osis()).toEqual("Exod.1.1", "parsing: 'الخروج 1:1'")
120
+ expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'")
121
+ expect(p.parse("خر 1:1").osis()).toEqual("Exod.1.1", "parsing: 'خر 1:1'")
122
+ p.include_apocrypha(false)
123
+ expect(p.parse("سفر الخروج 1:1").osis()).toEqual("Exod.1.1", "parsing: 'سفر الخروج 1:1'")
124
+ expect(p.parse("الخروج 1:1").osis()).toEqual("Exod.1.1", "parsing: 'الخروج 1:1'")
125
+ expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'")
126
+ expect(p.parse("خر 1:1").osis()).toEqual("Exod.1.1", "parsing: 'خر 1:1'")
127
+ ;
128
+ return true;
129
+ });
130
+ });
131
+
132
+ describe("Localized book Bel (ar)", function() {
133
+ var p;
134
+ p = {};
135
+ beforeEach(function() {
136
+ p = new bcv_parser();
137
+ p.set_options({
138
+ book_alone_strategy: "ignore",
139
+ book_sequence_strategy: "ignore",
140
+ osis_compaction_strategy: "bc",
141
+ captive_end_digits_strategy: "delete"
142
+ });
143
+ return p.include_apocrypha(true);
144
+ });
145
+ return it("should handle book: Bel (ar)", function() {
146
+
147
+ expect(p.parse("بل والتنين 1:1").osis()).toEqual("Bel.1.1", "parsing: 'بل والتنين 1:1'")
148
+ expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'")
149
+ ;
150
+ return true;
151
+ });
152
+ });
153
+
154
+ describe("Localized book Lev (ar)", function() {
155
+ var p;
156
+ p = {};
157
+ beforeEach(function() {
158
+ p = new bcv_parser();
159
+ p.set_options({
160
+ book_alone_strategy: "ignore",
161
+ book_sequence_strategy: "ignore",
162
+ osis_compaction_strategy: "bc",
163
+ captive_end_digits_strategy: "delete"
164
+ });
165
+ return p.include_apocrypha(true);
166
+ });
167
+ return it("should handle book: Lev (ar)", function() {
168
+
169
+ expect(p.parse("سفر اللاويين 1:1").osis()).toEqual("Lev.1.1", "parsing: 'سفر اللاويين 1:1'")
170
+ expect(p.parse("اللاويين 1:1").osis()).toEqual("Lev.1.1", "parsing: 'اللاويين 1:1'")
171
+ expect(p.parse("الأحبار 1:1").osis()).toEqual("Lev.1.1", "parsing: 'الأحبار 1:1'")
172
+ expect(p.parse("ﺍﻟﻼﻭﻳﻲ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ﺍﻟﻼﻭﻳﻲ 1:1'")
173
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'")
174
+ expect(p.parse("أح 1:1").osis()).toEqual("Lev.1.1", "parsing: 'أح 1:1'")
175
+ expect(p.parse("لا 1:1").osis()).toEqual("Lev.1.1", "parsing: 'لا 1:1'")
176
+ p.include_apocrypha(false)
177
+ expect(p.parse("سفر اللاويين 1:1").osis()).toEqual("Lev.1.1", "parsing: 'سفر اللاويين 1:1'")
178
+ expect(p.parse("اللاويين 1:1").osis()).toEqual("Lev.1.1", "parsing: 'اللاويين 1:1'")
179
+ expect(p.parse("الأحبار 1:1").osis()).toEqual("Lev.1.1", "parsing: 'الأحبار 1:1'")
180
+ expect(p.parse("ﺍﻟﻼﻭﻳﻲ 1:1").osis()).toEqual("Lev.1.1", "parsing: 'ﺍﻟﻼﻭﻳﻲ 1:1'")
181
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'")
182
+ expect(p.parse("أح 1:1").osis()).toEqual("Lev.1.1", "parsing: 'أح 1:1'")
183
+ expect(p.parse("لا 1:1").osis()).toEqual("Lev.1.1", "parsing: 'لا 1:1'")
184
+ ;
185
+ return true;
186
+ });
187
+ });
188
+
189
+ describe("Localized book Num (ar)", function() {
190
+ var p;
191
+ p = {};
192
+ beforeEach(function() {
193
+ p = new bcv_parser();
194
+ p.set_options({
195
+ book_alone_strategy: "ignore",
196
+ book_sequence_strategy: "ignore",
197
+ osis_compaction_strategy: "bc",
198
+ captive_end_digits_strategy: "delete"
199
+ });
200
+ return p.include_apocrypha(true);
201
+ });
202
+ return it("should handle book: Num (ar)", function() {
203
+
204
+ expect(p.parse("سفر العدد 1:1").osis()).toEqual("Num.1.1", "parsing: 'سفر العدد 1:1'")
205
+ expect(p.parse("العدد 1:1").osis()).toEqual("Num.1.1", "parsing: 'العدد 1:1'")
206
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'")
207
+ expect(p.parse("عد 1:1").osis()).toEqual("Num.1.1", "parsing: 'عد 1:1'")
208
+ p.include_apocrypha(false)
209
+ expect(p.parse("سفر العدد 1:1").osis()).toEqual("Num.1.1", "parsing: 'سفر العدد 1:1'")
210
+ expect(p.parse("العدد 1:1").osis()).toEqual("Num.1.1", "parsing: 'العدد 1:1'")
211
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'")
212
+ expect(p.parse("عد 1:1").osis()).toEqual("Num.1.1", "parsing: 'عد 1:1'")
213
+ ;
214
+ return true;
215
+ });
216
+ });
217
+
218
+ describe("Localized book Sir (ar)", function() {
219
+ var p;
220
+ p = {};
221
+ beforeEach(function() {
222
+ p = new bcv_parser();
223
+ p.set_options({
224
+ book_alone_strategy: "ignore",
225
+ book_sequence_strategy: "ignore",
226
+ osis_compaction_strategy: "bc",
227
+ captive_end_digits_strategy: "delete"
228
+ });
229
+ return p.include_apocrypha(true);
230
+ });
231
+ return it("should handle book: Sir (ar)", function() {
232
+
233
+ expect(p.parse("سفر ابن سيراخ 1:1").osis()).toEqual("Sir.1.1", "parsing: 'سفر ابن سيراخ 1:1'")
234
+ expect(p.parse("يشوع بن سيراخ 1:1").osis()).toEqual("Sir.1.1", "parsing: 'يشوع بن سيراخ 1:1'")
235
+ expect(p.parse("سيراخ 1:1").osis()).toEqual("Sir.1.1", "parsing: 'سيراخ 1:1'")
236
+ expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'")
237
+ expect(p.parse("سي 1:1").osis()).toEqual("Sir.1.1", "parsing: 'سي 1:1'")
238
+ ;
239
+ return true;
240
+ });
241
+ });
242
+
243
+ describe("Localized book Wis (ar)", function() {
244
+ var p;
245
+ p = {};
246
+ beforeEach(function() {
247
+ p = new bcv_parser();
248
+ p.set_options({
249
+ book_alone_strategy: "ignore",
250
+ book_sequence_strategy: "ignore",
251
+ osis_compaction_strategy: "bc",
252
+ captive_end_digits_strategy: "delete"
253
+ });
254
+ return p.include_apocrypha(true);
255
+ });
256
+ return it("should handle book: Wis (ar)", function() {
257
+
258
+ expect(p.parse("حكمة سليمان 1:1").osis()).toEqual("Wis.1.1", "parsing: 'حكمة سليمان 1:1'")
259
+ expect(p.parse("سفر الحكمة 1:1").osis()).toEqual("Wis.1.1", "parsing: 'سفر الحكمة 1:1'")
260
+ expect(p.parse("الحكمة 1:1").osis()).toEqual("Wis.1.1", "parsing: 'الحكمة 1:1'")
261
+ expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'")
262
+ expect(p.parse("حك 1:1").osis()).toEqual("Wis.1.1", "parsing: 'حك 1:1'")
263
+ ;
264
+ return true;
265
+ });
266
+ });
267
+
268
+ describe("Localized book Lam (ar)", function() {
269
+ var p;
270
+ p = {};
271
+ beforeEach(function() {
272
+ p = new bcv_parser();
273
+ p.set_options({
274
+ book_alone_strategy: "ignore",
275
+ book_sequence_strategy: "ignore",
276
+ osis_compaction_strategy: "bc",
277
+ captive_end_digits_strategy: "delete"
278
+ });
279
+ return p.include_apocrypha(true);
280
+ });
281
+ return it("should handle book: Lam (ar)", function() {
282
+
283
+ expect(p.parse("سفر مراثي إرميا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'سفر مراثي إرميا 1:1'")
284
+ expect(p.parse("مراثي إرميا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'مراثي إرميا 1:1'")
285
+ expect(p.parse("المراثي 1:1").osis()).toEqual("Lam.1.1", "parsing: 'المراثي 1:1'")
286
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'")
287
+ expect(p.parse("مرا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'مرا 1:1'")
288
+ p.include_apocrypha(false)
289
+ expect(p.parse("سفر مراثي إرميا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'سفر مراثي إرميا 1:1'")
290
+ expect(p.parse("مراثي إرميا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'مراثي إرميا 1:1'")
291
+ expect(p.parse("المراثي 1:1").osis()).toEqual("Lam.1.1", "parsing: 'المراثي 1:1'")
292
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'")
293
+ expect(p.parse("مرا 1:1").osis()).toEqual("Lam.1.1", "parsing: 'مرا 1:1'")
294
+ ;
295
+ return true;
296
+ });
297
+ });
298
+
299
+ describe("Localized book EpJer (ar)", function() {
300
+ var p;
301
+ p = {};
302
+ beforeEach(function() {
303
+ p = new bcv_parser();
304
+ p.set_options({
305
+ book_alone_strategy: "ignore",
306
+ book_sequence_strategy: "ignore",
307
+ osis_compaction_strategy: "bc",
308
+ captive_end_digits_strategy: "delete"
309
+ });
310
+ return p.include_apocrypha(true);
311
+ });
312
+ return it("should handle book: EpJer (ar)", function() {
313
+
314
+ expect(p.parse("رسالة إرميا 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'رسالة إرميا 1:1'")
315
+ expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'")
316
+ ;
317
+ return true;
318
+ });
319
+ });
320
+
321
+ describe("Localized book PrMan (ar)", function() {
322
+ var p;
323
+ p = {};
324
+ beforeEach(function() {
325
+ p = new bcv_parser();
326
+ p.set_options({
327
+ book_alone_strategy: "ignore",
328
+ book_sequence_strategy: "ignore",
329
+ osis_compaction_strategy: "bc",
330
+ captive_end_digits_strategy: "delete"
331
+ });
332
+ return p.include_apocrypha(true);
333
+ });
334
+ return it("should handle book: PrMan (ar)", function() {
335
+
336
+ expect(p.parse("صلاة منسى 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'صلاة منسى 1:1'")
337
+ expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'")
338
+ ;
339
+ return true;
340
+ });
341
+ });
342
+
343
+ describe("Localized book Deut (ar)", function() {
344
+ var p;
345
+ p = {};
346
+ beforeEach(function() {
347
+ p = new bcv_parser();
348
+ p.set_options({
349
+ book_alone_strategy: "ignore",
350
+ book_sequence_strategy: "ignore",
351
+ osis_compaction_strategy: "bc",
352
+ captive_end_digits_strategy: "delete"
353
+ });
354
+ return p.include_apocrypha(true);
355
+ });
356
+ return it("should handle book: Deut (ar)", function() {
357
+
358
+ expect(p.parse("تثنية الإشتراع 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تثنية الإشتراع 1:1'")
359
+ expect(p.parse("سفر التثنية 1:1").osis()).toEqual("Deut.1.1", "parsing: 'سفر التثنية 1:1'")
360
+ expect(p.parse("تَثنِيَة 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تَثنِيَة 1:1'")
361
+ expect(p.parse("التثنية 1:1").osis()).toEqual("Deut.1.1", "parsing: 'التثنية 1:1'")
362
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'")
363
+ expect(p.parse("تث 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تث 1:1'")
364
+ p.include_apocrypha(false)
365
+ expect(p.parse("تثنية الإشتراع 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تثنية الإشتراع 1:1'")
366
+ expect(p.parse("سفر التثنية 1:1").osis()).toEqual("Deut.1.1", "parsing: 'سفر التثنية 1:1'")
367
+ expect(p.parse("تَثنِيَة 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تَثنِيَة 1:1'")
368
+ expect(p.parse("التثنية 1:1").osis()).toEqual("Deut.1.1", "parsing: 'التثنية 1:1'")
369
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'")
370
+ expect(p.parse("تث 1:1").osis()).toEqual("Deut.1.1", "parsing: 'تث 1:1'")
371
+ ;
372
+ return true;
373
+ });
374
+ });
375
+
376
+ describe("Localized book Josh (ar)", function() {
377
+ var p;
378
+ p = {};
379
+ beforeEach(function() {
380
+ p = new bcv_parser();
381
+ p.set_options({
382
+ book_alone_strategy: "ignore",
383
+ book_sequence_strategy: "ignore",
384
+ osis_compaction_strategy: "bc",
385
+ captive_end_digits_strategy: "delete"
386
+ });
387
+ return p.include_apocrypha(true);
388
+ });
389
+ return it("should handle book: Josh (ar)", function() {
390
+
391
+ expect(p.parse("سفر يشوع 1:1").osis()).toEqual("Josh.1.1", "parsing: 'سفر يشوع 1:1'")
392
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'")
393
+ expect(p.parse("يشوع 1:1").osis()).toEqual("Josh.1.1", "parsing: 'يشوع 1:1'")
394
+ expect(p.parse("يش 1:1").osis()).toEqual("Josh.1.1", "parsing: 'يش 1:1'")
395
+ p.include_apocrypha(false)
396
+ expect(p.parse("سفر يشوع 1:1").osis()).toEqual("Josh.1.1", "parsing: 'سفر يشوع 1:1'")
397
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'")
398
+ expect(p.parse("يشوع 1:1").osis()).toEqual("Josh.1.1", "parsing: 'يشوع 1:1'")
399
+ expect(p.parse("يش 1:1").osis()).toEqual("Josh.1.1", "parsing: 'يش 1:1'")
400
+ ;
401
+ return true;
402
+ });
403
+ });
404
+
405
+ describe("Localized book Judg (ar)", function() {
406
+ var p;
407
+ p = {};
408
+ beforeEach(function() {
409
+ p = new bcv_parser();
410
+ p.set_options({
411
+ book_alone_strategy: "ignore",
412
+ book_sequence_strategy: "ignore",
413
+ osis_compaction_strategy: "bc",
414
+ captive_end_digits_strategy: "delete"
415
+ });
416
+ return p.include_apocrypha(true);
417
+ });
418
+ return it("should handle book: Judg (ar)", function() {
419
+
420
+ expect(p.parse("سفر القضاة 1:1").osis()).toEqual("Judg.1.1", "parsing: 'سفر القضاة 1:1'")
421
+ expect(p.parse("القضاة 1:1").osis()).toEqual("Judg.1.1", "parsing: 'القضاة 1:1'")
422
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'")
423
+ expect(p.parse("قض 1:1").osis()).toEqual("Judg.1.1", "parsing: 'قض 1:1'")
424
+ p.include_apocrypha(false)
425
+ expect(p.parse("سفر القضاة 1:1").osis()).toEqual("Judg.1.1", "parsing: 'سفر القضاة 1:1'")
426
+ expect(p.parse("القضاة 1:1").osis()).toEqual("Judg.1.1", "parsing: 'القضاة 1:1'")
427
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'")
428
+ expect(p.parse("قض 1:1").osis()).toEqual("Judg.1.1", "parsing: 'قض 1:1'")
429
+ ;
430
+ return true;
431
+ });
432
+ });
433
+
434
+ describe("Localized book Ruth (ar)", function() {
435
+ var p;
436
+ p = {};
437
+ beforeEach(function() {
438
+ p = new bcv_parser();
439
+ p.set_options({
440
+ book_alone_strategy: "ignore",
441
+ book_sequence_strategy: "ignore",
442
+ osis_compaction_strategy: "bc",
443
+ captive_end_digits_strategy: "delete"
444
+ });
445
+ return p.include_apocrypha(true);
446
+ });
447
+ return it("should handle book: Ruth (ar)", function() {
448
+
449
+ expect(p.parse("سفر راعوث 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'سفر راعوث 1:1'")
450
+ expect(p.parse("راعوث 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'راعوث 1:1'")
451
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'")
452
+ expect(p.parse("را 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'را 1:1'")
453
+ p.include_apocrypha(false)
454
+ expect(p.parse("سفر راعوث 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'سفر راعوث 1:1'")
455
+ expect(p.parse("راعوث 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'راعوث 1:1'")
456
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'")
457
+ expect(p.parse("را 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'را 1:1'")
458
+ ;
459
+ return true;
460
+ });
461
+ });
462
+
463
+ describe("Localized book 1Esd (ar)", function() {
464
+ var p;
465
+ p = {};
466
+ beforeEach(function() {
467
+ p = new bcv_parser();
468
+ p.set_options({
469
+ book_alone_strategy: "ignore",
470
+ book_sequence_strategy: "ignore",
471
+ osis_compaction_strategy: "bc",
472
+ captive_end_digits_strategy: "delete"
473
+ });
474
+ return p.include_apocrypha(true);
475
+ });
476
+ return it("should handle book: 1Esd (ar)", function() {
477
+
478
+ expect(p.parse("إسدراس الأول 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'إسدراس الأول 1:1'")
479
+ expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'")
480
+ ;
481
+ return true;
482
+ });
483
+ });
484
+
485
+ describe("Localized book 2Esd (ar)", function() {
486
+ var p;
487
+ p = {};
488
+ beforeEach(function() {
489
+ p = new bcv_parser();
490
+ p.set_options({
491
+ book_alone_strategy: "ignore",
492
+ book_sequence_strategy: "ignore",
493
+ osis_compaction_strategy: "bc",
494
+ captive_end_digits_strategy: "delete"
495
+ });
496
+ return p.include_apocrypha(true);
497
+ });
498
+ return it("should handle book: 2Esd (ar)", function() {
499
+
500
+ expect(p.parse("إسدراس الثاني 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'إسدراس الثاني 1:1'")
501
+ expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'")
502
+ ;
503
+ return true;
504
+ });
505
+ });
506
+
507
+ describe("Localized book Isa (ar)", function() {
508
+ var p;
509
+ p = {};
510
+ beforeEach(function() {
511
+ p = new bcv_parser();
512
+ p.set_options({
513
+ book_alone_strategy: "ignore",
514
+ book_sequence_strategy: "ignore",
515
+ osis_compaction_strategy: "bc",
516
+ captive_end_digits_strategy: "delete"
517
+ });
518
+ return p.include_apocrypha(true);
519
+ });
520
+ return it("should handle book: Isa (ar)", function() {
521
+
522
+ expect(p.parse("سفر إشعياء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'سفر إشعياء 1:1'")
523
+ expect(p.parse("إشَعْياء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'إشَعْياء 1:1'")
524
+ expect(p.parse("ﺃﺷﻌﻴﺎء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ﺃﺷﻌﻴﺎء 1:1'")
525
+ expect(p.parse("إشعيا 1:1").osis()).toEqual("Isa.1.1", "parsing: 'إشعيا 1:1'")
526
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'")
527
+ expect(p.parse("اش 1:1").osis()).toEqual("Isa.1.1", "parsing: 'اش 1:1'")
528
+ p.include_apocrypha(false)
529
+ expect(p.parse("سفر إشعياء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'سفر إشعياء 1:1'")
530
+ expect(p.parse("إشَعْياء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'إشَعْياء 1:1'")
531
+ expect(p.parse("ﺃﺷﻌﻴﺎء 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ﺃﺷﻌﻴﺎء 1:1'")
532
+ expect(p.parse("إشعيا 1:1").osis()).toEqual("Isa.1.1", "parsing: 'إشعيا 1:1'")
533
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'")
534
+ expect(p.parse("اش 1:1").osis()).toEqual("Isa.1.1", "parsing: 'اش 1:1'")
535
+ ;
536
+ return true;
537
+ });
538
+ });
539
+
540
+ describe("Localized book 2Sam (ar)", function() {
541
+ var p;
542
+ p = {};
543
+ beforeEach(function() {
544
+ p = new bcv_parser();
545
+ p.set_options({
546
+ book_alone_strategy: "ignore",
547
+ book_sequence_strategy: "ignore",
548
+ osis_compaction_strategy: "bc",
549
+ captive_end_digits_strategy: "delete"
550
+ });
551
+ return p.include_apocrypha(true);
552
+ });
553
+ return it("should handle book: 2Sam (ar)", function() {
554
+
555
+ expect(p.parse("سفر صموئيل الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'سفر صموئيل الثاني 1:1'")
556
+ expect(p.parse("الممالك الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'الممالك الثاني 1:1'")
557
+ expect(p.parse("صموئيل الثّاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'صموئيل الثّاني 1:1'")
558
+ expect(p.parse("صموئيل الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'صموئيل الثاني 1:1'")
559
+ expect(p.parse("2 صموئيل 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 صموئيل 1:1'")
560
+ expect(p.parse("2 صم 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 صم 1:1'")
561
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'")
562
+ p.include_apocrypha(false)
563
+ expect(p.parse("سفر صموئيل الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'سفر صموئيل الثاني 1:1'")
564
+ expect(p.parse("الممالك الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'الممالك الثاني 1:1'")
565
+ expect(p.parse("صموئيل الثّاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'صموئيل الثّاني 1:1'")
566
+ expect(p.parse("صموئيل الثاني 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'صموئيل الثاني 1:1'")
567
+ expect(p.parse("2 صموئيل 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 صموئيل 1:1'")
568
+ expect(p.parse("2 صم 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 صم 1:1'")
569
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'")
570
+ ;
571
+ return true;
572
+ });
573
+ });
574
+
575
+ describe("Localized book 1Sam (ar)", function() {
576
+ var p;
577
+ p = {};
578
+ beforeEach(function() {
579
+ p = new bcv_parser();
580
+ p.set_options({
581
+ book_alone_strategy: "ignore",
582
+ book_sequence_strategy: "ignore",
583
+ osis_compaction_strategy: "bc",
584
+ captive_end_digits_strategy: "delete"
585
+ });
586
+ return p.include_apocrypha(true);
587
+ });
588
+ return it("should handle book: 1Sam (ar)", function() {
589
+
590
+ expect(p.parse("سفر صموئيل الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'سفر صموئيل الأول 1:1'")
591
+ expect(p.parse("الممالك الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'الممالك الأول 1:1'")
592
+ expect(p.parse("صموئيل الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'صموئيل الأول 1:1'")
593
+ expect(p.parse("ﺻﻤﻮﺋﻴﻞ ﺍﻷﻭﻝ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ﺻﻤﻮﺋﻴﻞ ﺍﻷﻭﻝ 1:1'")
594
+ expect(p.parse("1 صموئيل 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 صموئيل 1:1'")
595
+ expect(p.parse("1 صم 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 صم 1:1'")
596
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'")
597
+ p.include_apocrypha(false)
598
+ expect(p.parse("سفر صموئيل الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'سفر صموئيل الأول 1:1'")
599
+ expect(p.parse("الممالك الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'الممالك الأول 1:1'")
600
+ expect(p.parse("صموئيل الأول 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'صموئيل الأول 1:1'")
601
+ expect(p.parse("ﺻﻤﻮﺋﻴﻞ ﺍﻷﻭﻝ 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'ﺻﻤﻮﺋﻴﻞ ﺍﻷﻭﻝ 1:1'")
602
+ expect(p.parse("1 صموئيل 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 صموئيل 1:1'")
603
+ expect(p.parse("1 صم 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 صم 1:1'")
604
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'")
605
+ ;
606
+ return true;
607
+ });
608
+ });
609
+
610
+ describe("Localized book 2Kgs (ar)", function() {
611
+ var p;
612
+ p = {};
613
+ beforeEach(function() {
614
+ p = new bcv_parser();
615
+ p.set_options({
616
+ book_alone_strategy: "ignore",
617
+ book_sequence_strategy: "ignore",
618
+ osis_compaction_strategy: "bc",
619
+ captive_end_digits_strategy: "delete"
620
+ });
621
+ return p.include_apocrypha(true);
622
+ });
623
+ return it("should handle book: 2Kgs (ar)", function() {
624
+
625
+ expect(p.parse("سفر الملوك الثاني 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'سفر الملوك الثاني 1:1'")
626
+ expect(p.parse("الممالك الرابع 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'الممالك الرابع 1:1'")
627
+ expect(p.parse("ﺍﻟﻤﻠﻮﻙ ﺍﻟﺜﺎﻧﻲ 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'ﺍﻟﻤﻠﻮﻙ ﺍﻟﺜﺎﻧﻲ 1:1'")
628
+ expect(p.parse("2 الملوك 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 الملوك 1:1'")
629
+ expect(p.parse("2 مل 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 مل 1:1'")
630
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'")
631
+ p.include_apocrypha(false)
632
+ expect(p.parse("سفر الملوك الثاني 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'سفر الملوك الثاني 1:1'")
633
+ expect(p.parse("الممالك الرابع 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'الممالك الرابع 1:1'")
634
+ expect(p.parse("ﺍﻟﻤﻠﻮﻙ ﺍﻟﺜﺎﻧﻲ 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'ﺍﻟﻤﻠﻮﻙ ﺍﻟﺜﺎﻧﻲ 1:1'")
635
+ expect(p.parse("2 الملوك 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 الملوك 1:1'")
636
+ expect(p.parse("2 مل 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 مل 1:1'")
637
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'")
638
+ ;
639
+ return true;
640
+ });
641
+ });
642
+
643
+ describe("Localized book 1Kgs (ar)", function() {
644
+ var p;
645
+ p = {};
646
+ beforeEach(function() {
647
+ p = new bcv_parser();
648
+ p.set_options({
649
+ book_alone_strategy: "ignore",
650
+ book_sequence_strategy: "ignore",
651
+ osis_compaction_strategy: "bc",
652
+ captive_end_digits_strategy: "delete"
653
+ });
654
+ return p.include_apocrypha(true);
655
+ });
656
+ return it("should handle book: 1Kgs (ar)", function() {
657
+
658
+ expect(p.parse("سفر الملوك الأول 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'سفر الملوك الأول 1:1'")
659
+ expect(p.parse("الممالك الثالث 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'الممالك الثالث 1:1'")
660
+ expect(p.parse("الملوك الأول 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'الملوك الأول 1:1'")
661
+ expect(p.parse("ﺍﻟﻤﻠﻮﻙ ﺍﻷﻭ 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'ﺍﻟﻤﻠﻮﻙ ﺍﻷﻭ 1:1'")
662
+ expect(p.parse("1 الملوك 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 الملوك 1:1'")
663
+ expect(p.parse("1 مل 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 مل 1:1'")
664
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'")
665
+ p.include_apocrypha(false)
666
+ expect(p.parse("سفر الملوك الأول 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'سفر الملوك الأول 1:1'")
667
+ expect(p.parse("الممالك الثالث 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'الممالك الثالث 1:1'")
668
+ expect(p.parse("الملوك الأول 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'الملوك الأول 1:1'")
669
+ expect(p.parse("ﺍﻟﻤﻠﻮﻙ ﺍﻷﻭ 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'ﺍﻟﻤﻠﻮﻙ ﺍﻷﻭ 1:1'")
670
+ expect(p.parse("1 الملوك 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 الملوك 1:1'")
671
+ expect(p.parse("1 مل 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 مل 1:1'")
672
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'")
673
+ ;
674
+ return true;
675
+ });
676
+ });
677
+
678
+ describe("Localized book 2Chr (ar)", function() {
679
+ var p;
680
+ p = {};
681
+ beforeEach(function() {
682
+ p = new bcv_parser();
683
+ p.set_options({
684
+ book_alone_strategy: "ignore",
685
+ book_sequence_strategy: "ignore",
686
+ osis_compaction_strategy: "bc",
687
+ captive_end_digits_strategy: "delete"
688
+ });
689
+ return p.include_apocrypha(true);
690
+ });
691
+ return it("should handle book: 2Chr (ar)", function() {
692
+
693
+ expect(p.parse("سفر أخبار الأيام الثاني 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'سفر أخبار الأيام الثاني 1:1'")
694
+ expect(p.parse("أخبار الأيام الثاني 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'أخبار الأيام الثاني 1:1'")
695
+ expect(p.parse("ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻟﺜﺎﻥ 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻟﺜﺎﻥ 1:1'")
696
+ expect(p.parse("الأخبار 2 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'الأخبار 2 1:1'")
697
+ expect(p.parse("2 أخ 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 أخ 1:1'")
698
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'")
699
+ p.include_apocrypha(false)
700
+ expect(p.parse("سفر أخبار الأيام الثاني 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'سفر أخبار الأيام الثاني 1:1'")
701
+ expect(p.parse("أخبار الأيام الثاني 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'أخبار الأيام الثاني 1:1'")
702
+ expect(p.parse("ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻟﺜﺎﻥ 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻟﺜﺎﻥ 1:1'")
703
+ expect(p.parse("الأخبار 2 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'الأخبار 2 1:1'")
704
+ expect(p.parse("2 أخ 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 أخ 1:1'")
705
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'")
706
+ ;
707
+ return true;
708
+ });
709
+ });
710
+
711
+ describe("Localized book 1Chr (ar)", function() {
712
+ var p;
713
+ p = {};
714
+ beforeEach(function() {
715
+ p = new bcv_parser();
716
+ p.set_options({
717
+ book_alone_strategy: "ignore",
718
+ book_sequence_strategy: "ignore",
719
+ osis_compaction_strategy: "bc",
720
+ captive_end_digits_strategy: "delete"
721
+ });
722
+ return p.include_apocrypha(true);
723
+ });
724
+ return it("should handle book: 1Chr (ar)", function() {
725
+
726
+ expect(p.parse("سفر أخبار الأيام الأول 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'سفر أخبار الأيام الأول 1:1'")
727
+ expect(p.parse("أخبار الأيام الأول 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'أخبار الأيام الأول 1:1'")
728
+ expect(p.parse("ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻷ 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻷ 1:1'")
729
+ expect(p.parse("الأخبار 1 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'الأخبار 1 1:1'")
730
+ expect(p.parse("1 أخ 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 أخ 1:1'")
731
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'")
732
+ p.include_apocrypha(false)
733
+ expect(p.parse("سفر أخبار الأيام الأول 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'سفر أخبار الأيام الأول 1:1'")
734
+ expect(p.parse("أخبار الأيام الأول 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'أخبار الأيام الأول 1:1'")
735
+ expect(p.parse("ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻷ 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'ﺃﺧﺒﺎﺭ ﺍﻷﻳﺎﻡ ﺍﻷ 1:1'")
736
+ expect(p.parse("الأخبار 1 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'الأخبار 1 1:1'")
737
+ expect(p.parse("1 أخ 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 أخ 1:1'")
738
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'")
739
+ ;
740
+ return true;
741
+ });
742
+ });
743
+
744
+ describe("Localized book Ezra (ar)", function() {
745
+ var p;
746
+ p = {};
747
+ beforeEach(function() {
748
+ p = new bcv_parser();
749
+ p.set_options({
750
+ book_alone_strategy: "ignore",
751
+ book_sequence_strategy: "ignore",
752
+ osis_compaction_strategy: "bc",
753
+ captive_end_digits_strategy: "delete"
754
+ });
755
+ return p.include_apocrypha(true);
756
+ });
757
+ return it("should handle book: Ezra (ar)", function() {
758
+
759
+ expect(p.parse("سفر عزرا 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'سفر عزرا 1:1'")
760
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'")
761
+ expect(p.parse("عزرا 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'عزرا 1:1'")
762
+ expect(p.parse("عـز 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'عـز 1:1'")
763
+ p.include_apocrypha(false)
764
+ expect(p.parse("سفر عزرا 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'سفر عزرا 1:1'")
765
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'")
766
+ expect(p.parse("عزرا 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'عزرا 1:1'")
767
+ expect(p.parse("عـز 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'عـز 1:1'")
768
+ ;
769
+ return true;
770
+ });
771
+ });
772
+
773
+ describe("Localized book Neh (ar)", function() {
774
+ var p;
775
+ p = {};
776
+ beforeEach(function() {
777
+ p = new bcv_parser();
778
+ p.set_options({
779
+ book_alone_strategy: "ignore",
780
+ book_sequence_strategy: "ignore",
781
+ osis_compaction_strategy: "bc",
782
+ captive_end_digits_strategy: "delete"
783
+ });
784
+ return p.include_apocrypha(true);
785
+ });
786
+ return it("should handle book: Neh (ar)", function() {
787
+
788
+ expect(p.parse("سفر نحميا 1:1").osis()).toEqual("Neh.1.1", "parsing: 'سفر نحميا 1:1'")
789
+ expect(p.parse("نحميا 1:1").osis()).toEqual("Neh.1.1", "parsing: 'نحميا 1:1'")
790
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'")
791
+ expect(p.parse("نح 1:1").osis()).toEqual("Neh.1.1", "parsing: 'نح 1:1'")
792
+ p.include_apocrypha(false)
793
+ expect(p.parse("سفر نحميا 1:1").osis()).toEqual("Neh.1.1", "parsing: 'سفر نحميا 1:1'")
794
+ expect(p.parse("نحميا 1:1").osis()).toEqual("Neh.1.1", "parsing: 'نحميا 1:1'")
795
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'")
796
+ expect(p.parse("نح 1:1").osis()).toEqual("Neh.1.1", "parsing: 'نح 1:1'")
797
+ ;
798
+ return true;
799
+ });
800
+ });
801
+
802
+ describe("Localized book GkEsth (ar)", function() {
803
+ var p;
804
+ p = {};
805
+ beforeEach(function() {
806
+ p = new bcv_parser();
807
+ p.set_options({
808
+ book_alone_strategy: "ignore",
809
+ book_sequence_strategy: "ignore",
810
+ osis_compaction_strategy: "bc",
811
+ captive_end_digits_strategy: "delete"
812
+ });
813
+ return p.include_apocrypha(true);
814
+ });
815
+ return it("should handle book: GkEsth (ar)", function() {
816
+
817
+ expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'")
818
+ ;
819
+ return true;
820
+ });
821
+ });
822
+
823
+ describe("Localized book Esth (ar)", function() {
824
+ var p;
825
+ p = {};
826
+ beforeEach(function() {
827
+ p = new bcv_parser();
828
+ p.set_options({
829
+ book_alone_strategy: "ignore",
830
+ book_sequence_strategy: "ignore",
831
+ osis_compaction_strategy: "bc",
832
+ captive_end_digits_strategy: "delete"
833
+ });
834
+ return p.include_apocrypha(true);
835
+ });
836
+ return it("should handle book: Esth (ar)", function() {
837
+
838
+ expect(p.parse("سفر أستير 1:1").osis()).toEqual("Esth.1.1", "parsing: 'سفر أستير 1:1'")
839
+ expect(p.parse("أستير 1:1").osis()).toEqual("Esth.1.1", "parsing: 'أستير 1:1'")
840
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'")
841
+ expect(p.parse("أس 1:1").osis()).toEqual("Esth.1.1", "parsing: 'أس 1:1'")
842
+ p.include_apocrypha(false)
843
+ expect(p.parse("سفر أستير 1:1").osis()).toEqual("Esth.1.1", "parsing: 'سفر أستير 1:1'")
844
+ expect(p.parse("أستير 1:1").osis()).toEqual("Esth.1.1", "parsing: 'أستير 1:1'")
845
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'")
846
+ expect(p.parse("أس 1:1").osis()).toEqual("Esth.1.1", "parsing: 'أس 1:1'")
847
+ ;
848
+ return true;
849
+ });
850
+ });
851
+
852
+ describe("Localized book Job (ar)", function() {
853
+ var p;
854
+ p = {};
855
+ beforeEach(function() {
856
+ p = new bcv_parser();
857
+ p.set_options({
858
+ book_alone_strategy: "ignore",
859
+ book_sequence_strategy: "ignore",
860
+ osis_compaction_strategy: "bc",
861
+ captive_end_digits_strategy: "delete"
862
+ });
863
+ return p.include_apocrypha(true);
864
+ });
865
+ return it("should handle book: Job (ar)", function() {
866
+
867
+ expect(p.parse("سفر أيوب 1:1").osis()).toEqual("Job.1.1", "parsing: 'سفر أيوب 1:1'")
868
+ expect(p.parse("أيوب 1:1").osis()).toEqual("Job.1.1", "parsing: 'أيوب 1:1'")
869
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'")
870
+ expect(p.parse("أي 1:1").osis()).toEqual("Job.1.1", "parsing: 'أي 1:1'")
871
+ p.include_apocrypha(false)
872
+ expect(p.parse("سفر أيوب 1:1").osis()).toEqual("Job.1.1", "parsing: 'سفر أيوب 1:1'")
873
+ expect(p.parse("أيوب 1:1").osis()).toEqual("Job.1.1", "parsing: 'أيوب 1:1'")
874
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'")
875
+ expect(p.parse("أي 1:1").osis()).toEqual("Job.1.1", "parsing: 'أي 1:1'")
876
+ ;
877
+ return true;
878
+ });
879
+ });
880
+
881
+ describe("Localized book Ps (ar)", function() {
882
+ var p;
883
+ p = {};
884
+ beforeEach(function() {
885
+ p = new bcv_parser();
886
+ p.set_options({
887
+ book_alone_strategy: "ignore",
888
+ book_sequence_strategy: "ignore",
889
+ osis_compaction_strategy: "bc",
890
+ captive_end_digits_strategy: "delete"
891
+ });
892
+ return p.include_apocrypha(true);
893
+ });
894
+ return it("should handle book: Ps (ar)", function() {
895
+
896
+ expect(p.parse("سفر المزامير 1:1").osis()).toEqual("Ps.1.1", "parsing: 'سفر المزامير 1:1'")
897
+ expect(p.parse("المَزمُور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المَزمُور 1:1'")
898
+ expect(p.parse("المزامير 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المزامير 1:1'")
899
+ expect(p.parse("المزمور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المزمور 1:1'")
900
+ expect(p.parse("مزمور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'مزمور 1:1'")
901
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'")
902
+ expect(p.parse("مز 1:1").osis()).toEqual("Ps.1.1", "parsing: 'مز 1:1'")
903
+ p.include_apocrypha(false)
904
+ expect(p.parse("سفر المزامير 1:1").osis()).toEqual("Ps.1.1", "parsing: 'سفر المزامير 1:1'")
905
+ expect(p.parse("المَزمُور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المَزمُور 1:1'")
906
+ expect(p.parse("المزامير 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المزامير 1:1'")
907
+ expect(p.parse("المزمور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'المزمور 1:1'")
908
+ expect(p.parse("مزمور 1:1").osis()).toEqual("Ps.1.1", "parsing: 'مزمور 1:1'")
909
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'")
910
+ expect(p.parse("مز 1:1").osis()).toEqual("Ps.1.1", "parsing: 'مز 1:1'")
911
+ ;
912
+ return true;
913
+ });
914
+ });
915
+
916
+ describe("Localized book PrAzar (ar)", function() {
917
+ var p;
918
+ p = {};
919
+ beforeEach(function() {
920
+ p = new bcv_parser();
921
+ p.set_options({
922
+ book_alone_strategy: "ignore",
923
+ book_sequence_strategy: "ignore",
924
+ osis_compaction_strategy: "bc",
925
+ captive_end_digits_strategy: "delete"
926
+ });
927
+ return p.include_apocrypha(true);
928
+ });
929
+ return it("should handle book: PrAzar (ar)", function() {
930
+
931
+ expect(p.parse("صلاة عزريا 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'صلاة عزريا 1:1'")
932
+ expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'")
933
+ ;
934
+ return true;
935
+ });
936
+ });
937
+
938
+ describe("Localized book Prov (ar)", function() {
939
+ var p;
940
+ p = {};
941
+ beforeEach(function() {
942
+ p = new bcv_parser();
943
+ p.set_options({
944
+ book_alone_strategy: "ignore",
945
+ book_sequence_strategy: "ignore",
946
+ osis_compaction_strategy: "bc",
947
+ captive_end_digits_strategy: "delete"
948
+ });
949
+ return p.include_apocrypha(true);
950
+ });
951
+ return it("should handle book: Prov (ar)", function() {
952
+
953
+ expect(p.parse("سفر الأمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'سفر الأمثال 1:1'")
954
+ expect(p.parse("الأمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'الأمثال 1:1'")
955
+ expect(p.parse("أمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'أمثال 1:1'")
956
+ expect(p.parse("ﺃﻣﺜﺎﻝ 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ﺃﻣﺜﺎﻝ 1:1'")
957
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'")
958
+ expect(p.parse("مثل 1:1").osis()).toEqual("Prov.1.1", "parsing: 'مثل 1:1'")
959
+ expect(p.parse("ام 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ام 1:1'")
960
+ p.include_apocrypha(false)
961
+ expect(p.parse("سفر الأمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'سفر الأمثال 1:1'")
962
+ expect(p.parse("الأمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'الأمثال 1:1'")
963
+ expect(p.parse("أمثال 1:1").osis()).toEqual("Prov.1.1", "parsing: 'أمثال 1:1'")
964
+ expect(p.parse("ﺃﻣﺜﺎﻝ 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ﺃﻣﺜﺎﻝ 1:1'")
965
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'")
966
+ expect(p.parse("مثل 1:1").osis()).toEqual("Prov.1.1", "parsing: 'مثل 1:1'")
967
+ expect(p.parse("ام 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ام 1:1'")
968
+ ;
969
+ return true;
970
+ });
971
+ });
972
+
973
+ describe("Localized book Eccl (ar)", function() {
974
+ var p;
975
+ p = {};
976
+ beforeEach(function() {
977
+ p = new bcv_parser();
978
+ p.set_options({
979
+ book_alone_strategy: "ignore",
980
+ book_sequence_strategy: "ignore",
981
+ osis_compaction_strategy: "bc",
982
+ captive_end_digits_strategy: "delete"
983
+ });
984
+ return p.include_apocrypha(true);
985
+ });
986
+ return it("should handle book: Eccl (ar)", function() {
987
+
988
+ expect(p.parse("سفر الجامعة 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'سفر الجامعة 1:1'")
989
+ expect(p.parse("الجامعة 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'الجامعة 1:1'")
990
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'")
991
+ expect(p.parse("جا 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'جا 1:1'")
992
+ p.include_apocrypha(false)
993
+ expect(p.parse("سفر الجامعة 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'سفر الجامعة 1:1'")
994
+ expect(p.parse("الجامعة 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'الجامعة 1:1'")
995
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'")
996
+ expect(p.parse("جا 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'جا 1:1'")
997
+ ;
998
+ return true;
999
+ });
1000
+ });
1001
+
1002
+ describe("Localized book SgThree (ar)", function() {
1003
+ var p;
1004
+ p = {};
1005
+ beforeEach(function() {
1006
+ p = new bcv_parser();
1007
+ p.set_options({
1008
+ book_alone_strategy: "ignore",
1009
+ book_sequence_strategy: "ignore",
1010
+ osis_compaction_strategy: "bc",
1011
+ captive_end_digits_strategy: "delete"
1012
+ });
1013
+ return p.include_apocrypha(true);
1014
+ });
1015
+ return it("should handle book: SgThree (ar)", function() {
1016
+
1017
+ expect(p.parse("أنشودة الأطفال الثلاثة 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'أنشودة الأطفال الثلاثة 1:1'")
1018
+ expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'SgThree 1:1'")
1019
+ ;
1020
+ return true;
1021
+ });
1022
+ });
1023
+
1024
+ describe("Localized book Song (ar)", function() {
1025
+ var p;
1026
+ p = {};
1027
+ beforeEach(function() {
1028
+ p = new bcv_parser();
1029
+ p.set_options({
1030
+ book_alone_strategy: "ignore",
1031
+ book_sequence_strategy: "ignore",
1032
+ osis_compaction_strategy: "bc",
1033
+ captive_end_digits_strategy: "delete"
1034
+ });
1035
+ return p.include_apocrypha(true);
1036
+ });
1037
+ return it("should handle book: Song (ar)", function() {
1038
+
1039
+ expect(p.parse("سفر نشيد الأنشاد 1:1").osis()).toEqual("Song.1.1", "parsing: 'سفر نشيد الأنشاد 1:1'")
1040
+ expect(p.parse("نشيد الأناشيد 1:1").osis()).toEqual("Song.1.1", "parsing: 'نشيد الأناشيد 1:1'")
1041
+ expect(p.parse("ﻧﺸﻴﺪ ﺍﻷﻧﺸﺎ 1:1").osis()).toEqual("Song.1.1", "parsing: 'ﻧﺸﻴﺪ ﺍﻷﻧﺸﺎ 1:1'")
1042
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'")
1043
+ expect(p.parse("نش 1:1").osis()).toEqual("Song.1.1", "parsing: 'نش 1:1'")
1044
+ p.include_apocrypha(false)
1045
+ expect(p.parse("سفر نشيد الأنشاد 1:1").osis()).toEqual("Song.1.1", "parsing: 'سفر نشيد الأنشاد 1:1'")
1046
+ expect(p.parse("نشيد الأناشيد 1:1").osis()).toEqual("Song.1.1", "parsing: 'نشيد الأناشيد 1:1'")
1047
+ expect(p.parse("ﻧﺸﻴﺪ ﺍﻷﻧﺸﺎ 1:1").osis()).toEqual("Song.1.1", "parsing: 'ﻧﺸﻴﺪ ﺍﻷﻧﺸﺎ 1:1'")
1048
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'")
1049
+ expect(p.parse("نش 1:1").osis()).toEqual("Song.1.1", "parsing: 'نش 1:1'")
1050
+ ;
1051
+ return true;
1052
+ });
1053
+ });
1054
+
1055
+ describe("Localized book Jer (ar)", function() {
1056
+ var p;
1057
+ p = {};
1058
+ beforeEach(function() {
1059
+ p = new bcv_parser();
1060
+ p.set_options({
1061
+ book_alone_strategy: "ignore",
1062
+ book_sequence_strategy: "ignore",
1063
+ osis_compaction_strategy: "bc",
1064
+ captive_end_digits_strategy: "delete"
1065
+ });
1066
+ return p.include_apocrypha(true);
1067
+ });
1068
+ return it("should handle book: Jer (ar)", function() {
1069
+
1070
+ expect(p.parse("سفر إرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'سفر إرميا 1:1'")
1071
+ expect(p.parse("ﺃﺭﻣﻴﺎء 1:1").osis()).toEqual("Jer.1.1", "parsing: 'ﺃﺭﻣﻴﺎء 1:1'")
1072
+ expect(p.parse("أرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'أرميا 1:1'")
1073
+ expect(p.parse("إرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'إرميا 1:1'")
1074
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'")
1075
+ expect(p.parse("ار 1:1").osis()).toEqual("Jer.1.1", "parsing: 'ار 1:1'")
1076
+ p.include_apocrypha(false)
1077
+ expect(p.parse("سفر إرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'سفر إرميا 1:1'")
1078
+ expect(p.parse("ﺃﺭﻣﻴﺎء 1:1").osis()).toEqual("Jer.1.1", "parsing: 'ﺃﺭﻣﻴﺎء 1:1'")
1079
+ expect(p.parse("أرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'أرميا 1:1'")
1080
+ expect(p.parse("إرميا 1:1").osis()).toEqual("Jer.1.1", "parsing: 'إرميا 1:1'")
1081
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'")
1082
+ expect(p.parse("ار 1:1").osis()).toEqual("Jer.1.1", "parsing: 'ار 1:1'")
1083
+ ;
1084
+ return true;
1085
+ });
1086
+ });
1087
+
1088
+ describe("Localized book Ezek (ar)", function() {
1089
+ var p;
1090
+ p = {};
1091
+ beforeEach(function() {
1092
+ p = new bcv_parser();
1093
+ p.set_options({
1094
+ book_alone_strategy: "ignore",
1095
+ book_sequence_strategy: "ignore",
1096
+ osis_compaction_strategy: "bc",
1097
+ captive_end_digits_strategy: "delete"
1098
+ });
1099
+ return p.include_apocrypha(true);
1100
+ });
1101
+ return it("should handle book: Ezek (ar)", function() {
1102
+
1103
+ expect(p.parse("سفر حزقيال 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'سفر حزقيال 1:1'")
1104
+ expect(p.parse("حزقيال 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'حزقيال 1:1'")
1105
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'")
1106
+ expect(p.parse("حز 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'حز 1:1'")
1107
+ p.include_apocrypha(false)
1108
+ expect(p.parse("سفر حزقيال 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'سفر حزقيال 1:1'")
1109
+ expect(p.parse("حزقيال 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'حزقيال 1:1'")
1110
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'")
1111
+ expect(p.parse("حز 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'حز 1:1'")
1112
+ ;
1113
+ return true;
1114
+ });
1115
+ });
1116
+
1117
+ describe("Localized book Dan (ar)", function() {
1118
+ var p;
1119
+ p = {};
1120
+ beforeEach(function() {
1121
+ p = new bcv_parser();
1122
+ p.set_options({
1123
+ book_alone_strategy: "ignore",
1124
+ book_sequence_strategy: "ignore",
1125
+ osis_compaction_strategy: "bc",
1126
+ captive_end_digits_strategy: "delete"
1127
+ });
1128
+ return p.include_apocrypha(true);
1129
+ });
1130
+ return it("should handle book: Dan (ar)", function() {
1131
+
1132
+ expect(p.parse("سفر دانيال 1:1").osis()).toEqual("Dan.1.1", "parsing: 'سفر دانيال 1:1'")
1133
+ expect(p.parse("دانيال 1:1").osis()).toEqual("Dan.1.1", "parsing: 'دانيال 1:1'")
1134
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'")
1135
+ expect(p.parse("دا 1:1").osis()).toEqual("Dan.1.1", "parsing: 'دا 1:1'")
1136
+ p.include_apocrypha(false)
1137
+ expect(p.parse("سفر دانيال 1:1").osis()).toEqual("Dan.1.1", "parsing: 'سفر دانيال 1:1'")
1138
+ expect(p.parse("دانيال 1:1").osis()).toEqual("Dan.1.1", "parsing: 'دانيال 1:1'")
1139
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'")
1140
+ expect(p.parse("دا 1:1").osis()).toEqual("Dan.1.1", "parsing: 'دا 1:1'")
1141
+ ;
1142
+ return true;
1143
+ });
1144
+ });
1145
+
1146
+ describe("Localized book Hos (ar)", function() {
1147
+ var p;
1148
+ p = {};
1149
+ beforeEach(function() {
1150
+ p = new bcv_parser();
1151
+ p.set_options({
1152
+ book_alone_strategy: "ignore",
1153
+ book_sequence_strategy: "ignore",
1154
+ osis_compaction_strategy: "bc",
1155
+ captive_end_digits_strategy: "delete"
1156
+ });
1157
+ return p.include_apocrypha(true);
1158
+ });
1159
+ return it("should handle book: Hos (ar)", function() {
1160
+
1161
+ expect(p.parse("سفر هوشع 1:1").osis()).toEqual("Hos.1.1", "parsing: 'سفر هوشع 1:1'")
1162
+ expect(p.parse("هوشع 1:1").osis()).toEqual("Hos.1.1", "parsing: 'هوشع 1:1'")
1163
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'")
1164
+ expect(p.parse("هو 1:1").osis()).toEqual("Hos.1.1", "parsing: 'هو 1:1'")
1165
+ p.include_apocrypha(false)
1166
+ expect(p.parse("سفر هوشع 1:1").osis()).toEqual("Hos.1.1", "parsing: 'سفر هوشع 1:1'")
1167
+ expect(p.parse("هوشع 1:1").osis()).toEqual("Hos.1.1", "parsing: 'هوشع 1:1'")
1168
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'")
1169
+ expect(p.parse("هو 1:1").osis()).toEqual("Hos.1.1", "parsing: 'هو 1:1'")
1170
+ ;
1171
+ return true;
1172
+ });
1173
+ });
1174
+
1175
+ describe("Localized book Joel (ar)", function() {
1176
+ var p;
1177
+ p = {};
1178
+ beforeEach(function() {
1179
+ p = new bcv_parser();
1180
+ p.set_options({
1181
+ book_alone_strategy: "ignore",
1182
+ book_sequence_strategy: "ignore",
1183
+ osis_compaction_strategy: "bc",
1184
+ captive_end_digits_strategy: "delete"
1185
+ });
1186
+ return p.include_apocrypha(true);
1187
+ });
1188
+ return it("should handle book: Joel (ar)", function() {
1189
+
1190
+ expect(p.parse("سفر يوئيل 1:1").osis()).toEqual("Joel.1.1", "parsing: 'سفر يوئيل 1:1'")
1191
+ expect(p.parse("يوئيل 1:1").osis()).toEqual("Joel.1.1", "parsing: 'يوئيل 1:1'")
1192
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'")
1193
+ expect(p.parse("يوء 1:1").osis()).toEqual("Joel.1.1", "parsing: 'يوء 1:1'")
1194
+ p.include_apocrypha(false)
1195
+ expect(p.parse("سفر يوئيل 1:1").osis()).toEqual("Joel.1.1", "parsing: 'سفر يوئيل 1:1'")
1196
+ expect(p.parse("يوئيل 1:1").osis()).toEqual("Joel.1.1", "parsing: 'يوئيل 1:1'")
1197
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'")
1198
+ expect(p.parse("يوء 1:1").osis()).toEqual("Joel.1.1", "parsing: 'يوء 1:1'")
1199
+ ;
1200
+ return true;
1201
+ });
1202
+ });
1203
+
1204
+ describe("Localized book Amos (ar)", function() {
1205
+ var p;
1206
+ p = {};
1207
+ beforeEach(function() {
1208
+ p = new bcv_parser();
1209
+ p.set_options({
1210
+ book_alone_strategy: "ignore",
1211
+ book_sequence_strategy: "ignore",
1212
+ osis_compaction_strategy: "bc",
1213
+ captive_end_digits_strategy: "delete"
1214
+ });
1215
+ return p.include_apocrypha(true);
1216
+ });
1217
+ return it("should handle book: Amos (ar)", function() {
1218
+
1219
+ expect(p.parse("سفر عاموس 1:1").osis()).toEqual("Amos.1.1", "parsing: 'سفر عاموس 1:1'")
1220
+ expect(p.parse("عاموس 1:1").osis()).toEqual("Amos.1.1", "parsing: 'عاموس 1:1'")
1221
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'")
1222
+ expect(p.parse("عا 1:1").osis()).toEqual("Amos.1.1", "parsing: 'عا 1:1'")
1223
+ p.include_apocrypha(false)
1224
+ expect(p.parse("سفر عاموس 1:1").osis()).toEqual("Amos.1.1", "parsing: 'سفر عاموس 1:1'")
1225
+ expect(p.parse("عاموس 1:1").osis()).toEqual("Amos.1.1", "parsing: 'عاموس 1:1'")
1226
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'")
1227
+ expect(p.parse("عا 1:1").osis()).toEqual("Amos.1.1", "parsing: 'عا 1:1'")
1228
+ ;
1229
+ return true;
1230
+ });
1231
+ });
1232
+
1233
+ describe("Localized book Obad (ar)", function() {
1234
+ var p;
1235
+ p = {};
1236
+ beforeEach(function() {
1237
+ p = new bcv_parser();
1238
+ p.set_options({
1239
+ book_alone_strategy: "ignore",
1240
+ book_sequence_strategy: "ignore",
1241
+ osis_compaction_strategy: "bc",
1242
+ captive_end_digits_strategy: "delete"
1243
+ });
1244
+ return p.include_apocrypha(true);
1245
+ });
1246
+ return it("should handle book: Obad (ar)", function() {
1247
+
1248
+ expect(p.parse("سفر عوبديا 1:1").osis()).toEqual("Obad.1.1", "parsing: 'سفر عوبديا 1:1'")
1249
+ expect(p.parse("عوبديا 1:1").osis()).toEqual("Obad.1.1", "parsing: 'عوبديا 1:1'")
1250
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'")
1251
+ expect(p.parse("عو 1:1").osis()).toEqual("Obad.1.1", "parsing: 'عو 1:1'")
1252
+ p.include_apocrypha(false)
1253
+ expect(p.parse("سفر عوبديا 1:1").osis()).toEqual("Obad.1.1", "parsing: 'سفر عوبديا 1:1'")
1254
+ expect(p.parse("عوبديا 1:1").osis()).toEqual("Obad.1.1", "parsing: 'عوبديا 1:1'")
1255
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'")
1256
+ expect(p.parse("عو 1:1").osis()).toEqual("Obad.1.1", "parsing: 'عو 1:1'")
1257
+ ;
1258
+ return true;
1259
+ });
1260
+ });
1261
+
1262
+ describe("Localized book Jonah (ar)", function() {
1263
+ var p;
1264
+ p = {};
1265
+ beforeEach(function() {
1266
+ p = new bcv_parser();
1267
+ p.set_options({
1268
+ book_alone_strategy: "ignore",
1269
+ book_sequence_strategy: "ignore",
1270
+ osis_compaction_strategy: "bc",
1271
+ captive_end_digits_strategy: "delete"
1272
+ });
1273
+ return p.include_apocrypha(true);
1274
+ });
1275
+ return it("should handle book: Jonah (ar)", function() {
1276
+
1277
+ expect(p.parse("سفر يونان 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'سفر يونان 1:1'")
1278
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'")
1279
+ expect(p.parse("يونان 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'يونان 1:1'")
1280
+ expect(p.parse("يون 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'يون 1:1'")
1281
+ p.include_apocrypha(false)
1282
+ expect(p.parse("سفر يونان 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'سفر يونان 1:1'")
1283
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'")
1284
+ expect(p.parse("يونان 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'يونان 1:1'")
1285
+ expect(p.parse("يون 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'يون 1:1'")
1286
+ ;
1287
+ return true;
1288
+ });
1289
+ });
1290
+
1291
+ describe("Localized book Mic (ar)", function() {
1292
+ var p;
1293
+ p = {};
1294
+ beforeEach(function() {
1295
+ p = new bcv_parser();
1296
+ p.set_options({
1297
+ book_alone_strategy: "ignore",
1298
+ book_sequence_strategy: "ignore",
1299
+ osis_compaction_strategy: "bc",
1300
+ captive_end_digits_strategy: "delete"
1301
+ });
1302
+ return p.include_apocrypha(true);
1303
+ });
1304
+ return it("should handle book: Mic (ar)", function() {
1305
+
1306
+ expect(p.parse("سفر ميخا 1:1").osis()).toEqual("Mic.1.1", "parsing: 'سفر ميخا 1:1'")
1307
+ expect(p.parse("ميخا 1:1").osis()).toEqual("Mic.1.1", "parsing: 'ميخا 1:1'")
1308
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'")
1309
+ expect(p.parse("مي 1:1").osis()).toEqual("Mic.1.1", "parsing: 'مي 1:1'")
1310
+ p.include_apocrypha(false)
1311
+ expect(p.parse("سفر ميخا 1:1").osis()).toEqual("Mic.1.1", "parsing: 'سفر ميخا 1:1'")
1312
+ expect(p.parse("ميخا 1:1").osis()).toEqual("Mic.1.1", "parsing: 'ميخا 1:1'")
1313
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'")
1314
+ expect(p.parse("مي 1:1").osis()).toEqual("Mic.1.1", "parsing: 'مي 1:1'")
1315
+ ;
1316
+ return true;
1317
+ });
1318
+ });
1319
+
1320
+ describe("Localized book Nah (ar)", function() {
1321
+ var p;
1322
+ p = {};
1323
+ beforeEach(function() {
1324
+ p = new bcv_parser();
1325
+ p.set_options({
1326
+ book_alone_strategy: "ignore",
1327
+ book_sequence_strategy: "ignore",
1328
+ osis_compaction_strategy: "bc",
1329
+ captive_end_digits_strategy: "delete"
1330
+ });
1331
+ return p.include_apocrypha(true);
1332
+ });
1333
+ return it("should handle book: Nah (ar)", function() {
1334
+
1335
+ expect(p.parse("سفر ناحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'سفر ناحوم 1:1'")
1336
+ expect(p.parse("ناحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'ناحوم 1:1'")
1337
+ expect(p.parse("نحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نحوم 1:1'")
1338
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'")
1339
+ expect(p.parse("نحو 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نحو 1:1'")
1340
+ expect(p.parse("نا 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نا 1:1'")
1341
+ p.include_apocrypha(false)
1342
+ expect(p.parse("سفر ناحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'سفر ناحوم 1:1'")
1343
+ expect(p.parse("ناحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'ناحوم 1:1'")
1344
+ expect(p.parse("نحوم 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نحوم 1:1'")
1345
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'")
1346
+ expect(p.parse("نحو 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نحو 1:1'")
1347
+ expect(p.parse("نا 1:1").osis()).toEqual("Nah.1.1", "parsing: 'نا 1:1'")
1348
+ ;
1349
+ return true;
1350
+ });
1351
+ });
1352
+
1353
+ describe("Localized book Hab (ar)", function() {
1354
+ var p;
1355
+ p = {};
1356
+ beforeEach(function() {
1357
+ p = new bcv_parser();
1358
+ p.set_options({
1359
+ book_alone_strategy: "ignore",
1360
+ book_sequence_strategy: "ignore",
1361
+ osis_compaction_strategy: "bc",
1362
+ captive_end_digits_strategy: "delete"
1363
+ });
1364
+ return p.include_apocrypha(true);
1365
+ });
1366
+ return it("should handle book: Hab (ar)", function() {
1367
+
1368
+ expect(p.parse("سفر حبقوق 1:1").osis()).toEqual("Hab.1.1", "parsing: 'سفر حبقوق 1:1'")
1369
+ expect(p.parse("حبقوق 1:1").osis()).toEqual("Hab.1.1", "parsing: 'حبقوق 1:1'")
1370
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'")
1371
+ expect(p.parse("حب 1:1").osis()).toEqual("Hab.1.1", "parsing: 'حب 1:1'")
1372
+ p.include_apocrypha(false)
1373
+ expect(p.parse("سفر حبقوق 1:1").osis()).toEqual("Hab.1.1", "parsing: 'سفر حبقوق 1:1'")
1374
+ expect(p.parse("حبقوق 1:1").osis()).toEqual("Hab.1.1", "parsing: 'حبقوق 1:1'")
1375
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'")
1376
+ expect(p.parse("حب 1:1").osis()).toEqual("Hab.1.1", "parsing: 'حب 1:1'")
1377
+ ;
1378
+ return true;
1379
+ });
1380
+ });
1381
+
1382
+ describe("Localized book Zeph (ar)", 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: Zeph (ar)", function() {
1396
+
1397
+ expect(p.parse("سفر صفنيا 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'سفر صفنيا 1:1'")
1398
+ expect(p.parse("صفنيا 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'صفنيا 1:1'")
1399
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'")
1400
+ expect(p.parse("صف 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'صف 1:1'")
1401
+ p.include_apocrypha(false)
1402
+ expect(p.parse("سفر صفنيا 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'سفر صفنيا 1:1'")
1403
+ expect(p.parse("صفنيا 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'صفنيا 1:1'")
1404
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'")
1405
+ expect(p.parse("صف 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'صف 1:1'")
1406
+ ;
1407
+ return true;
1408
+ });
1409
+ });
1410
+
1411
+ describe("Localized book Hag (ar)", function() {
1412
+ var p;
1413
+ p = {};
1414
+ beforeEach(function() {
1415
+ p = new bcv_parser();
1416
+ p.set_options({
1417
+ book_alone_strategy: "ignore",
1418
+ book_sequence_strategy: "ignore",
1419
+ osis_compaction_strategy: "bc",
1420
+ captive_end_digits_strategy: "delete"
1421
+ });
1422
+ return p.include_apocrypha(true);
1423
+ });
1424
+ return it("should handle book: Hag (ar)", function() {
1425
+
1426
+ expect(p.parse("سفر حجي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'سفر حجي 1:1'")
1427
+ expect(p.parse("حجَّي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجَّي 1:1'")
1428
+ expect(p.parse("حجاي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجاي 1:1'")
1429
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'")
1430
+ expect(p.parse("حجي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجي 1:1'")
1431
+ expect(p.parse("حج 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حج 1:1'")
1432
+ p.include_apocrypha(false)
1433
+ expect(p.parse("سفر حجي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'سفر حجي 1:1'")
1434
+ expect(p.parse("حجَّي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجَّي 1:1'")
1435
+ expect(p.parse("حجاي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجاي 1:1'")
1436
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'")
1437
+ expect(p.parse("حجي 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حجي 1:1'")
1438
+ expect(p.parse("حج 1:1").osis()).toEqual("Hag.1.1", "parsing: 'حج 1:1'")
1439
+ ;
1440
+ return true;
1441
+ });
1442
+ });
1443
+
1444
+ describe("Localized book Zech (ar)", function() {
1445
+ var p;
1446
+ p = {};
1447
+ beforeEach(function() {
1448
+ p = new bcv_parser();
1449
+ p.set_options({
1450
+ book_alone_strategy: "ignore",
1451
+ book_sequence_strategy: "ignore",
1452
+ osis_compaction_strategy: "bc",
1453
+ captive_end_digits_strategy: "delete"
1454
+ });
1455
+ return p.include_apocrypha(true);
1456
+ });
1457
+ return it("should handle book: Zech (ar)", function() {
1458
+
1459
+ expect(p.parse("زَكَرِيّا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زَكَرِيّا 1:1'")
1460
+ expect(p.parse("سفر زكريا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'سفر زكريا 1:1'")
1461
+ expect(p.parse("زكريا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زكريا 1:1'")
1462
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'")
1463
+ expect(p.parse("زك 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زك 1:1'")
1464
+ p.include_apocrypha(false)
1465
+ expect(p.parse("زَكَرِيّا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زَكَرِيّا 1:1'")
1466
+ expect(p.parse("سفر زكريا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'سفر زكريا 1:1'")
1467
+ expect(p.parse("زكريا 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زكريا 1:1'")
1468
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'")
1469
+ expect(p.parse("زك 1:1").osis()).toEqual("Zech.1.1", "parsing: 'زك 1:1'")
1470
+ ;
1471
+ return true;
1472
+ });
1473
+ });
1474
+
1475
+ describe("Localized book Mal (ar)", function() {
1476
+ var p;
1477
+ p = {};
1478
+ beforeEach(function() {
1479
+ p = new bcv_parser();
1480
+ p.set_options({
1481
+ book_alone_strategy: "ignore",
1482
+ book_sequence_strategy: "ignore",
1483
+ osis_compaction_strategy: "bc",
1484
+ captive_end_digits_strategy: "delete"
1485
+ });
1486
+ return p.include_apocrypha(true);
1487
+ });
1488
+ return it("should handle book: Mal (ar)", function() {
1489
+
1490
+ expect(p.parse("سفر ملاخي 1:1").osis()).toEqual("Mal.1.1", "parsing: 'سفر ملاخي 1:1'")
1491
+ expect(p.parse("ملاخي 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ملاخي 1:1'")
1492
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'")
1493
+ expect(p.parse("ملا 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ملا 1:1'")
1494
+ expect(p.parse("ﻣﻼﺥ 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ﻣﻼﺥ 1:1'")
1495
+ expect(p.parse("مل 1:1").osis()).toEqual("Mal.1.1", "parsing: 'مل 1:1'")
1496
+ p.include_apocrypha(false)
1497
+ expect(p.parse("سفر ملاخي 1:1").osis()).toEqual("Mal.1.1", "parsing: 'سفر ملاخي 1:1'")
1498
+ expect(p.parse("ملاخي 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ملاخي 1:1'")
1499
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'")
1500
+ expect(p.parse("ملا 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ملا 1:1'")
1501
+ expect(p.parse("ﻣﻼﺥ 1:1").osis()).toEqual("Mal.1.1", "parsing: 'ﻣﻼﺥ 1:1'")
1502
+ expect(p.parse("مل 1:1").osis()).toEqual("Mal.1.1", "parsing: 'مل 1:1'")
1503
+ ;
1504
+ return true;
1505
+ });
1506
+ });
1507
+
1508
+ describe("Localized book Matt (ar)", 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: Matt (ar)", function() {
1522
+
1523
+ expect(p.parse("إنجيل متى 1:1").osis()).toEqual("Matt.1.1", "parsing: 'إنجيل متى 1:1'")
1524
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'")
1525
+ expect(p.parse("متى 1:1").osis()).toEqual("Matt.1.1", "parsing: 'متى 1:1'")
1526
+ expect(p.parse("مت 1:1").osis()).toEqual("Matt.1.1", "parsing: 'مت 1:1'")
1527
+ p.include_apocrypha(false)
1528
+ expect(p.parse("إنجيل متى 1:1").osis()).toEqual("Matt.1.1", "parsing: 'إنجيل متى 1:1'")
1529
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'")
1530
+ expect(p.parse("متى 1:1").osis()).toEqual("Matt.1.1", "parsing: 'متى 1:1'")
1531
+ expect(p.parse("مت 1:1").osis()).toEqual("Matt.1.1", "parsing: 'مت 1:1'")
1532
+ ;
1533
+ return true;
1534
+ });
1535
+ });
1536
+
1537
+ describe("Localized book Mark (ar)", function() {
1538
+ var p;
1539
+ p = {};
1540
+ beforeEach(function() {
1541
+ p = new bcv_parser();
1542
+ p.set_options({
1543
+ book_alone_strategy: "ignore",
1544
+ book_sequence_strategy: "ignore",
1545
+ osis_compaction_strategy: "bc",
1546
+ captive_end_digits_strategy: "delete"
1547
+ });
1548
+ return p.include_apocrypha(true);
1549
+ });
1550
+ return it("should handle book: Mark (ar)", function() {
1551
+
1552
+ expect(p.parse("إنجيل مرقس 1:1").osis()).toEqual("Mark.1.1", "parsing: 'إنجيل مرقس 1:1'")
1553
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'")
1554
+ expect(p.parse("مرقس 1:1").osis()).toEqual("Mark.1.1", "parsing: 'مرقس 1:1'")
1555
+ expect(p.parse("مر 1:1").osis()).toEqual("Mark.1.1", "parsing: 'مر 1:1'")
1556
+ p.include_apocrypha(false)
1557
+ expect(p.parse("إنجيل مرقس 1:1").osis()).toEqual("Mark.1.1", "parsing: 'إنجيل مرقس 1:1'")
1558
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'")
1559
+ expect(p.parse("مرقس 1:1").osis()).toEqual("Mark.1.1", "parsing: 'مرقس 1:1'")
1560
+ expect(p.parse("مر 1:1").osis()).toEqual("Mark.1.1", "parsing: 'مر 1:1'")
1561
+ ;
1562
+ return true;
1563
+ });
1564
+ });
1565
+
1566
+ describe("Localized book Luke (ar)", 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: Luke (ar)", function() {
1580
+
1581
+ expect(p.parse("إنجيل لوقا 1:1").osis()).toEqual("Luke.1.1", "parsing: 'إنجيل لوقا 1:1'")
1582
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'")
1583
+ expect(p.parse("لوقا 1:1").osis()).toEqual("Luke.1.1", "parsing: 'لوقا 1:1'")
1584
+ expect(p.parse("لو 1:1").osis()).toEqual("Luke.1.1", "parsing: 'لو 1:1'")
1585
+ p.include_apocrypha(false)
1586
+ expect(p.parse("إنجيل لوقا 1:1").osis()).toEqual("Luke.1.1", "parsing: 'إنجيل لوقا 1:1'")
1587
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'")
1588
+ expect(p.parse("لوقا 1:1").osis()).toEqual("Luke.1.1", "parsing: 'لوقا 1:1'")
1589
+ expect(p.parse("لو 1:1").osis()).toEqual("Luke.1.1", "parsing: 'لو 1:1'")
1590
+ ;
1591
+ return true;
1592
+ });
1593
+ });
1594
+
1595
+ describe("Localized book 1John (ar)", function() {
1596
+ var p;
1597
+ p = {};
1598
+ beforeEach(function() {
1599
+ p = new bcv_parser();
1600
+ p.set_options({
1601
+ book_alone_strategy: "ignore",
1602
+ book_sequence_strategy: "ignore",
1603
+ osis_compaction_strategy: "bc",
1604
+ captive_end_digits_strategy: "delete"
1605
+ });
1606
+ return p.include_apocrypha(true);
1607
+ });
1608
+ return it("should handle book: 1John (ar)", function() {
1609
+
1610
+ expect(p.parse("رسالة القديس يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة القديس يوحنا الأولى 1:1'")
1611
+ expect(p.parse("رسالة يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة يوحنا الأولى 1:1'")
1612
+ expect(p.parse("رسالة يوحنا 1 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة يوحنا 1 1:1'")
1613
+ expect(p.parse("يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'يوحنا الأولى 1:1'")
1614
+ expect(p.parse("ﻳﻮﺣﻨﺎ ﺍﻻﻭﻝ 1:1").osis()).toEqual("1John.1.1", "parsing: 'ﻳﻮﺣﻨﺎ ﺍﻻﻭﻝ 1:1'")
1615
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'")
1616
+ expect(p.parse("1 يو 1:1").osis()).toEqual("1John.1.1", "parsing: '1 يو 1:1'")
1617
+ p.include_apocrypha(false)
1618
+ expect(p.parse("رسالة القديس يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة القديس يوحنا الأولى 1:1'")
1619
+ expect(p.parse("رسالة يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة يوحنا الأولى 1:1'")
1620
+ expect(p.parse("رسالة يوحنا 1 1:1").osis()).toEqual("1John.1.1", "parsing: 'رسالة يوحنا 1 1:1'")
1621
+ expect(p.parse("يوحنا الأولى 1:1").osis()).toEqual("1John.1.1", "parsing: 'يوحنا الأولى 1:1'")
1622
+ expect(p.parse("ﻳﻮﺣﻨﺎ ﺍﻻﻭﻝ 1:1").osis()).toEqual("1John.1.1", "parsing: 'ﻳﻮﺣﻨﺎ ﺍﻻﻭﻝ 1:1'")
1623
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'")
1624
+ expect(p.parse("1 يو 1:1").osis()).toEqual("1John.1.1", "parsing: '1 يو 1:1'")
1625
+ ;
1626
+ return true;
1627
+ });
1628
+ });
1629
+
1630
+ describe("Localized book 2John (ar)", function() {
1631
+ var p;
1632
+ p = {};
1633
+ beforeEach(function() {
1634
+ p = new bcv_parser();
1635
+ p.set_options({
1636
+ book_alone_strategy: "ignore",
1637
+ book_sequence_strategy: "ignore",
1638
+ osis_compaction_strategy: "bc",
1639
+ captive_end_digits_strategy: "delete"
1640
+ });
1641
+ return p.include_apocrypha(true);
1642
+ });
1643
+ return it("should handle book: 2John (ar)", function() {
1644
+
1645
+ expect(p.parse("رسالة القديس يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة القديس يوحنا الثانية 1:1'")
1646
+ expect(p.parse("رسالة يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة يوحنا الثانية 1:1'")
1647
+ expect(p.parse("رسالة يوحنا 2 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة يوحنا 2 1:1'")
1648
+ expect(p.parse("يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'يوحنا الثانية 1:1'")
1649
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'")
1650
+ expect(p.parse("2 يو 1:1").osis()).toEqual("2John.1.1", "parsing: '2 يو 1:1'")
1651
+ p.include_apocrypha(false)
1652
+ expect(p.parse("رسالة القديس يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة القديس يوحنا الثانية 1:1'")
1653
+ expect(p.parse("رسالة يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة يوحنا الثانية 1:1'")
1654
+ expect(p.parse("رسالة يوحنا 2 1:1").osis()).toEqual("2John.1.1", "parsing: 'رسالة يوحنا 2 1:1'")
1655
+ expect(p.parse("يوحنا الثانية 1:1").osis()).toEqual("2John.1.1", "parsing: 'يوحنا الثانية 1:1'")
1656
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'")
1657
+ expect(p.parse("2 يو 1:1").osis()).toEqual("2John.1.1", "parsing: '2 يو 1:1'")
1658
+ ;
1659
+ return true;
1660
+ });
1661
+ });
1662
+
1663
+ describe("Localized book 3John (ar)", function() {
1664
+ var p;
1665
+ p = {};
1666
+ beforeEach(function() {
1667
+ p = new bcv_parser();
1668
+ p.set_options({
1669
+ book_alone_strategy: "ignore",
1670
+ book_sequence_strategy: "ignore",
1671
+ osis_compaction_strategy: "bc",
1672
+ captive_end_digits_strategy: "delete"
1673
+ });
1674
+ return p.include_apocrypha(true);
1675
+ });
1676
+ return it("should handle book: 3John (ar)", function() {
1677
+
1678
+ expect(p.parse("رسالة القديس يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة القديس يوحنا الثالثة 1:1'")
1679
+ expect(p.parse("رسالة يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة يوحنا الثالثة 1:1'")
1680
+ expect(p.parse("رسالة يوحنا 3 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة يوحنا 3 1:1'")
1681
+ expect(p.parse("يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'يوحنا الثالثة 1:1'")
1682
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'")
1683
+ expect(p.parse("3 يو 1:1").osis()).toEqual("3John.1.1", "parsing: '3 يو 1:1'")
1684
+ p.include_apocrypha(false)
1685
+ expect(p.parse("رسالة القديس يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة القديس يوحنا الثالثة 1:1'")
1686
+ expect(p.parse("رسالة يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة يوحنا الثالثة 1:1'")
1687
+ expect(p.parse("رسالة يوحنا 3 1:1").osis()).toEqual("3John.1.1", "parsing: 'رسالة يوحنا 3 1:1'")
1688
+ expect(p.parse("يوحنا الثالثة 1:1").osis()).toEqual("3John.1.1", "parsing: 'يوحنا الثالثة 1:1'")
1689
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'")
1690
+ expect(p.parse("3 يو 1:1").osis()).toEqual("3John.1.1", "parsing: '3 يو 1:1'")
1691
+ ;
1692
+ return true;
1693
+ });
1694
+ });
1695
+
1696
+ describe("Localized book Rev (ar)", function() {
1697
+ var p;
1698
+ p = {};
1699
+ beforeEach(function() {
1700
+ p = new bcv_parser();
1701
+ p.set_options({
1702
+ book_alone_strategy: "ignore",
1703
+ book_sequence_strategy: "ignore",
1704
+ osis_compaction_strategy: "bc",
1705
+ captive_end_digits_strategy: "delete"
1706
+ });
1707
+ return p.include_apocrypha(true);
1708
+ });
1709
+ return it("should handle book: Rev (ar)", function() {
1710
+
1711
+ expect(p.parse("رؤيا يوحنا 1:1").osis()).toEqual("Rev.1.1", "parsing: 'رؤيا يوحنا 1:1'")
1712
+ expect(p.parse("ﻳﻮﺣﻨﺎ ﺭﺅﻳﺎ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ﻳﻮﺣﻨﺎ ﺭﺅﻳﺎ 1:1'")
1713
+ expect(p.parse("الرؤيــا 1:1").osis()).toEqual("Rev.1.1", "parsing: 'الرؤيــا 1:1'")
1714
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'")
1715
+ expect(p.parse("رؤ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'رؤ 1:1'")
1716
+ p.include_apocrypha(false)
1717
+ expect(p.parse("رؤيا يوحنا 1:1").osis()).toEqual("Rev.1.1", "parsing: 'رؤيا يوحنا 1:1'")
1718
+ expect(p.parse("ﻳﻮﺣﻨﺎ ﺭﺅﻳﺎ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ﻳﻮﺣﻨﺎ ﺭﺅﻳﺎ 1:1'")
1719
+ expect(p.parse("الرؤيــا 1:1").osis()).toEqual("Rev.1.1", "parsing: 'الرؤيــا 1:1'")
1720
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'")
1721
+ expect(p.parse("رؤ 1:1").osis()).toEqual("Rev.1.1", "parsing: 'رؤ 1:1'")
1722
+ ;
1723
+ return true;
1724
+ });
1725
+ });
1726
+
1727
+ describe("Localized book John (ar)", function() {
1728
+ var p;
1729
+ p = {};
1730
+ beforeEach(function() {
1731
+ p = new bcv_parser();
1732
+ p.set_options({
1733
+ book_alone_strategy: "ignore",
1734
+ book_sequence_strategy: "ignore",
1735
+ osis_compaction_strategy: "bc",
1736
+ captive_end_digits_strategy: "delete"
1737
+ });
1738
+ return p.include_apocrypha(true);
1739
+ });
1740
+ return it("should handle book: John (ar)", function() {
1741
+
1742
+ expect(p.parse("إنجيل يوحنا 1:1").osis()).toEqual("John.1.1", "parsing: 'إنجيل يوحنا 1:1'")
1743
+ expect(p.parse("يوحنا 1:1").osis()).toEqual("John.1.1", "parsing: 'يوحنا 1:1'")
1744
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'")
1745
+ expect(p.parse("يو 1:1").osis()).toEqual("John.1.1", "parsing: 'يو 1:1'")
1746
+ p.include_apocrypha(false)
1747
+ expect(p.parse("إنجيل يوحنا 1:1").osis()).toEqual("John.1.1", "parsing: 'إنجيل يوحنا 1:1'")
1748
+ expect(p.parse("يوحنا 1:1").osis()).toEqual("John.1.1", "parsing: 'يوحنا 1:1'")
1749
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'")
1750
+ expect(p.parse("يو 1:1").osis()).toEqual("John.1.1", "parsing: 'يو 1:1'")
1751
+ ;
1752
+ return true;
1753
+ });
1754
+ });
1755
+
1756
+ describe("Localized book Acts (ar)", function() {
1757
+ var p;
1758
+ p = {};
1759
+ beforeEach(function() {
1760
+ p = new bcv_parser();
1761
+ p.set_options({
1762
+ book_alone_strategy: "ignore",
1763
+ book_sequence_strategy: "ignore",
1764
+ osis_compaction_strategy: "bc",
1765
+ captive_end_digits_strategy: "delete"
1766
+ });
1767
+ return p.include_apocrypha(true);
1768
+ });
1769
+ return it("should handle book: Acts (ar)", function() {
1770
+
1771
+ expect(p.parse("سفر أعمال الرسل 1:1").osis()).toEqual("Acts.1.1", "parsing: 'سفر أعمال الرسل 1:1'")
1772
+ expect(p.parse("أعمال الرسل 1:1").osis()).toEqual("Acts.1.1", "parsing: 'أعمال الرسل 1:1'")
1773
+ expect(p.parse("ﺍﻋﻤﺎﻝ ﺍﻟﺮﺳﻞ 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ﺍﻋﻤﺎﻝ ﺍﻟﺮﺳﻞ 1:1'")
1774
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'")
1775
+ expect(p.parse("اع 1:1").osis()).toEqual("Acts.1.1", "parsing: 'اع 1:1'")
1776
+ p.include_apocrypha(false)
1777
+ expect(p.parse("سفر أعمال الرسل 1:1").osis()).toEqual("Acts.1.1", "parsing: 'سفر أعمال الرسل 1:1'")
1778
+ expect(p.parse("أعمال الرسل 1:1").osis()).toEqual("Acts.1.1", "parsing: 'أعمال الرسل 1:1'")
1779
+ expect(p.parse("ﺍﻋﻤﺎﻝ ﺍﻟﺮﺳﻞ 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ﺍﻋﻤﺎﻝ ﺍﻟﺮﺳﻞ 1:1'")
1780
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'")
1781
+ expect(p.parse("اع 1:1").osis()).toEqual("Acts.1.1", "parsing: 'اع 1:1'")
1782
+ ;
1783
+ return true;
1784
+ });
1785
+ });
1786
+
1787
+ describe("Localized book Rom (ar)", function() {
1788
+ var p;
1789
+ p = {};
1790
+ beforeEach(function() {
1791
+ p = new bcv_parser();
1792
+ p.set_options({
1793
+ book_alone_strategy: "ignore",
1794
+ book_sequence_strategy: "ignore",
1795
+ osis_compaction_strategy: "bc",
1796
+ captive_end_digits_strategy: "delete"
1797
+ });
1798
+ return p.include_apocrypha(true);
1799
+ });
1800
+ return it("should handle book: Rom (ar)", function() {
1801
+
1802
+ expect(p.parse("رسالة بولس الرسول إلى أهل رومية 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رسالة بولس الرسول إلى أهل رومية 1:1'")
1803
+ expect(p.parse("الرسالة إلى أهل رومية 1:1").osis()).toEqual("Rom.1.1", "parsing: 'الرسالة إلى أهل رومية 1:1'")
1804
+ expect(p.parse("رسالة روما 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رسالة روما 1:1'")
1805
+ expect(p.parse("ﺭﻭﻣﻴﺔ 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ﺭﻭﻣﻴﺔ 1:1'")
1806
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'")
1807
+ expect(p.parse("روم 1:1").osis()).toEqual("Rom.1.1", "parsing: 'روم 1:1'")
1808
+ expect(p.parse("رو 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رو 1:1'")
1809
+ p.include_apocrypha(false)
1810
+ expect(p.parse("رسالة بولس الرسول إلى أهل رومية 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رسالة بولس الرسول إلى أهل رومية 1:1'")
1811
+ expect(p.parse("الرسالة إلى أهل رومية 1:1").osis()).toEqual("Rom.1.1", "parsing: 'الرسالة إلى أهل رومية 1:1'")
1812
+ expect(p.parse("رسالة روما 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رسالة روما 1:1'")
1813
+ expect(p.parse("ﺭﻭﻣﻴﺔ 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ﺭﻭﻣﻴﺔ 1:1'")
1814
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'")
1815
+ expect(p.parse("روم 1:1").osis()).toEqual("Rom.1.1", "parsing: 'روم 1:1'")
1816
+ expect(p.parse("رو 1:1").osis()).toEqual("Rom.1.1", "parsing: 'رو 1:1'")
1817
+ ;
1818
+ return true;
1819
+ });
1820
+ });
1821
+
1822
+ describe("Localized book 2Cor (ar)", function() {
1823
+ var p;
1824
+ p = {};
1825
+ beforeEach(function() {
1826
+ p = new bcv_parser();
1827
+ p.set_options({
1828
+ book_alone_strategy: "ignore",
1829
+ book_sequence_strategy: "ignore",
1830
+ osis_compaction_strategy: "bc",
1831
+ captive_end_digits_strategy: "delete"
1832
+ });
1833
+ return p.include_apocrypha(true);
1834
+ });
1835
+ return it("should handle book: 2Cor (ar)", function() {
1836
+
1837
+ expect(p.parse("رسالة بولس الرسول الثانية إلى أهل كورنثوس 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى أهل كورنثوس 1:1'")
1838
+ expect(p.parse("الرسالة الثانية إلى أهل كورنثوس 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'الرسالة الثانية إلى أهل كورنثوس 1:1'")
1839
+ expect(p.parse("كورنثوس الثانية 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'كورنثوس الثانية 1:1'")
1840
+ expect(p.parse("2 قور 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 قور 1:1'")
1841
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'")
1842
+ expect(p.parse("2كو 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2كو 1:1'")
1843
+ p.include_apocrypha(false)
1844
+ expect(p.parse("رسالة بولس الرسول الثانية إلى أهل كورنثوس 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى أهل كورنثوس 1:1'")
1845
+ expect(p.parse("الرسالة الثانية إلى أهل كورنثوس 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'الرسالة الثانية إلى أهل كورنثوس 1:1'")
1846
+ expect(p.parse("كورنثوس الثانية 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'كورنثوس الثانية 1:1'")
1847
+ expect(p.parse("2 قور 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 قور 1:1'")
1848
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'")
1849
+ expect(p.parse("2كو 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2كو 1:1'")
1850
+ ;
1851
+ return true;
1852
+ });
1853
+ });
1854
+
1855
+ describe("Localized book 1Cor (ar)", function() {
1856
+ var p;
1857
+ p = {};
1858
+ beforeEach(function() {
1859
+ p = new bcv_parser();
1860
+ p.set_options({
1861
+ book_alone_strategy: "ignore",
1862
+ book_sequence_strategy: "ignore",
1863
+ osis_compaction_strategy: "bc",
1864
+ captive_end_digits_strategy: "delete"
1865
+ });
1866
+ return p.include_apocrypha(true);
1867
+ });
1868
+ return it("should handle book: 1Cor (ar)", function() {
1869
+
1870
+ expect(p.parse("رسالة بولس الرسول الأولى إلى أهل كورنثوس 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى أهل كورنثوس 1:1'")
1871
+ expect(p.parse("الرسالة الأولى إلى أهل كورنثوس 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'الرسالة الأولى إلى أهل كورنثوس 1:1'")
1872
+ expect(p.parse("كورنثوس الأولى 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'كورنثوس الأولى 1:1'")
1873
+ expect(p.parse("ﻛﻮﺭﻧﺜﻮﺱ ﺍﻻﻭﻝ 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'ﻛﻮﺭﻧﺜﻮﺱ ﺍﻻﻭﻝ 1:1'")
1874
+ expect(p.parse("1 قور 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 قور 1:1'")
1875
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'")
1876
+ expect(p.parse("1كو 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1كو 1:1'")
1877
+ p.include_apocrypha(false)
1878
+ expect(p.parse("رسالة بولس الرسول الأولى إلى أهل كورنثوس 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى أهل كورنثوس 1:1'")
1879
+ expect(p.parse("الرسالة الأولى إلى أهل كورنثوس 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'الرسالة الأولى إلى أهل كورنثوس 1:1'")
1880
+ expect(p.parse("كورنثوس الأولى 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'كورنثوس الأولى 1:1'")
1881
+ expect(p.parse("ﻛﻮﺭﻧﺜﻮﺱ ﺍﻻﻭﻝ 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'ﻛﻮﺭﻧﺜﻮﺱ ﺍﻻﻭﻝ 1:1'")
1882
+ expect(p.parse("1 قور 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 قور 1:1'")
1883
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'")
1884
+ expect(p.parse("1كو 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1كو 1:1'")
1885
+ ;
1886
+ return true;
1887
+ });
1888
+ });
1889
+
1890
+ describe("Localized book Gal (ar)", function() {
1891
+ var p;
1892
+ p = {};
1893
+ beforeEach(function() {
1894
+ p = new bcv_parser();
1895
+ p.set_options({
1896
+ book_alone_strategy: "ignore",
1897
+ book_sequence_strategy: "ignore",
1898
+ osis_compaction_strategy: "bc",
1899
+ captive_end_digits_strategy: "delete"
1900
+ });
1901
+ return p.include_apocrypha(true);
1902
+ });
1903
+ return it("should handle book: Gal (ar)", function() {
1904
+
1905
+ expect(p.parse("رسالة بولس الرسول إلى أهل غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'رسالة بولس الرسول إلى أهل غلاطية 1:1'")
1906
+ expect(p.parse("الرسالة إلى أهل غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'الرسالة إلى أهل غلاطية 1:1'")
1907
+ expect(p.parse("رسالة غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'رسالة غلاطية 1:1'")
1908
+ expect(p.parse("ﻏﻼﻃﻲ 1:1").osis()).toEqual("Gal.1.1", "parsing: 'ﻏﻼﻃﻲ 1:1'")
1909
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'")
1910
+ expect(p.parse("غل 1:1").osis()).toEqual("Gal.1.1", "parsing: 'غل 1:1'")
1911
+ p.include_apocrypha(false)
1912
+ expect(p.parse("رسالة بولس الرسول إلى أهل غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'رسالة بولس الرسول إلى أهل غلاطية 1:1'")
1913
+ expect(p.parse("الرسالة إلى أهل غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'الرسالة إلى أهل غلاطية 1:1'")
1914
+ expect(p.parse("رسالة غلاطية 1:1").osis()).toEqual("Gal.1.1", "parsing: 'رسالة غلاطية 1:1'")
1915
+ expect(p.parse("ﻏﻼﻃﻲ 1:1").osis()).toEqual("Gal.1.1", "parsing: 'ﻏﻼﻃﻲ 1:1'")
1916
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'")
1917
+ expect(p.parse("غل 1:1").osis()).toEqual("Gal.1.1", "parsing: 'غل 1:1'")
1918
+ ;
1919
+ return true;
1920
+ });
1921
+ });
1922
+
1923
+ describe("Localized book Eph (ar)", function() {
1924
+ var p;
1925
+ p = {};
1926
+ beforeEach(function() {
1927
+ p = new bcv_parser();
1928
+ p.set_options({
1929
+ book_alone_strategy: "ignore",
1930
+ book_sequence_strategy: "ignore",
1931
+ osis_compaction_strategy: "bc",
1932
+ captive_end_digits_strategy: "delete"
1933
+ });
1934
+ return p.include_apocrypha(true);
1935
+ });
1936
+ return it("should handle book: Eph (ar)", function() {
1937
+
1938
+ expect(p.parse("رسالة بولس الرسول إلى أهل أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'رسالة بولس الرسول إلى أهل أفسس 1:1'")
1939
+ expect(p.parse("الرسالة إلى أهل أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'الرسالة إلى أهل أفسس 1:1'")
1940
+ expect(p.parse("رسالة أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'رسالة أفسس 1:1'")
1941
+ expect(p.parse("ﺃﻓﺴﺲ 1:1").osis()).toEqual("Eph.1.1", "parsing: 'ﺃﻓﺴﺲ 1:1'")
1942
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'")
1943
+ expect(p.parse("أف 1:1").osis()).toEqual("Eph.1.1", "parsing: 'أف 1:1'")
1944
+ p.include_apocrypha(false)
1945
+ expect(p.parse("رسالة بولس الرسول إلى أهل أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'رسالة بولس الرسول إلى أهل أفسس 1:1'")
1946
+ expect(p.parse("الرسالة إلى أهل أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'الرسالة إلى أهل أفسس 1:1'")
1947
+ expect(p.parse("رسالة أفسس 1:1").osis()).toEqual("Eph.1.1", "parsing: 'رسالة أفسس 1:1'")
1948
+ expect(p.parse("ﺃﻓﺴﺲ 1:1").osis()).toEqual("Eph.1.1", "parsing: 'ﺃﻓﺴﺲ 1:1'")
1949
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'")
1950
+ expect(p.parse("أف 1:1").osis()).toEqual("Eph.1.1", "parsing: 'أف 1:1'")
1951
+ ;
1952
+ return true;
1953
+ });
1954
+ });
1955
+
1956
+ describe("Localized book Phil (ar)", function() {
1957
+ var p;
1958
+ p = {};
1959
+ beforeEach(function() {
1960
+ p = new bcv_parser();
1961
+ p.set_options({
1962
+ book_alone_strategy: "ignore",
1963
+ book_sequence_strategy: "ignore",
1964
+ osis_compaction_strategy: "bc",
1965
+ captive_end_digits_strategy: "delete"
1966
+ });
1967
+ return p.include_apocrypha(true);
1968
+ });
1969
+ return it("should handle book: Phil (ar)", function() {
1970
+
1971
+ expect(p.parse("رسالة بولس الرسول إلى أهل فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'رسالة بولس الرسول إلى أهل فيلبي 1:1'")
1972
+ expect(p.parse("الرسالة إلى أهل فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'الرسالة إلى أهل فيلبي 1:1'")
1973
+ expect(p.parse("رسالة فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'رسالة فيلبي 1:1'")
1974
+ expect(p.parse("ﻓﻴﻠﻴﺒﻲ 1:1").osis()).toEqual("Phil.1.1", "parsing: 'ﻓﻴﻠﻴﺒﻲ 1:1'")
1975
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'")
1976
+ expect(p.parse("فل 1:1").osis()).toEqual("Phil.1.1", "parsing: 'فل 1:1'")
1977
+ expect(p.parse("في 1:1").osis()).toEqual("Phil.1.1", "parsing: 'في 1:1'")
1978
+ p.include_apocrypha(false)
1979
+ expect(p.parse("رسالة بولس الرسول إلى أهل فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'رسالة بولس الرسول إلى أهل فيلبي 1:1'")
1980
+ expect(p.parse("الرسالة إلى أهل فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'الرسالة إلى أهل فيلبي 1:1'")
1981
+ expect(p.parse("رسالة فيلبي 1:1").osis()).toEqual("Phil.1.1", "parsing: 'رسالة فيلبي 1:1'")
1982
+ expect(p.parse("ﻓﻴﻠﻴﺒﻲ 1:1").osis()).toEqual("Phil.1.1", "parsing: 'ﻓﻴﻠﻴﺒﻲ 1:1'")
1983
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'")
1984
+ expect(p.parse("فل 1:1").osis()).toEqual("Phil.1.1", "parsing: 'فل 1:1'")
1985
+ expect(p.parse("في 1:1").osis()).toEqual("Phil.1.1", "parsing: 'في 1:1'")
1986
+ ;
1987
+ return true;
1988
+ });
1989
+ });
1990
+
1991
+ describe("Localized book Col (ar)", function() {
1992
+ var p;
1993
+ p = {};
1994
+ beforeEach(function() {
1995
+ p = new bcv_parser();
1996
+ p.set_options({
1997
+ book_alone_strategy: "ignore",
1998
+ book_sequence_strategy: "ignore",
1999
+ osis_compaction_strategy: "bc",
2000
+ captive_end_digits_strategy: "delete"
2001
+ });
2002
+ return p.include_apocrypha(true);
2003
+ });
2004
+ return it("should handle book: Col (ar)", function() {
2005
+
2006
+ expect(p.parse("رسالة بولس الرسول إلى أهل كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'رسالة بولس الرسول إلى أهل كولوسي 1:1'")
2007
+ expect(p.parse("الرسالة إلى أهل كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'الرسالة إلى أهل كولوسي 1:1'")
2008
+ expect(p.parse("رسالة كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'رسالة كولوسي 1:1'")
2009
+ expect(p.parse("ﻛﻮﻟﻮﺳﻲ 1:1").osis()).toEqual("Col.1.1", "parsing: 'ﻛﻮﻟﻮﺳﻲ 1:1'")
2010
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'")
2011
+ expect(p.parse("قول 1:1").osis()).toEqual("Col.1.1", "parsing: 'قول 1:1'")
2012
+ expect(p.parse("كو 1:1").osis()).toEqual("Col.1.1", "parsing: 'كو 1:1'")
2013
+ p.include_apocrypha(false)
2014
+ expect(p.parse("رسالة بولس الرسول إلى أهل كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'رسالة بولس الرسول إلى أهل كولوسي 1:1'")
2015
+ expect(p.parse("الرسالة إلى أهل كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'الرسالة إلى أهل كولوسي 1:1'")
2016
+ expect(p.parse("رسالة كولوسي 1:1").osis()).toEqual("Col.1.1", "parsing: 'رسالة كولوسي 1:1'")
2017
+ expect(p.parse("ﻛﻮﻟﻮﺳﻲ 1:1").osis()).toEqual("Col.1.1", "parsing: 'ﻛﻮﻟﻮﺳﻲ 1:1'")
2018
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'")
2019
+ expect(p.parse("قول 1:1").osis()).toEqual("Col.1.1", "parsing: 'قول 1:1'")
2020
+ expect(p.parse("كو 1:1").osis()).toEqual("Col.1.1", "parsing: 'كو 1:1'")
2021
+ ;
2022
+ return true;
2023
+ });
2024
+ });
2025
+
2026
+ describe("Localized book 2Thess (ar)", function() {
2027
+ var p;
2028
+ p = {};
2029
+ beforeEach(function() {
2030
+ p = new bcv_parser();
2031
+ p.set_options({
2032
+ book_alone_strategy: "ignore",
2033
+ book_sequence_strategy: "ignore",
2034
+ osis_compaction_strategy: "bc",
2035
+ captive_end_digits_strategy: "delete"
2036
+ });
2037
+ return p.include_apocrypha(true);
2038
+ });
2039
+ return it("should handle book: 2Thess (ar)", function() {
2040
+
2041
+ expect(p.parse("رسالة بولس الرسول الثانية إلى أهل تسالونيكي 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى أهل تسالونيكي 1:1'")
2042
+ expect(p.parse("الرسالة الثانية إلى أهل تسالونيكي 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'الرسالة الثانية إلى أهل تسالونيكي 1:1'")
2043
+ expect(p.parse("رسالة تسالونيكي الثانية 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'رسالة تسالونيكي الثانية 1:1'")
2044
+ expect(p.parse("ﺍﻟﺜﺎﻧﻴﺔ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ﺍﻟﺜﺎﻧﻴﺔ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1'")
2045
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'")
2046
+ expect(p.parse("2 تس 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 تس 1:1'")
2047
+ p.include_apocrypha(false)
2048
+ expect(p.parse("رسالة بولس الرسول الثانية إلى أهل تسالونيكي 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى أهل تسالونيكي 1:1'")
2049
+ expect(p.parse("الرسالة الثانية إلى أهل تسالونيكي 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'الرسالة الثانية إلى أهل تسالونيكي 1:1'")
2050
+ expect(p.parse("رسالة تسالونيكي الثانية 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'رسالة تسالونيكي الثانية 1:1'")
2051
+ expect(p.parse("ﺍﻟﺜﺎﻧﻴﺔ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ﺍﻟﺜﺎﻧﻴﺔ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1'")
2052
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'")
2053
+ expect(p.parse("2 تس 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 تس 1:1'")
2054
+ ;
2055
+ return true;
2056
+ });
2057
+ });
2058
+
2059
+ describe("Localized book 1Thess (ar)", function() {
2060
+ var p;
2061
+ p = {};
2062
+ beforeEach(function() {
2063
+ p = new bcv_parser();
2064
+ p.set_options({
2065
+ book_alone_strategy: "ignore",
2066
+ book_sequence_strategy: "ignore",
2067
+ osis_compaction_strategy: "bc",
2068
+ captive_end_digits_strategy: "delete"
2069
+ });
2070
+ return p.include_apocrypha(true);
2071
+ });
2072
+ return it("should handle book: 1Thess (ar)", function() {
2073
+
2074
+ expect(p.parse("رسالة بولس الرسول الأولى إلى أهل تسالونيكي 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى أهل تسالونيكي 1:1'")
2075
+ expect(p.parse("الرسالة الأولى إلى أهل تسالونيكي 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'الرسالة الأولى إلى أهل تسالونيكي 1:1'")
2076
+ expect(p.parse("رسالة تسالونيكي الأولى 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'رسالة تسالونيكي الأولى 1:1'")
2077
+ expect(p.parse("ﺍﻻﻭﻝ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'ﺍﻻﻭﻝ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1'")
2078
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'")
2079
+ expect(p.parse("1 تس 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 تس 1:1'")
2080
+ p.include_apocrypha(false)
2081
+ expect(p.parse("رسالة بولس الرسول الأولى إلى أهل تسالونيكي 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى أهل تسالونيكي 1:1'")
2082
+ expect(p.parse("الرسالة الأولى إلى أهل تسالونيكي 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'الرسالة الأولى إلى أهل تسالونيكي 1:1'")
2083
+ expect(p.parse("رسالة تسالونيكي الأولى 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'رسالة تسالونيكي الأولى 1:1'")
2084
+ expect(p.parse("ﺍﻻﻭﻝ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'ﺍﻻﻭﻝ ﺗﺴﺎﻟﻮﻧﻴﻜﻲ 1:1'")
2085
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'")
2086
+ expect(p.parse("1 تس 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 تس 1:1'")
2087
+ ;
2088
+ return true;
2089
+ });
2090
+ });
2091
+
2092
+ describe("Localized book 2Tim (ar)", function() {
2093
+ var p;
2094
+ p = {};
2095
+ beforeEach(function() {
2096
+ p = new bcv_parser();
2097
+ p.set_options({
2098
+ book_alone_strategy: "ignore",
2099
+ book_sequence_strategy: "ignore",
2100
+ osis_compaction_strategy: "bc",
2101
+ captive_end_digits_strategy: "delete"
2102
+ });
2103
+ return p.include_apocrypha(true);
2104
+ });
2105
+ return it("should handle book: 2Tim (ar)", function() {
2106
+
2107
+ expect(p.parse("رسالة بولس الرسول الثانية إلى تيموثاوس 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى تيموثاوس 1:1'")
2108
+ expect(p.parse("الرسالة الثانية إلى تيموثاوس 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'الرسالة الثانية إلى تيموثاوس 1:1'")
2109
+ expect(p.parse("تيموثاوس الثانية 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'تيموثاوس الثانية 1:1'")
2110
+ expect(p.parse("ﺍﻟﺜﺎﻧﻴﺔ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ﺍﻟﺜﺎﻧﻴﺔ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1'")
2111
+ expect(p.parse("2 طيم 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 طيم 1:1'")
2112
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'")
2113
+ p.include_apocrypha(false)
2114
+ expect(p.parse("رسالة بولس الرسول الثانية إلى تيموثاوس 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'رسالة بولس الرسول الثانية إلى تيموثاوس 1:1'")
2115
+ expect(p.parse("الرسالة الثانية إلى تيموثاوس 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'الرسالة الثانية إلى تيموثاوس 1:1'")
2116
+ expect(p.parse("تيموثاوس الثانية 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'تيموثاوس الثانية 1:1'")
2117
+ expect(p.parse("ﺍﻟﺜﺎﻧﻴﺔ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ﺍﻟﺜﺎﻧﻴﺔ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1'")
2118
+ expect(p.parse("2 طيم 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 طيم 1:1'")
2119
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'")
2120
+ ;
2121
+ return true;
2122
+ });
2123
+ });
2124
+
2125
+ describe("Localized book 1Tim (ar)", function() {
2126
+ var p;
2127
+ p = {};
2128
+ beforeEach(function() {
2129
+ p = new bcv_parser();
2130
+ p.set_options({
2131
+ book_alone_strategy: "ignore",
2132
+ book_sequence_strategy: "ignore",
2133
+ osis_compaction_strategy: "bc",
2134
+ captive_end_digits_strategy: "delete"
2135
+ });
2136
+ return p.include_apocrypha(true);
2137
+ });
2138
+ return it("should handle book: 1Tim (ar)", function() {
2139
+
2140
+ expect(p.parse("رسالة بولس الرسول الأولى إلى تيموثاوس 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى تيموثاوس 1:1'")
2141
+ expect(p.parse("الرسالة الأولى إلى تيموثاوس 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'الرسالة الأولى إلى تيموثاوس 1:1'")
2142
+ expect(p.parse("تيموثاوس الأولى 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'تيموثاوس الأولى 1:1'")
2143
+ expect(p.parse("ﺍﻻﻭﻝ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'ﺍﻻﻭﻝ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1'")
2144
+ expect(p.parse("1 طيم 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 طيم 1:1'")
2145
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'")
2146
+ p.include_apocrypha(false)
2147
+ expect(p.parse("رسالة بولس الرسول الأولى إلى تيموثاوس 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'رسالة بولس الرسول الأولى إلى تيموثاوس 1:1'")
2148
+ expect(p.parse("الرسالة الأولى إلى تيموثاوس 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'الرسالة الأولى إلى تيموثاوس 1:1'")
2149
+ expect(p.parse("تيموثاوس الأولى 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'تيموثاوس الأولى 1:1'")
2150
+ expect(p.parse("ﺍﻻﻭﻝ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'ﺍﻻﻭﻝ ﺗﻴﻤﻮﺛﺎﻭﺱ 1:1'")
2151
+ expect(p.parse("1 طيم 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 طيم 1:1'")
2152
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'")
2153
+ ;
2154
+ return true;
2155
+ });
2156
+ });
2157
+
2158
+ describe("Localized book Titus (ar)", function() {
2159
+ var p;
2160
+ p = {};
2161
+ beforeEach(function() {
2162
+ p = new bcv_parser();
2163
+ p.set_options({
2164
+ book_alone_strategy: "ignore",
2165
+ book_sequence_strategy: "ignore",
2166
+ osis_compaction_strategy: "bc",
2167
+ captive_end_digits_strategy: "delete"
2168
+ });
2169
+ return p.include_apocrypha(true);
2170
+ });
2171
+ return it("should handle book: Titus (ar)", function() {
2172
+
2173
+ expect(p.parse("رسالة بولس الرسول إلى تيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'رسالة بولس الرسول إلى تيطس 1:1'")
2174
+ expect(p.parse("الرسالة إلى تيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'الرسالة إلى تيطس 1:1'")
2175
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'")
2176
+ expect(p.parse("طيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'طيطس 1:1'")
2177
+ expect(p.parse("ﺗﻴﻄﺲ 1:1").osis()).toEqual("Titus.1.1", "parsing: 'ﺗﻴﻄﺲ 1:1'")
2178
+ expect(p.parse("تي 1:1").osis()).toEqual("Titus.1.1", "parsing: 'تي 1:1'")
2179
+ expect(p.parse("طي 1:1").osis()).toEqual("Titus.1.1", "parsing: 'طي 1:1'")
2180
+ p.include_apocrypha(false)
2181
+ expect(p.parse("رسالة بولس الرسول إلى تيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'رسالة بولس الرسول إلى تيطس 1:1'")
2182
+ expect(p.parse("الرسالة إلى تيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'الرسالة إلى تيطس 1:1'")
2183
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'")
2184
+ expect(p.parse("طيطس 1:1").osis()).toEqual("Titus.1.1", "parsing: 'طيطس 1:1'")
2185
+ expect(p.parse("ﺗﻴﻄﺲ 1:1").osis()).toEqual("Titus.1.1", "parsing: 'ﺗﻴﻄﺲ 1:1'")
2186
+ expect(p.parse("تي 1:1").osis()).toEqual("Titus.1.1", "parsing: 'تي 1:1'")
2187
+ expect(p.parse("طي 1:1").osis()).toEqual("Titus.1.1", "parsing: 'طي 1:1'")
2188
+ ;
2189
+ return true;
2190
+ });
2191
+ });
2192
+
2193
+ describe("Localized book Phlm (ar)", function() {
2194
+ var p;
2195
+ p = {};
2196
+ beforeEach(function() {
2197
+ p = new bcv_parser();
2198
+ p.set_options({
2199
+ book_alone_strategy: "ignore",
2200
+ book_sequence_strategy: "ignore",
2201
+ osis_compaction_strategy: "bc",
2202
+ captive_end_digits_strategy: "delete"
2203
+ });
2204
+ return p.include_apocrypha(true);
2205
+ });
2206
+ return it("should handle book: Phlm (ar)", function() {
2207
+
2208
+ expect(p.parse("رسالة بولس الرسول إلى فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'رسالة بولس الرسول إلى فليمون 1:1'")
2209
+ expect(p.parse("الرسالة إلى فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'الرسالة إلى فليمون 1:1'")
2210
+ expect(p.parse("فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'فليمون 1:1'")
2211
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'")
2212
+ expect(p.parse("فيل 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'فيل 1:1'")
2213
+ expect(p.parse("ف 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'ف 1:1'")
2214
+ p.include_apocrypha(false)
2215
+ expect(p.parse("رسالة بولس الرسول إلى فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'رسالة بولس الرسول إلى فليمون 1:1'")
2216
+ expect(p.parse("الرسالة إلى فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'الرسالة إلى فليمون 1:1'")
2217
+ expect(p.parse("فليمون 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'فليمون 1:1'")
2218
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'")
2219
+ expect(p.parse("فيل 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'فيل 1:1'")
2220
+ expect(p.parse("ف 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'ف 1:1'")
2221
+ ;
2222
+ return true;
2223
+ });
2224
+ });
2225
+
2226
+ describe("Localized book Heb (ar)", function() {
2227
+ var p;
2228
+ p = {};
2229
+ beforeEach(function() {
2230
+ p = new bcv_parser();
2231
+ p.set_options({
2232
+ book_alone_strategy: "ignore",
2233
+ book_sequence_strategy: "ignore",
2234
+ osis_compaction_strategy: "bc",
2235
+ captive_end_digits_strategy: "delete"
2236
+ });
2237
+ return p.include_apocrypha(true);
2238
+ });
2239
+ return it("should handle book: Heb (ar)", function() {
2240
+
2241
+ expect(p.parse("الرسالة إلى العبرانيين 1:1").osis()).toEqual("Heb.1.1", "parsing: 'الرسالة إلى العبرانيين 1:1'")
2242
+ expect(p.parse("العبرانيين 1:1").osis()).toEqual("Heb.1.1", "parsing: 'العبرانيين 1:1'")
2243
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'")
2244
+ expect(p.parse("عب 1:1").osis()).toEqual("Heb.1.1", "parsing: 'عب 1:1'")
2245
+ p.include_apocrypha(false)
2246
+ expect(p.parse("الرسالة إلى العبرانيين 1:1").osis()).toEqual("Heb.1.1", "parsing: 'الرسالة إلى العبرانيين 1:1'")
2247
+ expect(p.parse("العبرانيين 1:1").osis()).toEqual("Heb.1.1", "parsing: 'العبرانيين 1:1'")
2248
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'")
2249
+ expect(p.parse("عب 1:1").osis()).toEqual("Heb.1.1", "parsing: 'عب 1:1'")
2250
+ ;
2251
+ return true;
2252
+ });
2253
+ });
2254
+
2255
+ describe("Localized book Jas (ar)", function() {
2256
+ var p;
2257
+ p = {};
2258
+ beforeEach(function() {
2259
+ p = new bcv_parser();
2260
+ p.set_options({
2261
+ book_alone_strategy: "ignore",
2262
+ book_sequence_strategy: "ignore",
2263
+ osis_compaction_strategy: "bc",
2264
+ captive_end_digits_strategy: "delete"
2265
+ });
2266
+ return p.include_apocrypha(true);
2267
+ });
2268
+ return it("should handle book: Jas (ar)", function() {
2269
+
2270
+ expect(p.parse("رسالة القديس يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'رسالة القديس يعقوب 1:1'")
2271
+ expect(p.parse("رسالة يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'رسالة يعقوب 1:1'")
2272
+ expect(p.parse("يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'يعقوب 1:1'")
2273
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'")
2274
+ expect(p.parse("يع 1:1").osis()).toEqual("Jas.1.1", "parsing: 'يع 1:1'")
2275
+ p.include_apocrypha(false)
2276
+ expect(p.parse("رسالة القديس يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'رسالة القديس يعقوب 1:1'")
2277
+ expect(p.parse("رسالة يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'رسالة يعقوب 1:1'")
2278
+ expect(p.parse("يعقوب 1:1").osis()).toEqual("Jas.1.1", "parsing: 'يعقوب 1:1'")
2279
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'")
2280
+ expect(p.parse("يع 1:1").osis()).toEqual("Jas.1.1", "parsing: 'يع 1:1'")
2281
+ ;
2282
+ return true;
2283
+ });
2284
+ });
2285
+
2286
+ describe("Localized book 2Pet (ar)", function() {
2287
+ var p;
2288
+ p = {};
2289
+ beforeEach(function() {
2290
+ p = new bcv_parser();
2291
+ p.set_options({
2292
+ book_alone_strategy: "ignore",
2293
+ book_sequence_strategy: "ignore",
2294
+ osis_compaction_strategy: "bc",
2295
+ captive_end_digits_strategy: "delete"
2296
+ });
2297
+ return p.include_apocrypha(true);
2298
+ });
2299
+ return it("should handle book: 2Pet (ar)", function() {
2300
+
2301
+ expect(p.parse("رسالة القديس بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة القديس بطرس الثانية 1:1'")
2302
+ expect(p.parse("رسالة بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة بطرس الثانية 1:1'")
2303
+ expect(p.parse("بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'بطرس الثانية 1:1'")
2304
+ expect(p.parse("رسالة بطرس 2 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة بطرس 2 1:1'")
2305
+ expect(p.parse("2 بط 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 بط 1:1'")
2306
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'")
2307
+ expect(p.parse("2بط 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2بط 1:1'")
2308
+ p.include_apocrypha(false)
2309
+ expect(p.parse("رسالة القديس بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة القديس بطرس الثانية 1:1'")
2310
+ expect(p.parse("رسالة بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة بطرس الثانية 1:1'")
2311
+ expect(p.parse("بطرس الثانية 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'بطرس الثانية 1:1'")
2312
+ expect(p.parse("رسالة بطرس 2 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'رسالة بطرس 2 1:1'")
2313
+ expect(p.parse("2 بط 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 بط 1:1'")
2314
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'")
2315
+ expect(p.parse("2بط 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2بط 1:1'")
2316
+ ;
2317
+ return true;
2318
+ });
2319
+ });
2320
+
2321
+ describe("Localized book 1Pet (ar)", function() {
2322
+ var p;
2323
+ p = {};
2324
+ beforeEach(function() {
2325
+ p = new bcv_parser();
2326
+ p.set_options({
2327
+ book_alone_strategy: "ignore",
2328
+ book_sequence_strategy: "ignore",
2329
+ osis_compaction_strategy: "bc",
2330
+ captive_end_digits_strategy: "delete"
2331
+ });
2332
+ return p.include_apocrypha(true);
2333
+ });
2334
+ return it("should handle book: 1Pet (ar)", function() {
2335
+
2336
+ expect(p.parse("رسالة القديس بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة القديس بطرس الأولى 1:1'")
2337
+ expect(p.parse("رسالة بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة بطرس الأولى 1:1'")
2338
+ expect(p.parse("رسالة بطرس 1 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة بطرس 1 1:1'")
2339
+ expect(p.parse("بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'بطرس الأولى 1:1'")
2340
+ expect(p.parse("1 بط 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 بط 1:1'")
2341
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'")
2342
+ expect(p.parse("1بط 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1بط 1:1'")
2343
+ p.include_apocrypha(false)
2344
+ expect(p.parse("رسالة القديس بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة القديس بطرس الأولى 1:1'")
2345
+ expect(p.parse("رسالة بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة بطرس الأولى 1:1'")
2346
+ expect(p.parse("رسالة بطرس 1 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'رسالة بطرس 1 1:1'")
2347
+ expect(p.parse("بطرس الأولى 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'بطرس الأولى 1:1'")
2348
+ expect(p.parse("1 بط 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 بط 1:1'")
2349
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'")
2350
+ expect(p.parse("1بط 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1بط 1:1'")
2351
+ ;
2352
+ return true;
2353
+ });
2354
+ });
2355
+
2356
+ describe("Localized book Jude (ar)", function() {
2357
+ var p;
2358
+ p = {};
2359
+ beforeEach(function() {
2360
+ p = new bcv_parser();
2361
+ p.set_options({
2362
+ book_alone_strategy: "ignore",
2363
+ book_sequence_strategy: "ignore",
2364
+ osis_compaction_strategy: "bc",
2365
+ captive_end_digits_strategy: "delete"
2366
+ });
2367
+ return p.include_apocrypha(true);
2368
+ });
2369
+ return it("should handle book: Jude (ar)", function() {
2370
+
2371
+ expect(p.parse("رسالى القديس يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'رسالى القديس يهوذا 1:1'")
2372
+ expect(p.parse("رسالة يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'رسالة يهوذا 1:1'")
2373
+ expect(p.parse("يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يهوذا 1:1'")
2374
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'")
2375
+ expect(p.parse("يهو 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يهو 1:1'")
2376
+ expect(p.parse("يه 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يه 1:1'")
2377
+ p.include_apocrypha(false)
2378
+ expect(p.parse("رسالى القديس يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'رسالى القديس يهوذا 1:1'")
2379
+ expect(p.parse("رسالة يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'رسالة يهوذا 1:1'")
2380
+ expect(p.parse("يهوذا 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يهوذا 1:1'")
2381
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'")
2382
+ expect(p.parse("يهو 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يهو 1:1'")
2383
+ expect(p.parse("يه 1:1").osis()).toEqual("Jude.1.1", "parsing: 'يه 1:1'")
2384
+ ;
2385
+ return true;
2386
+ });
2387
+ });
2388
+
2389
+ describe("Localized book Tob (ar)", function() {
2390
+ var p;
2391
+ p = {};
2392
+ beforeEach(function() {
2393
+ p = new bcv_parser();
2394
+ p.set_options({
2395
+ book_alone_strategy: "ignore",
2396
+ book_sequence_strategy: "ignore",
2397
+ osis_compaction_strategy: "bc",
2398
+ captive_end_digits_strategy: "delete"
2399
+ });
2400
+ return p.include_apocrypha(true);
2401
+ });
2402
+ return it("should handle book: Tob (ar)", function() {
2403
+
2404
+ expect(p.parse("سفر طوبيا 1:1").osis()).toEqual("Tob.1.1", "parsing: 'سفر طوبيا 1:1'")
2405
+ expect(p.parse("طوبيا 1:1").osis()).toEqual("Tob.1.1", "parsing: 'طوبيا 1:1'")
2406
+ expect(p.parse("Tob 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tob 1:1'")
2407
+ expect(p.parse("طو 1:1").osis()).toEqual("Tob.1.1", "parsing: 'طو 1:1'")
2408
+ ;
2409
+ return true;
2410
+ });
2411
+ });
2412
+
2413
+ describe("Localized book Jdt (ar)", function() {
2414
+ var p;
2415
+ p = {};
2416
+ beforeEach(function() {
2417
+ p = new bcv_parser();
2418
+ p.set_options({
2419
+ book_alone_strategy: "ignore",
2420
+ book_sequence_strategy: "ignore",
2421
+ osis_compaction_strategy: "bc",
2422
+ captive_end_digits_strategy: "delete"
2423
+ });
2424
+ return p.include_apocrypha(true);
2425
+ });
2426
+ return it("should handle book: Jdt (ar)", function() {
2427
+
2428
+ expect(p.parse("سفر يهوديت 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'سفر يهوديت 1:1'")
2429
+ expect(p.parse("يهوديت 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'يهوديت 1:1'")
2430
+ expect(p.parse("Jdt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Jdt 1:1'")
2431
+ expect(p.parse("يـه 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'يـه 1:1'")
2432
+ ;
2433
+ return true;
2434
+ });
2435
+ });
2436
+
2437
+ describe("Localized book Bar (ar)", function() {
2438
+ var p;
2439
+ p = {};
2440
+ beforeEach(function() {
2441
+ p = new bcv_parser();
2442
+ p.set_options({
2443
+ book_alone_strategy: "ignore",
2444
+ book_sequence_strategy: "ignore",
2445
+ osis_compaction_strategy: "bc",
2446
+ captive_end_digits_strategy: "delete"
2447
+ });
2448
+ return p.include_apocrypha(true);
2449
+ });
2450
+ return it("should handle book: Bar (ar)", function() {
2451
+
2452
+ expect(p.parse("سفر باروخ 1:1").osis()).toEqual("Bar.1.1", "parsing: 'سفر باروخ 1:1'")
2453
+ expect(p.parse("باروك 1:1").osis()).toEqual("Bar.1.1", "parsing: 'باروك 1:1'")
2454
+ expect(p.parse("Bar 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Bar 1:1'")
2455
+ expect(p.parse("با 1:1").osis()).toEqual("Bar.1.1", "parsing: 'با 1:1'")
2456
+ ;
2457
+ return true;
2458
+ });
2459
+ });
2460
+
2461
+ describe("Localized book Sus (ar)", function() {
2462
+ var p;
2463
+ p = {};
2464
+ beforeEach(function() {
2465
+ p = new bcv_parser();
2466
+ p.set_options({
2467
+ book_alone_strategy: "ignore",
2468
+ book_sequence_strategy: "ignore",
2469
+ osis_compaction_strategy: "bc",
2470
+ captive_end_digits_strategy: "delete"
2471
+ });
2472
+ return p.include_apocrypha(true);
2473
+ });
2474
+ return it("should handle book: Sus (ar)", function() {
2475
+
2476
+ expect(p.parse("كتاب سوزانا 1:1").osis()).toEqual("Sus.1.1", "parsing: 'كتاب سوزانا 1:1'")
2477
+ expect(p.parse("سوزانا 1:1").osis()).toEqual("Sus.1.1", "parsing: 'سوزانا 1:1'")
2478
+ expect(p.parse("Sus 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Sus 1:1'")
2479
+ ;
2480
+ return true;
2481
+ });
2482
+ });
2483
+
2484
+ describe("Localized book 2Macc (ar)", function() {
2485
+ var p;
2486
+ p = {};
2487
+ beforeEach(function() {
2488
+ p = new bcv_parser();
2489
+ p.set_options({
2490
+ book_alone_strategy: "ignore",
2491
+ book_sequence_strategy: "ignore",
2492
+ osis_compaction_strategy: "bc",
2493
+ captive_end_digits_strategy: "delete"
2494
+ });
2495
+ return p.include_apocrypha(true);
2496
+ });
2497
+ return it("should handle book: 2Macc (ar)", function() {
2498
+
2499
+ expect(p.parse("سفر المكابين الثاني 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'سفر المكابين الثاني 1:1'")
2500
+ expect(p.parse("المكابين الثاني 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'المكابين الثاني 1:1'")
2501
+ expect(p.parse("2 المكابيين 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 المكابيين 1:1'")
2502
+ expect(p.parse("2Macc 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2Macc 1:1'")
2503
+ expect(p.parse("2 مك 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 مك 1:1'")
2504
+ ;
2505
+ return true;
2506
+ });
2507
+ });
2508
+
2509
+ describe("Localized book 3Macc (ar)", function() {
2510
+ var p;
2511
+ p = {};
2512
+ beforeEach(function() {
2513
+ p = new bcv_parser();
2514
+ p.set_options({
2515
+ book_alone_strategy: "ignore",
2516
+ book_sequence_strategy: "ignore",
2517
+ osis_compaction_strategy: "bc",
2518
+ captive_end_digits_strategy: "delete"
2519
+ });
2520
+ return p.include_apocrypha(true);
2521
+ });
2522
+ return it("should handle book: 3Macc (ar)", function() {
2523
+
2524
+ expect(p.parse("المكابين الثالث 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'المكابين الثالث 1:1'")
2525
+ expect(p.parse("3Macc 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3Macc 1:1'")
2526
+ ;
2527
+ return true;
2528
+ });
2529
+ });
2530
+
2531
+ describe("Localized book 4Macc (ar)", function() {
2532
+ var p;
2533
+ p = {};
2534
+ beforeEach(function() {
2535
+ p = new bcv_parser();
2536
+ p.set_options({
2537
+ book_alone_strategy: "ignore",
2538
+ book_sequence_strategy: "ignore",
2539
+ osis_compaction_strategy: "bc",
2540
+ captive_end_digits_strategy: "delete"
2541
+ });
2542
+ return p.include_apocrypha(true);
2543
+ });
2544
+ return it("should handle book: 4Macc (ar)", function() {
2545
+
2546
+ expect(p.parse("المكابين الرابع 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'المكابين الرابع 1:1'")
2547
+ expect(p.parse("4Macc 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4Macc 1:1'")
2548
+ ;
2549
+ return true;
2550
+ });
2551
+ });
2552
+
2553
+ describe("Localized book 1Macc (ar)", function() {
2554
+ var p;
2555
+ p = {};
2556
+ beforeEach(function() {
2557
+ p = new bcv_parser();
2558
+ p.set_options({
2559
+ book_alone_strategy: "ignore",
2560
+ book_sequence_strategy: "ignore",
2561
+ osis_compaction_strategy: "bc",
2562
+ captive_end_digits_strategy: "delete"
2563
+ });
2564
+ return p.include_apocrypha(true);
2565
+ });
2566
+ return it("should handle book: 1Macc (ar)", function() {
2567
+
2568
+ expect(p.parse("سفر المكابين الأول 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'سفر المكابين الأول 1:1'")
2569
+ expect(p.parse("المكابين الأول 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'المكابين الأول 1:1'")
2570
+ expect(p.parse("1 المكابيين 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 المكابيين 1:1'")
2571
+ expect(p.parse("1Macc 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1Macc 1:1'")
2572
+ expect(p.parse("1 مك 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 مك 1:1'")
2573
+ ;
2574
+ return true;
2575
+ });
2576
+ });
2577
+
2578
+ describe("Miscellaneous tests", function() {
2579
+ var p;
2580
+ p = {};
2581
+ beforeEach(function() {
2582
+ p = new bcv_parser();
2583
+ p.set_options({
2584
+ book_alone_strategy: "ignore",
2585
+ book_sequence_strategy: "ignore",
2586
+ osis_compaction_strategy: "bc",
2587
+ captive_end_digits_strategy: "delete"
2588
+ });
2589
+ return p.include_apocrypha(true);
2590
+ });
2591
+ it("should return the expected language", function() {
2592
+ return expect(p.languages).toEqual(["ar"]);
2593
+ });
2594
+ it("should handle ranges (ar)", function() {
2595
+ expect(p.parse("Titus 1:1 to 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 to 2'");
2596
+ expect(p.parse("Matt 1to2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1to2'");
2597
+ return expect(p.parse("Phlm 2 TO 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 TO 3'");
2598
+ });
2599
+ it("should handle chapters (ar)", function() {
2600
+ expect(p.parse("Titus 1:1, فصل 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, فصل 2'");
2601
+ return expect(p.parse("Matt 3:4 فصل 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 فصل 6'");
2602
+ });
2603
+ it("should handle verses (ar)", function() {
2604
+ expect(p.parse("Exod 1:1 آية 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 آية 3'");
2605
+ return expect(p.parse("Phlm آية 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm آية 6'");
2606
+ });
2607
+ it("should handle 'and' (ar)", function() {
2608
+ expect(p.parse("Exod 1:1 ، 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 ، 3'");
2609
+ return expect(p.parse("Phlm 2 ، 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 ، 6'");
2610
+ });
2611
+ it("should handle titles (ar)", function() {
2612
+ 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'");
2613
+ 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'");
2614
+ });
2615
+ it("should handle 'ff' (ar)", function() {
2616
+ expect(p.parse("Rev 3ff, 4:2ff").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3ff, 4:2ff'");
2617
+ 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'");
2618
+ });
2619
+ it("should handle translations (ar)", function() {
2620
+ expect(p.parse("Lev 1 (ALAB)").osis_and_translations()).toEqual([["Lev.1", "ALAB"]]);
2621
+ expect(p.parse("lev 1 alab").osis_and_translations()).toEqual([["Lev.1", "ALAB"]]);
2622
+ expect(p.parse("Lev 1 (VD)").osis_and_translations()).toEqual([["Lev.1", "VD"]]);
2623
+ return expect(p.parse("lev 1 vd").osis_and_translations()).toEqual([["Lev.1", "VD"]]);
2624
+ });
2625
+ return it("should handle boundaries (ar)", function() {
2626
+ p.set_options({
2627
+ book_alone_strategy: "full"
2628
+ });
2629
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
2630
+ return expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
2631
+ });
2632
+ });
2633
+
2634
+ }).call(this);