bible-ref-parse 3.0.0 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/ar-bcv-parser.js +7480 -0
  2. package/dist/bg-bcv-parser.js +7568 -0
  3. package/dist/ceb-bcv-parser.js +7498 -0
  4. package/dist/cs-bcv-parser.js +7613 -0
  5. package/dist/da-bcv-parser.js +7560 -0
  6. package/dist/de-bcv-parser.js +8406 -0
  7. package/dist/el-bcv-parser.js +7929 -0
  8. package/dist/en-bcv-parser.js +8404 -0
  9. package/dist/es-bcv-parser.js +8164 -0
  10. package/dist/fa-bcv-parser.js +7603 -0
  11. package/dist/fi-bcv-parser.js +7630 -0
  12. package/dist/fr-bcv-parser.js +7867 -0
  13. package/dist/he-bcv-parser.js +7504 -0
  14. package/dist/hi-bcv-parser.js +7480 -0
  15. package/dist/hr-bcv-parser.js +7500 -0
  16. package/dist/ht-bcv-parser.js +7526 -0
  17. package/dist/hu-bcv-parser.js +7785 -0
  18. package/dist/is-bcv-parser.js +7553 -0
  19. package/dist/it-bcv-parser.js +7875 -0
  20. package/dist/ja-bcv-parser.js +7528 -0
  21. package/dist/jv-bcv-parser.js +7489 -0
  22. package/dist/ko-bcv-parser.js +7528 -0
  23. package/dist/la-bcv-parser.js +7736 -0
  24. package/dist/mk-bcv-parser.js +7507 -0
  25. package/dist/mr-bcv-parser.js +7480 -0
  26. package/dist/ne-bcv-parser.js +7478 -0
  27. package/dist/nl-bcv-parser.js +7750 -0
  28. package/dist/no-bcv-parser.js +7633 -0
  29. package/dist/or-bcv-parser.js +7480 -0
  30. package/dist/pa-bcv-parser.js +7478 -0
  31. package/dist/pl-bcv-parser.js +7910 -0
  32. package/dist/pt-bcv-parser.js +8001 -0
  33. package/dist/ro-bcv-parser.js +7772 -0
  34. package/dist/ru-bcv-parser.js +7602 -0
  35. package/dist/sk-bcv-parser.js +7713 -0
  36. package/dist/so-bcv-parser.js +7490 -0
  37. package/dist/sq-bcv-parser.js +7478 -0
  38. package/dist/sr-bcv-parser.js +7510 -0
  39. package/dist/sv-bcv-parser.js +7695 -0
  40. package/dist/sw-bcv-parser.js +7540 -0
  41. package/dist/ta-bcv-parser.js +7514 -0
  42. package/dist/test/ar.spec.js +2634 -0
  43. package/dist/test/bg.spec.js +3849 -0
  44. package/dist/test/ceb.spec.js +2533 -0
  45. package/dist/test/cs.spec.js +6593 -0
  46. package/dist/test/da.spec.js +2976 -0
  47. package/dist/test/de.spec.js +3114 -0
  48. package/dist/test/el.spec.js +4287 -0
  49. package/dist/test/en.spec.js +13196 -0
  50. package/dist/test/es.spec.js +5634 -0
  51. package/dist/test/fa.spec.js +16707 -0
  52. package/dist/test/fi.spec.js +3001 -0
  53. package/dist/test/fr.spec.js +3712 -0
  54. package/dist/test/he.spec.js +2411 -0
  55. package/dist/test/hi.spec.js +2754 -0
  56. package/dist/test/hr.spec.js +2851 -0
  57. package/dist/test/ht.spec.js +2749 -0
  58. package/dist/test/hu.spec.js +3951 -0
  59. package/dist/test/is.spec.js +3753 -0
  60. package/dist/test/it.spec.js +2917 -0
  61. package/dist/test/ja.spec.js +3079 -0
  62. package/dist/test/jv.spec.js +2470 -0
  63. package/dist/test/ko.spec.js +2682 -0
  64. package/dist/test/la.spec.js +2915 -0
  65. package/dist/test/mk.spec.js +3064 -0
  66. package/dist/test/mr.spec.js +3664 -0
  67. package/dist/test/ne.spec.js +4300 -0
  68. package/dist/test/nl.spec.js +3849 -0
  69. package/dist/test/no.spec.js +2867 -0
  70. package/dist/test/or.spec.js +2411 -0
  71. package/dist/test/pa.spec.js +2460 -0
  72. package/dist/test/pl.spec.js +7682 -0
  73. package/dist/test/pt.spec.js +3318 -0
  74. package/dist/test/ro.spec.js +3065 -0
  75. package/dist/test/ru.spec.js +3796 -0
  76. package/dist/test/sk.spec.js +5611 -0
  77. package/dist/test/so.spec.js +2613 -0
  78. package/dist/test/sq.spec.js +2643 -0
  79. package/dist/test/sr.spec.js +3150 -0
  80. package/dist/test/sv.spec.js +2785 -0
  81. package/dist/test/sw.spec.js +2994 -0
  82. package/dist/test/ta.spec.js +4859 -0
  83. package/dist/test/th.spec.js +2403 -0
  84. package/dist/test/tl.spec.js +3728 -0
  85. package/dist/test/tr.spec.js +19459 -0
  86. package/dist/test/uk.spec.js +6852 -0
  87. package/dist/test/ur.spec.js +3536 -0
  88. package/dist/test/vi.spec.js +2897 -0
  89. package/dist/test/zh.spec.js +4744 -0
  90. package/dist/th-bcv-parser.js +7478 -0
  91. package/dist/tl-bcv-parser.js +7555 -0
  92. package/dist/tr-bcv-parser.js +7673 -0
  93. package/dist/uk-bcv-parser.js +7541 -0
  94. package/dist/ur-bcv-parser.js +7564 -0
  95. package/dist/vi-bcv-parser.js +7480 -0
  96. package/dist/zh-bcv-parser.js +7588 -0
  97. package/package.json +2 -2
@@ -0,0 +1,2867 @@
1
+ (function() {
2
+ var bcv_parser;
3
+
4
+ bcv_parser = require("../../dist/no-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 (no)", 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 (no)", function() {
86
+
87
+ expect(p.parse("Første Mosebok 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Første Mosebok 1:1'")
88
+ expect(p.parse("1. Mosebok 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. Mosebok 1:1'")
89
+ expect(p.parse("Første Mos 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Første Mos 1:1'")
90
+ expect(p.parse("1 Mosebok 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 Mosebok 1:1'")
91
+ expect(p.parse("Genesis 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Genesis 1:1'")
92
+ expect(p.parse("1. Mos 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. Mos 1:1'")
93
+ expect(p.parse("1 Mos 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 Mos 1:1'")
94
+ expect(p.parse("Gen 1:1").osis()).toEqual("Gen.1.1", "parsing: 'Gen 1:1'")
95
+ p.include_apocrypha(false)
96
+ expect(p.parse("FØRSTE MOSEBOK 1:1").osis()).toEqual("Gen.1.1", "parsing: 'FØRSTE MOSEBOK 1:1'")
97
+ expect(p.parse("1. MOSEBOK 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. MOSEBOK 1:1'")
98
+ expect(p.parse("FØRSTE MOS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'FØRSTE MOS 1:1'")
99
+ expect(p.parse("1 MOSEBOK 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 MOSEBOK 1:1'")
100
+ expect(p.parse("GENESIS 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GENESIS 1:1'")
101
+ expect(p.parse("1. MOS 1:1").osis()).toEqual("Gen.1.1", "parsing: '1. MOS 1:1'")
102
+ expect(p.parse("1 MOS 1:1").osis()).toEqual("Gen.1.1", "parsing: '1 MOS 1:1'")
103
+ expect(p.parse("GEN 1:1").osis()).toEqual("Gen.1.1", "parsing: 'GEN 1:1'")
104
+ ;
105
+ return true;
106
+ });
107
+ });
108
+
109
+ describe("Localized book Exod (no)", function() {
110
+ var p;
111
+ p = {};
112
+ beforeEach(function() {
113
+ p = new bcv_parser();
114
+ p.set_options({
115
+ book_alone_strategy: "ignore",
116
+ book_sequence_strategy: "ignore",
117
+ osis_compaction_strategy: "bc",
118
+ captive_end_digits_strategy: "delete"
119
+ });
120
+ return p.include_apocrypha(true);
121
+ });
122
+ return it("should handle book: Exod (no)", function() {
123
+
124
+ expect(p.parse("Andre Mosebok 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Andre Mosebok 1:1'")
125
+ expect(p.parse("Annen Mosebok 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Annen Mosebok 1:1'")
126
+ expect(p.parse("2. Mosebok 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. Mosebok 1:1'")
127
+ expect(p.parse("2 Mosebok 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 Mosebok 1:1'")
128
+ expect(p.parse("Andre Mos 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Andre Mos 1:1'")
129
+ expect(p.parse("2. Mos 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. Mos 1:1'")
130
+ expect(p.parse("2 Mos 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 Mos 1:1'")
131
+ expect(p.parse("Exod 1:1").osis()).toEqual("Exod.1.1", "parsing: 'Exod 1:1'")
132
+ p.include_apocrypha(false)
133
+ expect(p.parse("ANDRE MOSEBOK 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ANDRE MOSEBOK 1:1'")
134
+ expect(p.parse("ANNEN MOSEBOK 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ANNEN MOSEBOK 1:1'")
135
+ expect(p.parse("2. MOSEBOK 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. MOSEBOK 1:1'")
136
+ expect(p.parse("2 MOSEBOK 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 MOSEBOK 1:1'")
137
+ expect(p.parse("ANDRE MOS 1:1").osis()).toEqual("Exod.1.1", "parsing: 'ANDRE MOS 1:1'")
138
+ expect(p.parse("2. MOS 1:1").osis()).toEqual("Exod.1.1", "parsing: '2. MOS 1:1'")
139
+ expect(p.parse("2 MOS 1:1").osis()).toEqual("Exod.1.1", "parsing: '2 MOS 1:1'")
140
+ expect(p.parse("EXOD 1:1").osis()).toEqual("Exod.1.1", "parsing: 'EXOD 1:1'")
141
+ ;
142
+ return true;
143
+ });
144
+ });
145
+
146
+ describe("Localized book Bel (no)", function() {
147
+ var p;
148
+ p = {};
149
+ beforeEach(function() {
150
+ p = new bcv_parser();
151
+ p.set_options({
152
+ book_alone_strategy: "ignore",
153
+ book_sequence_strategy: "ignore",
154
+ osis_compaction_strategy: "bc",
155
+ captive_end_digits_strategy: "delete"
156
+ });
157
+ return p.include_apocrypha(true);
158
+ });
159
+ return it("should handle book: Bel (no)", function() {
160
+
161
+ expect(p.parse("Bel og dragen i Babylon 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel og dragen i Babylon 1:1'")
162
+ expect(p.parse("Bel og draken 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel og draken 1:1'")
163
+ expect(p.parse("Bel 1:1").osis()).toEqual("Bel.1.1", "parsing: 'Bel 1:1'")
164
+ ;
165
+ return true;
166
+ });
167
+ });
168
+
169
+ describe("Localized book Lev (no)", function() {
170
+ var p;
171
+ p = {};
172
+ beforeEach(function() {
173
+ p = new bcv_parser();
174
+ p.set_options({
175
+ book_alone_strategy: "ignore",
176
+ book_sequence_strategy: "ignore",
177
+ osis_compaction_strategy: "bc",
178
+ captive_end_digits_strategy: "delete"
179
+ });
180
+ return p.include_apocrypha(true);
181
+ });
182
+ return it("should handle book: Lev (no)", function() {
183
+
184
+ expect(p.parse("Tredje Mosebok 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Tredje Mosebok 1:1'")
185
+ expect(p.parse("3. Mosebok 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. Mosebok 1:1'")
186
+ expect(p.parse("Tredje Mos 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Tredje Mos 1:1'")
187
+ expect(p.parse("3 Mosebok 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 Mosebok 1:1'")
188
+ expect(p.parse("Leviticus 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Leviticus 1:1'")
189
+ expect(p.parse("3. Mos 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. Mos 1:1'")
190
+ expect(p.parse("3 Mos 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 Mos 1:1'")
191
+ expect(p.parse("Lev 1:1").osis()).toEqual("Lev.1.1", "parsing: 'Lev 1:1'")
192
+ p.include_apocrypha(false)
193
+ expect(p.parse("TREDJE MOSEBOK 1:1").osis()).toEqual("Lev.1.1", "parsing: 'TREDJE MOSEBOK 1:1'")
194
+ expect(p.parse("3. MOSEBOK 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. MOSEBOK 1:1'")
195
+ expect(p.parse("TREDJE MOS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'TREDJE MOS 1:1'")
196
+ expect(p.parse("3 MOSEBOK 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 MOSEBOK 1:1'")
197
+ expect(p.parse("LEVITICUS 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEVITICUS 1:1'")
198
+ expect(p.parse("3. MOS 1:1").osis()).toEqual("Lev.1.1", "parsing: '3. MOS 1:1'")
199
+ expect(p.parse("3 MOS 1:1").osis()).toEqual("Lev.1.1", "parsing: '3 MOS 1:1'")
200
+ expect(p.parse("LEV 1:1").osis()).toEqual("Lev.1.1", "parsing: 'LEV 1:1'")
201
+ ;
202
+ return true;
203
+ });
204
+ });
205
+
206
+ describe("Localized book Num (no)", function() {
207
+ var p;
208
+ p = {};
209
+ beforeEach(function() {
210
+ p = new bcv_parser();
211
+ p.set_options({
212
+ book_alone_strategy: "ignore",
213
+ book_sequence_strategy: "ignore",
214
+ osis_compaction_strategy: "bc",
215
+ captive_end_digits_strategy: "delete"
216
+ });
217
+ return p.include_apocrypha(true);
218
+ });
219
+ return it("should handle book: Num (no)", function() {
220
+
221
+ expect(p.parse("Fjerde Mosebok 1:1").osis()).toEqual("Num.1.1", "parsing: 'Fjerde Mosebok 1:1'")
222
+ expect(p.parse("4. Mosebok 1:1").osis()).toEqual("Num.1.1", "parsing: '4. Mosebok 1:1'")
223
+ expect(p.parse("Fjerde Mos 1:1").osis()).toEqual("Num.1.1", "parsing: 'Fjerde Mos 1:1'")
224
+ expect(p.parse("4 Mosebok 1:1").osis()).toEqual("Num.1.1", "parsing: '4 Mosebok 1:1'")
225
+ expect(p.parse("4. Mos 1:1").osis()).toEqual("Num.1.1", "parsing: '4. Mos 1:1'")
226
+ expect(p.parse("4 Mos 1:1").osis()).toEqual("Num.1.1", "parsing: '4 Mos 1:1'")
227
+ expect(p.parse("Num 1:1").osis()).toEqual("Num.1.1", "parsing: 'Num 1:1'")
228
+ p.include_apocrypha(false)
229
+ expect(p.parse("FJERDE MOSEBOK 1:1").osis()).toEqual("Num.1.1", "parsing: 'FJERDE MOSEBOK 1:1'")
230
+ expect(p.parse("4. MOSEBOK 1:1").osis()).toEqual("Num.1.1", "parsing: '4. MOSEBOK 1:1'")
231
+ expect(p.parse("FJERDE MOS 1:1").osis()).toEqual("Num.1.1", "parsing: 'FJERDE MOS 1:1'")
232
+ expect(p.parse("4 MOSEBOK 1:1").osis()).toEqual("Num.1.1", "parsing: '4 MOSEBOK 1:1'")
233
+ expect(p.parse("4. MOS 1:1").osis()).toEqual("Num.1.1", "parsing: '4. MOS 1:1'")
234
+ expect(p.parse("4 MOS 1:1").osis()).toEqual("Num.1.1", "parsing: '4 MOS 1:1'")
235
+ expect(p.parse("NUM 1:1").osis()).toEqual("Num.1.1", "parsing: 'NUM 1:1'")
236
+ ;
237
+ return true;
238
+ });
239
+ });
240
+
241
+ describe("Localized book Sir (no)", function() {
242
+ var p;
243
+ p = {};
244
+ beforeEach(function() {
245
+ p = new bcv_parser();
246
+ p.set_options({
247
+ book_alone_strategy: "ignore",
248
+ book_sequence_strategy: "ignore",
249
+ osis_compaction_strategy: "bc",
250
+ captive_end_digits_strategy: "delete"
251
+ });
252
+ return p.include_apocrypha(true);
253
+ });
254
+ return it("should handle book: Sir (no)", function() {
255
+
256
+ expect(p.parse("Jesu Siraks sønns visdom 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Jesu Siraks sønns visdom 1:1'")
257
+ expect(p.parse("Siraks bok 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Siraks bok 1:1'")
258
+ expect(p.parse("Sirak 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sirak 1:1'")
259
+ expect(p.parse("Sir 1:1").osis()).toEqual("Sir.1.1", "parsing: 'Sir 1:1'")
260
+ ;
261
+ return true;
262
+ });
263
+ });
264
+
265
+ describe("Localized book Wis (no)", function() {
266
+ var p;
267
+ p = {};
268
+ beforeEach(function() {
269
+ p = new bcv_parser();
270
+ p.set_options({
271
+ book_alone_strategy: "ignore",
272
+ book_sequence_strategy: "ignore",
273
+ osis_compaction_strategy: "bc",
274
+ captive_end_digits_strategy: "delete"
275
+ });
276
+ return p.include_apocrypha(true);
277
+ });
278
+ return it("should handle book: Wis (no)", function() {
279
+
280
+ expect(p.parse("Salomos Visdom 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Salomos Visdom 1:1'")
281
+ expect(p.parse("Visdommens bok 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Visdommens bok 1:1'")
282
+ expect(p.parse("Visd 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Visd 1:1'")
283
+ expect(p.parse("Wis 1:1").osis()).toEqual("Wis.1.1", "parsing: 'Wis 1:1'")
284
+ ;
285
+ return true;
286
+ });
287
+ });
288
+
289
+ describe("Localized book Lam (no)", function() {
290
+ var p;
291
+ p = {};
292
+ beforeEach(function() {
293
+ p = new bcv_parser();
294
+ p.set_options({
295
+ book_alone_strategy: "ignore",
296
+ book_sequence_strategy: "ignore",
297
+ osis_compaction_strategy: "bc",
298
+ captive_end_digits_strategy: "delete"
299
+ });
300
+ return p.include_apocrypha(true);
301
+ });
302
+ return it("should handle book: Lam (no)", function() {
303
+
304
+ expect(p.parse("Klagesangene 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Klagesangene 1:1'")
305
+ expect(p.parse("Klag 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Klag 1:1'")
306
+ expect(p.parse("Lam 1:1").osis()).toEqual("Lam.1.1", "parsing: 'Lam 1:1'")
307
+ p.include_apocrypha(false)
308
+ expect(p.parse("KLAGESANGENE 1:1").osis()).toEqual("Lam.1.1", "parsing: 'KLAGESANGENE 1:1'")
309
+ expect(p.parse("KLAG 1:1").osis()).toEqual("Lam.1.1", "parsing: 'KLAG 1:1'")
310
+ expect(p.parse("LAM 1:1").osis()).toEqual("Lam.1.1", "parsing: 'LAM 1:1'")
311
+ ;
312
+ return true;
313
+ });
314
+ });
315
+
316
+ describe("Localized book EpJer (no)", function() {
317
+ var p;
318
+ p = {};
319
+ beforeEach(function() {
320
+ p = new bcv_parser();
321
+ p.set_options({
322
+ book_alone_strategy: "ignore",
323
+ book_sequence_strategy: "ignore",
324
+ osis_compaction_strategy: "bc",
325
+ captive_end_digits_strategy: "delete"
326
+ });
327
+ return p.include_apocrypha(true);
328
+ });
329
+ return it("should handle book: EpJer (no)", function() {
330
+
331
+ expect(p.parse("Jeremias brev 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Jeremias brev 1:1'")
332
+ expect(p.parse("EpJer 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'EpJer 1:1'")
333
+ expect(p.parse("Jerbr 1:1").osis()).toEqual("EpJer.1.1", "parsing: 'Jerbr 1:1'")
334
+ ;
335
+ return true;
336
+ });
337
+ });
338
+
339
+ describe("Localized book Rev (no)", function() {
340
+ var p;
341
+ p = {};
342
+ beforeEach(function() {
343
+ p = new bcv_parser();
344
+ p.set_options({
345
+ book_alone_strategy: "ignore",
346
+ book_sequence_strategy: "ignore",
347
+ osis_compaction_strategy: "bc",
348
+ captive_end_digits_strategy: "delete"
349
+ });
350
+ return p.include_apocrypha(true);
351
+ });
352
+ return it("should handle book: Rev (no)", function() {
353
+
354
+ expect(p.parse("Johannes' apenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Johannes' apenbaring 1:1'")
355
+ expect(p.parse("Johannes' åpenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Johannes' åpenbaring 1:1'")
356
+ expect(p.parse("Johannes’ apenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Johannes’ apenbaring 1:1'")
357
+ expect(p.parse("Johannes’ åpenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Johannes’ åpenbaring 1:1'")
358
+ expect(p.parse("Apenbaringsboken 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apenbaringsboken 1:1'")
359
+ expect(p.parse("Åpenbaringsboken 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Åpenbaringsboken 1:1'")
360
+ expect(p.parse("Apenbaringen 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apenbaringen 1:1'")
361
+ expect(p.parse("Åpenbaringen 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Åpenbaringen 1:1'")
362
+ expect(p.parse("Apenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Apenbaring 1:1'")
363
+ expect(p.parse("Åpenbaring 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Åpenbaring 1:1'")
364
+ expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'")
365
+ expect(p.parse("Ap 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Ap 1:1'")
366
+ expect(p.parse("Åp 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Åp 1:1'")
367
+ p.include_apocrypha(false)
368
+ expect(p.parse("JOHANNES' APENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'JOHANNES' APENBARING 1:1'")
369
+ expect(p.parse("JOHANNES' ÅPENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'JOHANNES' ÅPENBARING 1:1'")
370
+ expect(p.parse("JOHANNES’ APENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'JOHANNES’ APENBARING 1:1'")
371
+ expect(p.parse("JOHANNES’ ÅPENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'JOHANNES’ ÅPENBARING 1:1'")
372
+ expect(p.parse("APENBARINGSBOKEN 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APENBARINGSBOKEN 1:1'")
373
+ expect(p.parse("ÅPENBARINGSBOKEN 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ÅPENBARINGSBOKEN 1:1'")
374
+ expect(p.parse("APENBARINGEN 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APENBARINGEN 1:1'")
375
+ expect(p.parse("ÅPENBARINGEN 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ÅPENBARINGEN 1:1'")
376
+ expect(p.parse("APENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'APENBARING 1:1'")
377
+ expect(p.parse("ÅPENBARING 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ÅPENBARING 1:1'")
378
+ expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'")
379
+ expect(p.parse("AP 1:1").osis()).toEqual("Rev.1.1", "parsing: 'AP 1:1'")
380
+ expect(p.parse("ÅP 1:1").osis()).toEqual("Rev.1.1", "parsing: 'ÅP 1:1'")
381
+ ;
382
+ return true;
383
+ });
384
+ });
385
+
386
+ describe("Localized book PrMan (no)", function() {
387
+ var p;
388
+ p = {};
389
+ beforeEach(function() {
390
+ p = new bcv_parser();
391
+ p.set_options({
392
+ book_alone_strategy: "ignore",
393
+ book_sequence_strategy: "ignore",
394
+ osis_compaction_strategy: "bc",
395
+ captive_end_digits_strategy: "delete"
396
+ });
397
+ return p.include_apocrypha(true);
398
+ });
399
+ return it("should handle book: PrMan (no)", function() {
400
+
401
+ expect(p.parse("Manasses bønn 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Manasses bønn 1:1'")
402
+ expect(p.parse("PrMan 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'PrMan 1:1'")
403
+ expect(p.parse("Man 1:1").osis()).toEqual("PrMan.1.1", "parsing: 'Man 1:1'")
404
+ ;
405
+ return true;
406
+ });
407
+ });
408
+
409
+ describe("Localized book Deut (no)", function() {
410
+ var p;
411
+ p = {};
412
+ beforeEach(function() {
413
+ p = new bcv_parser();
414
+ p.set_options({
415
+ book_alone_strategy: "ignore",
416
+ book_sequence_strategy: "ignore",
417
+ osis_compaction_strategy: "bc",
418
+ captive_end_digits_strategy: "delete"
419
+ });
420
+ return p.include_apocrypha(true);
421
+ });
422
+ return it("should handle book: Deut (no)", function() {
423
+
424
+ expect(p.parse("Femte Mosebok 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Femte Mosebok 1:1'")
425
+ expect(p.parse("5. Mosebok 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. Mosebok 1:1'")
426
+ expect(p.parse("5 Mosebok 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Mosebok 1:1'")
427
+ expect(p.parse("Femte Mos 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Femte Mos 1:1'")
428
+ expect(p.parse("5. Mos 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. Mos 1:1'")
429
+ expect(p.parse("5 Mos 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 Mos 1:1'")
430
+ expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'")
431
+ p.include_apocrypha(false)
432
+ expect(p.parse("FEMTE MOSEBOK 1:1").osis()).toEqual("Deut.1.1", "parsing: 'FEMTE MOSEBOK 1:1'")
433
+ expect(p.parse("5. MOSEBOK 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. MOSEBOK 1:1'")
434
+ expect(p.parse("5 MOSEBOK 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 MOSEBOK 1:1'")
435
+ expect(p.parse("FEMTE MOS 1:1").osis()).toEqual("Deut.1.1", "parsing: 'FEMTE MOS 1:1'")
436
+ expect(p.parse("5. MOS 1:1").osis()).toEqual("Deut.1.1", "parsing: '5. MOS 1:1'")
437
+ expect(p.parse("5 MOS 1:1").osis()).toEqual("Deut.1.1", "parsing: '5 MOS 1:1'")
438
+ expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'")
439
+ ;
440
+ return true;
441
+ });
442
+ });
443
+
444
+ describe("Localized book Josh (no)", function() {
445
+ var p;
446
+ p = {};
447
+ beforeEach(function() {
448
+ p = new bcv_parser();
449
+ p.set_options({
450
+ book_alone_strategy: "ignore",
451
+ book_sequence_strategy: "ignore",
452
+ osis_compaction_strategy: "bc",
453
+ captive_end_digits_strategy: "delete"
454
+ });
455
+ return p.include_apocrypha(true);
456
+ });
457
+ return it("should handle book: Josh (no)", function() {
458
+
459
+ expect(p.parse("Josvas bok 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josvas bok 1:1'")
460
+ expect(p.parse("Josvas 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josvas 1:1'")
461
+ expect(p.parse("Josva 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josva 1:1'")
462
+ expect(p.parse("Josh 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Josh 1:1'")
463
+ expect(p.parse("Jos 1:1").osis()).toEqual("Josh.1.1", "parsing: 'Jos 1:1'")
464
+ p.include_apocrypha(false)
465
+ expect(p.parse("JOSVAS BOK 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSVAS BOK 1:1'")
466
+ expect(p.parse("JOSVAS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSVAS 1:1'")
467
+ expect(p.parse("JOSVA 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSVA 1:1'")
468
+ expect(p.parse("JOSH 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOSH 1:1'")
469
+ expect(p.parse("JOS 1:1").osis()).toEqual("Josh.1.1", "parsing: 'JOS 1:1'")
470
+ ;
471
+ return true;
472
+ });
473
+ });
474
+
475
+ describe("Localized book Judg (no)", function() {
476
+ var p;
477
+ p = {};
478
+ beforeEach(function() {
479
+ p = new bcv_parser();
480
+ p.set_options({
481
+ book_alone_strategy: "ignore",
482
+ book_sequence_strategy: "ignore",
483
+ osis_compaction_strategy: "bc",
484
+ captive_end_digits_strategy: "delete"
485
+ });
486
+ return p.include_apocrypha(true);
487
+ });
488
+ return it("should handle book: Judg (no)", function() {
489
+
490
+ expect(p.parse("Dommernes bok 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Dommernes bok 1:1'")
491
+ expect(p.parse("Dommernes 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Dommernes 1:1'")
492
+ expect(p.parse("Dommerne 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Dommerne 1:1'")
493
+ expect(p.parse("Judg 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Judg 1:1'")
494
+ expect(p.parse("Dom 1:1").osis()).toEqual("Judg.1.1", "parsing: 'Dom 1:1'")
495
+ p.include_apocrypha(false)
496
+ expect(p.parse("DOMMERNES BOK 1:1").osis()).toEqual("Judg.1.1", "parsing: 'DOMMERNES BOK 1:1'")
497
+ expect(p.parse("DOMMERNES 1:1").osis()).toEqual("Judg.1.1", "parsing: 'DOMMERNES 1:1'")
498
+ expect(p.parse("DOMMERNE 1:1").osis()).toEqual("Judg.1.1", "parsing: 'DOMMERNE 1:1'")
499
+ expect(p.parse("JUDG 1:1").osis()).toEqual("Judg.1.1", "parsing: 'JUDG 1:1'")
500
+ expect(p.parse("DOM 1:1").osis()).toEqual("Judg.1.1", "parsing: 'DOM 1:1'")
501
+ ;
502
+ return true;
503
+ });
504
+ });
505
+
506
+ describe("Localized book Ruth (no)", function() {
507
+ var p;
508
+ p = {};
509
+ beforeEach(function() {
510
+ p = new bcv_parser();
511
+ p.set_options({
512
+ book_alone_strategy: "ignore",
513
+ book_sequence_strategy: "ignore",
514
+ osis_compaction_strategy: "bc",
515
+ captive_end_digits_strategy: "delete"
516
+ });
517
+ return p.include_apocrypha(true);
518
+ });
519
+ return it("should handle book: Ruth (no)", function() {
520
+
521
+ expect(p.parse("Ruts bok 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruts bok 1:1'")
522
+ expect(p.parse("Ruth 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruth 1:1'")
523
+ expect(p.parse("Ruts 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Ruts 1:1'")
524
+ expect(p.parse("Rut 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'Rut 1:1'")
525
+ p.include_apocrypha(false)
526
+ expect(p.parse("RUTS BOK 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTS BOK 1:1'")
527
+ expect(p.parse("RUTH 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTH 1:1'")
528
+ expect(p.parse("RUTS 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUTS 1:1'")
529
+ expect(p.parse("RUT 1:1").osis()).toEqual("Ruth.1.1", "parsing: 'RUT 1:1'")
530
+ ;
531
+ return true;
532
+ });
533
+ });
534
+
535
+ describe("Localized book 1Esd (no)", function() {
536
+ var p;
537
+ p = {};
538
+ beforeEach(function() {
539
+ p = new bcv_parser();
540
+ p.set_options({
541
+ book_alone_strategy: "ignore",
542
+ book_sequence_strategy: "ignore",
543
+ osis_compaction_strategy: "bc",
544
+ captive_end_digits_strategy: "delete"
545
+ });
546
+ return p.include_apocrypha(true);
547
+ });
548
+ return it("should handle book: 1Esd (no)", function() {
549
+
550
+ expect(p.parse("Første Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Første Esdras 1:1'")
551
+ expect(p.parse("Første Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Første Esra 1:1'")
552
+ expect(p.parse("Tredje Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: 'Tredje Esra 1:1'")
553
+ expect(p.parse("1. Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esdras 1:1'")
554
+ expect(p.parse("1 Esdras 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esdras 1:1'")
555
+ expect(p.parse("1. Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1. Esra 1:1'")
556
+ expect(p.parse("3. Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3. Esra 1:1'")
557
+ expect(p.parse("1 Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1 Esra 1:1'")
558
+ expect(p.parse("3 Esra 1:1").osis()).toEqual("1Esd.1.1", "parsing: '3 Esra 1:1'")
559
+ expect(p.parse("1Esd 1:1").osis()).toEqual("1Esd.1.1", "parsing: '1Esd 1:1'")
560
+ ;
561
+ return true;
562
+ });
563
+ });
564
+
565
+ describe("Localized book 2Esd (no)", function() {
566
+ var p;
567
+ p = {};
568
+ beforeEach(function() {
569
+ p = new bcv_parser();
570
+ p.set_options({
571
+ book_alone_strategy: "ignore",
572
+ book_sequence_strategy: "ignore",
573
+ osis_compaction_strategy: "bc",
574
+ captive_end_digits_strategy: "delete"
575
+ });
576
+ return p.include_apocrypha(true);
577
+ });
578
+ return it("should handle book: 2Esd (no)", function() {
579
+
580
+ expect(p.parse("Andre Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Andre Esdras 1:1'")
581
+ expect(p.parse("Fjerde Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Fjerde Esra 1:1'")
582
+ expect(p.parse("Andre Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: 'Andre Esra 1:1'")
583
+ expect(p.parse("2. Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esdras 1:1'")
584
+ expect(p.parse("2 Esdras 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esdras 1:1'")
585
+ expect(p.parse("2. Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2. Esra 1:1'")
586
+ expect(p.parse("4. Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4. Esra 1:1'")
587
+ expect(p.parse("2 Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2 Esra 1:1'")
588
+ expect(p.parse("4 Esra 1:1").osis()).toEqual("2Esd.1.1", "parsing: '4 Esra 1:1'")
589
+ expect(p.parse("2Esd 1:1").osis()).toEqual("2Esd.1.1", "parsing: '2Esd 1:1'")
590
+ ;
591
+ return true;
592
+ });
593
+ });
594
+
595
+ describe("Localized book Isa (no)", function() {
596
+ var p;
597
+ p = {};
598
+ beforeEach(function() {
599
+ p = new bcv_parser();
600
+ p.set_options({
601
+ book_alone_strategy: "ignore",
602
+ book_sequence_strategy: "ignore",
603
+ osis_compaction_strategy: "bc",
604
+ captive_end_digits_strategy: "delete"
605
+ });
606
+ return p.include_apocrypha(true);
607
+ });
608
+ return it("should handle book: Isa (no)", function() {
609
+
610
+ expect(p.parse("Esaias' bok 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Esaias' bok 1:1'")
611
+ expect(p.parse("Esaias’ bok 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Esaias’ bok 1:1'")
612
+ expect(p.parse("Jesajaboken 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Jesajaboken 1:1'")
613
+ expect(p.parse("Jesajas bok 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Jesajas bok 1:1'")
614
+ expect(p.parse("Jesajaboka 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Jesajaboka 1:1'")
615
+ expect(p.parse("Esaias 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Esaias 1:1'")
616
+ expect(p.parse("Jesaja 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Jesaja 1:1'")
617
+ expect(p.parse("Isa 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Isa 1:1'")
618
+ expect(p.parse("Jes 1:1").osis()).toEqual("Isa.1.1", "parsing: 'Jes 1:1'")
619
+ p.include_apocrypha(false)
620
+ expect(p.parse("ESAIAS' BOK 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ESAIAS' BOK 1:1'")
621
+ expect(p.parse("ESAIAS’ BOK 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ESAIAS’ BOK 1:1'")
622
+ expect(p.parse("JESAJABOKEN 1:1").osis()).toEqual("Isa.1.1", "parsing: 'JESAJABOKEN 1:1'")
623
+ expect(p.parse("JESAJAS BOK 1:1").osis()).toEqual("Isa.1.1", "parsing: 'JESAJAS BOK 1:1'")
624
+ expect(p.parse("JESAJABOKA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'JESAJABOKA 1:1'")
625
+ expect(p.parse("ESAIAS 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ESAIAS 1:1'")
626
+ expect(p.parse("JESAJA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'JESAJA 1:1'")
627
+ expect(p.parse("ISA 1:1").osis()).toEqual("Isa.1.1", "parsing: 'ISA 1:1'")
628
+ expect(p.parse("JES 1:1").osis()).toEqual("Isa.1.1", "parsing: 'JES 1:1'")
629
+ ;
630
+ return true;
631
+ });
632
+ });
633
+
634
+ describe("Localized book 2Sam (no)", function() {
635
+ var p;
636
+ p = {};
637
+ beforeEach(function() {
638
+ p = new bcv_parser();
639
+ p.set_options({
640
+ book_alone_strategy: "ignore",
641
+ book_sequence_strategy: "ignore",
642
+ osis_compaction_strategy: "bc",
643
+ captive_end_digits_strategy: "delete"
644
+ });
645
+ return p.include_apocrypha(true);
646
+ });
647
+ return it("should handle book: 2Sam (no)", function() {
648
+
649
+ expect(p.parse("Andre Samuelsbok 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Andre Samuelsbok 1:1'")
650
+ expect(p.parse("2. Samuelsbok 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samuelsbok 1:1'")
651
+ expect(p.parse("2 Samuelsbok 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samuelsbok 1:1'")
652
+ expect(p.parse("Andre Samuel 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Andre Samuel 1:1'")
653
+ expect(p.parse("2. Samuel 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Samuel 1:1'")
654
+ expect(p.parse("Andre Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'Andre Sam 1:1'")
655
+ expect(p.parse("2 Samuel 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Samuel 1:1'")
656
+ expect(p.parse("2. Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. Sam 1:1'")
657
+ expect(p.parse("2 Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 Sam 1:1'")
658
+ expect(p.parse("2Sam 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2Sam 1:1'")
659
+ p.include_apocrypha(false)
660
+ expect(p.parse("ANDRE SAMUELSBOK 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ANDRE SAMUELSBOK 1:1'")
661
+ expect(p.parse("2. SAMUELSBOK 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMUELSBOK 1:1'")
662
+ expect(p.parse("2 SAMUELSBOK 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMUELSBOK 1:1'")
663
+ expect(p.parse("ANDRE SAMUEL 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ANDRE SAMUEL 1:1'")
664
+ expect(p.parse("2. SAMUEL 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAMUEL 1:1'")
665
+ expect(p.parse("ANDRE SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: 'ANDRE SAM 1:1'")
666
+ expect(p.parse("2 SAMUEL 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAMUEL 1:1'")
667
+ expect(p.parse("2. SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2. SAM 1:1'")
668
+ expect(p.parse("2 SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2 SAM 1:1'")
669
+ expect(p.parse("2SAM 1:1").osis()).toEqual("2Sam.1.1", "parsing: '2SAM 1:1'")
670
+ ;
671
+ return true;
672
+ });
673
+ });
674
+
675
+ describe("Localized book 1Sam (no)", function() {
676
+ var p;
677
+ p = {};
678
+ beforeEach(function() {
679
+ p = new bcv_parser();
680
+ p.set_options({
681
+ book_alone_strategy: "ignore",
682
+ book_sequence_strategy: "ignore",
683
+ osis_compaction_strategy: "bc",
684
+ captive_end_digits_strategy: "delete"
685
+ });
686
+ return p.include_apocrypha(true);
687
+ });
688
+ return it("should handle book: 1Sam (no)", function() {
689
+
690
+ expect(p.parse("Første Samuelsbok 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Første Samuelsbok 1:1'")
691
+ expect(p.parse("Første Samuels 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Første Samuels 1:1'")
692
+ expect(p.parse("1. Samuelsbok 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuelsbok 1:1'")
693
+ expect(p.parse("Første Samuel 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Første Samuel 1:1'")
694
+ expect(p.parse("1 Samuelsbok 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuelsbok 1:1'")
695
+ expect(p.parse("1. Samuels 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuels 1:1'")
696
+ expect(p.parse("Første Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'Første Sam 1:1'")
697
+ expect(p.parse("1 Samuels 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuels 1:1'")
698
+ expect(p.parse("1. Samuel 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Samuel 1:1'")
699
+ expect(p.parse("1 Samuel 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Samuel 1:1'")
700
+ expect(p.parse("1. Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. Sam 1:1'")
701
+ expect(p.parse("1 Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 Sam 1:1'")
702
+ expect(p.parse("1Sam 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1Sam 1:1'")
703
+ p.include_apocrypha(false)
704
+ expect(p.parse("FØRSTE SAMUELSBOK 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'FØRSTE SAMUELSBOK 1:1'")
705
+ expect(p.parse("FØRSTE SAMUELS 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'FØRSTE SAMUELS 1:1'")
706
+ expect(p.parse("1. SAMUELSBOK 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUELSBOK 1:1'")
707
+ expect(p.parse("FØRSTE SAMUEL 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'FØRSTE SAMUEL 1:1'")
708
+ expect(p.parse("1 SAMUELSBOK 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUELSBOK 1:1'")
709
+ expect(p.parse("1. SAMUELS 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUELS 1:1'")
710
+ expect(p.parse("FØRSTE SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: 'FØRSTE SAM 1:1'")
711
+ expect(p.parse("1 SAMUELS 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUELS 1:1'")
712
+ expect(p.parse("1. SAMUEL 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAMUEL 1:1'")
713
+ expect(p.parse("1 SAMUEL 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAMUEL 1:1'")
714
+ expect(p.parse("1. SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1. SAM 1:1'")
715
+ expect(p.parse("1 SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1 SAM 1:1'")
716
+ expect(p.parse("1SAM 1:1").osis()).toEqual("1Sam.1.1", "parsing: '1SAM 1:1'")
717
+ ;
718
+ return true;
719
+ });
720
+ });
721
+
722
+ describe("Localized book 2Kgs (no)", function() {
723
+ var p;
724
+ p = {};
725
+ beforeEach(function() {
726
+ p = new bcv_parser();
727
+ p.set_options({
728
+ book_alone_strategy: "ignore",
729
+ book_sequence_strategy: "ignore",
730
+ osis_compaction_strategy: "bc",
731
+ captive_end_digits_strategy: "delete"
732
+ });
733
+ return p.include_apocrypha(true);
734
+ });
735
+ return it("should handle book: 2Kgs (no)", function() {
736
+
737
+ expect(p.parse("Andre Kongebok 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Andre Kongebok 1:1'")
738
+ expect(p.parse("2. Kongebok 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Kongebok 1:1'")
739
+ expect(p.parse("2 Kongebok 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Kongebok 1:1'")
740
+ expect(p.parse("Andre Kong 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'Andre Kong 1:1'")
741
+ expect(p.parse("2. Kong 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. Kong 1:1'")
742
+ expect(p.parse("2 Kong 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 Kong 1:1'")
743
+ expect(p.parse("2Kgs 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2Kgs 1:1'")
744
+ p.include_apocrypha(false)
745
+ expect(p.parse("ANDRE KONGEBOK 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'ANDRE KONGEBOK 1:1'")
746
+ expect(p.parse("2. KONGEBOK 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. KONGEBOK 1:1'")
747
+ expect(p.parse("2 KONGEBOK 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 KONGEBOK 1:1'")
748
+ expect(p.parse("ANDRE KONG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: 'ANDRE KONG 1:1'")
749
+ expect(p.parse("2. KONG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2. KONG 1:1'")
750
+ expect(p.parse("2 KONG 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2 KONG 1:1'")
751
+ expect(p.parse("2KGS 1:1").osis()).toEqual("2Kgs.1.1", "parsing: '2KGS 1:1'")
752
+ ;
753
+ return true;
754
+ });
755
+ });
756
+
757
+ describe("Localized book 1Kgs (no)", function() {
758
+ var p;
759
+ p = {};
760
+ beforeEach(function() {
761
+ p = new bcv_parser();
762
+ p.set_options({
763
+ book_alone_strategy: "ignore",
764
+ book_sequence_strategy: "ignore",
765
+ osis_compaction_strategy: "bc",
766
+ captive_end_digits_strategy: "delete"
767
+ });
768
+ return p.include_apocrypha(true);
769
+ });
770
+ return it("should handle book: 1Kgs (no)", function() {
771
+
772
+ expect(p.parse("Første Kongebok 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Første Kongebok 1:1'")
773
+ expect(p.parse("1. Kongebok 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Kongebok 1:1'")
774
+ expect(p.parse("Første Kong 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'Første Kong 1:1'")
775
+ expect(p.parse("1 Kongebok 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Kongebok 1:1'")
776
+ expect(p.parse("1. Kong 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. Kong 1:1'")
777
+ expect(p.parse("1 Kong 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 Kong 1:1'")
778
+ expect(p.parse("1Kgs 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1Kgs 1:1'")
779
+ p.include_apocrypha(false)
780
+ expect(p.parse("FØRSTE KONGEBOK 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'FØRSTE KONGEBOK 1:1'")
781
+ expect(p.parse("1. KONGEBOK 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. KONGEBOK 1:1'")
782
+ expect(p.parse("FØRSTE KONG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: 'FØRSTE KONG 1:1'")
783
+ expect(p.parse("1 KONGEBOK 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 KONGEBOK 1:1'")
784
+ expect(p.parse("1. KONG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1. KONG 1:1'")
785
+ expect(p.parse("1 KONG 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1 KONG 1:1'")
786
+ expect(p.parse("1KGS 1:1").osis()).toEqual("1Kgs.1.1", "parsing: '1KGS 1:1'")
787
+ ;
788
+ return true;
789
+ });
790
+ });
791
+
792
+ describe("Localized book 2Chr (no)", function() {
793
+ var p;
794
+ p = {};
795
+ beforeEach(function() {
796
+ p = new bcv_parser();
797
+ p.set_options({
798
+ book_alone_strategy: "ignore",
799
+ book_sequence_strategy: "ignore",
800
+ osis_compaction_strategy: "bc",
801
+ captive_end_digits_strategy: "delete"
802
+ });
803
+ return p.include_apocrypha(true);
804
+ });
805
+ return it("should handle book: 2Chr (no)", function() {
806
+
807
+ expect(p.parse("Andre Krønikebok 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Andre Krønikebok 1:1'")
808
+ expect(p.parse("2. Krønikebok 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Krønikebok 1:1'")
809
+ expect(p.parse("2 Krønikebok 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Krønikebok 1:1'")
810
+ expect(p.parse("Andre Krøn 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Andre Krøn 1:1'")
811
+ expect(p.parse("Andre Krø 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'Andre Krø 1:1'")
812
+ expect(p.parse("2. Krøn 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Krøn 1:1'")
813
+ expect(p.parse("2 Krøn 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Krøn 1:1'")
814
+ expect(p.parse("2. Krø 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. Krø 1:1'")
815
+ expect(p.parse("2 Krø 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 Krø 1:1'")
816
+ expect(p.parse("2Chr 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2Chr 1:1'")
817
+ p.include_apocrypha(false)
818
+ expect(p.parse("ANDRE KRØNIKEBOK 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'ANDRE KRØNIKEBOK 1:1'")
819
+ expect(p.parse("2. KRØNIKEBOK 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. KRØNIKEBOK 1:1'")
820
+ expect(p.parse("2 KRØNIKEBOK 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 KRØNIKEBOK 1:1'")
821
+ expect(p.parse("ANDRE KRØN 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'ANDRE KRØN 1:1'")
822
+ expect(p.parse("ANDRE KRØ 1:1").osis()).toEqual("2Chr.1.1", "parsing: 'ANDRE KRØ 1:1'")
823
+ expect(p.parse("2. KRØN 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. KRØN 1:1'")
824
+ expect(p.parse("2 KRØN 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 KRØN 1:1'")
825
+ expect(p.parse("2. KRØ 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2. KRØ 1:1'")
826
+ expect(p.parse("2 KRØ 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2 KRØ 1:1'")
827
+ expect(p.parse("2CHR 1:1").osis()).toEqual("2Chr.1.1", "parsing: '2CHR 1:1'")
828
+ ;
829
+ return true;
830
+ });
831
+ });
832
+
833
+ describe("Localized book 1Chr (no)", function() {
834
+ var p;
835
+ p = {};
836
+ beforeEach(function() {
837
+ p = new bcv_parser();
838
+ p.set_options({
839
+ book_alone_strategy: "ignore",
840
+ book_sequence_strategy: "ignore",
841
+ osis_compaction_strategy: "bc",
842
+ captive_end_digits_strategy: "delete"
843
+ });
844
+ return p.include_apocrypha(true);
845
+ });
846
+ return it("should handle book: 1Chr (no)", function() {
847
+
848
+ expect(p.parse("Første Krønikebok 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Første Krønikebok 1:1'")
849
+ expect(p.parse("1. Krønikebok 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Krønikebok 1:1'")
850
+ expect(p.parse("1 Krønikebok 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Krønikebok 1:1'")
851
+ expect(p.parse("Første Krøn 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Første Krøn 1:1'")
852
+ expect(p.parse("Første Krø 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'Første Krø 1:1'")
853
+ expect(p.parse("1. Krøn 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Krøn 1:1'")
854
+ expect(p.parse("1 Krøn 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Krøn 1:1'")
855
+ expect(p.parse("1. Krø 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. Krø 1:1'")
856
+ expect(p.parse("1 Krø 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 Krø 1:1'")
857
+ expect(p.parse("1Chr 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1Chr 1:1'")
858
+ p.include_apocrypha(false)
859
+ expect(p.parse("FØRSTE KRØNIKEBOK 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'FØRSTE KRØNIKEBOK 1:1'")
860
+ expect(p.parse("1. KRØNIKEBOK 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. KRØNIKEBOK 1:1'")
861
+ expect(p.parse("1 KRØNIKEBOK 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 KRØNIKEBOK 1:1'")
862
+ expect(p.parse("FØRSTE KRØN 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'FØRSTE KRØN 1:1'")
863
+ expect(p.parse("FØRSTE KRØ 1:1").osis()).toEqual("1Chr.1.1", "parsing: 'FØRSTE KRØ 1:1'")
864
+ expect(p.parse("1. KRØN 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. KRØN 1:1'")
865
+ expect(p.parse("1 KRØN 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 KRØN 1:1'")
866
+ expect(p.parse("1. KRØ 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1. KRØ 1:1'")
867
+ expect(p.parse("1 KRØ 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1 KRØ 1:1'")
868
+ expect(p.parse("1CHR 1:1").osis()).toEqual("1Chr.1.1", "parsing: '1CHR 1:1'")
869
+ ;
870
+ return true;
871
+ });
872
+ });
873
+
874
+ describe("Localized book Ezra (no)", function() {
875
+ var p;
876
+ p = {};
877
+ beforeEach(function() {
878
+ p = new bcv_parser();
879
+ p.set_options({
880
+ book_alone_strategy: "ignore",
881
+ book_sequence_strategy: "ignore",
882
+ osis_compaction_strategy: "bc",
883
+ captive_end_digits_strategy: "delete"
884
+ });
885
+ return p.include_apocrypha(true);
886
+ });
887
+ return it("should handle book: Ezra (no)", function() {
888
+
889
+ expect(p.parse("Esras bok 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esras bok 1:1'")
890
+ expect(p.parse("Esras 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esras 1:1'")
891
+ expect(p.parse("Esra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Esra 1:1'")
892
+ expect(p.parse("Ezra 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'Ezra 1:1'")
893
+ p.include_apocrypha(false)
894
+ expect(p.parse("ESRAS BOK 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESRAS BOK 1:1'")
895
+ expect(p.parse("ESRAS 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESRAS 1:1'")
896
+ expect(p.parse("ESRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'ESRA 1:1'")
897
+ expect(p.parse("EZRA 1:1").osis()).toEqual("Ezra.1.1", "parsing: 'EZRA 1:1'")
898
+ ;
899
+ return true;
900
+ });
901
+ });
902
+
903
+ describe("Localized book Neh (no)", function() {
904
+ var p;
905
+ p = {};
906
+ beforeEach(function() {
907
+ p = new bcv_parser();
908
+ p.set_options({
909
+ book_alone_strategy: "ignore",
910
+ book_sequence_strategy: "ignore",
911
+ osis_compaction_strategy: "bc",
912
+ captive_end_digits_strategy: "delete"
913
+ });
914
+ return p.include_apocrypha(true);
915
+ });
916
+ return it("should handle book: Neh (no)", function() {
917
+
918
+ expect(p.parse("Nehemjas bok 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemjas bok 1:1'")
919
+ expect(p.parse("Nehemias 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemias 1:1'")
920
+ expect(p.parse("Nehemja 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Nehemja 1:1'")
921
+ expect(p.parse("Neh 1:1").osis()).toEqual("Neh.1.1", "parsing: 'Neh 1:1'")
922
+ p.include_apocrypha(false)
923
+ expect(p.parse("NEHEMJAS BOK 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMJAS BOK 1:1'")
924
+ expect(p.parse("NEHEMIAS 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMIAS 1:1'")
925
+ expect(p.parse("NEHEMJA 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEHEMJA 1:1'")
926
+ expect(p.parse("NEH 1:1").osis()).toEqual("Neh.1.1", "parsing: 'NEH 1:1'")
927
+ ;
928
+ return true;
929
+ });
930
+ });
931
+
932
+ describe("Localized book GkEsth (no)", function() {
933
+ var p;
934
+ p = {};
935
+ beforeEach(function() {
936
+ p = new bcv_parser();
937
+ p.set_options({
938
+ book_alone_strategy: "ignore",
939
+ book_sequence_strategy: "ignore",
940
+ osis_compaction_strategy: "bc",
941
+ captive_end_digits_strategy: "delete"
942
+ });
943
+ return p.include_apocrypha(true);
944
+ });
945
+ return it("should handle book: GkEsth (no)", function() {
946
+
947
+ expect(p.parse("Den greske Ester-boken 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Den greske Ester-boken 1:1'")
948
+ expect(p.parse("Den greske Ester-boka 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'Den greske Ester-boka 1:1'")
949
+ expect(p.parse("GkEsth 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GkEsth 1:1'")
950
+ expect(p.parse("GrEst 1:1").osis()).toEqual("GkEsth.1.1", "parsing: 'GrEst 1:1'")
951
+ ;
952
+ return true;
953
+ });
954
+ });
955
+
956
+ describe("Localized book Esth (no)", function() {
957
+ var p;
958
+ p = {};
959
+ beforeEach(function() {
960
+ p = new bcv_parser();
961
+ p.set_options({
962
+ book_alone_strategy: "ignore",
963
+ book_sequence_strategy: "ignore",
964
+ osis_compaction_strategy: "bc",
965
+ captive_end_digits_strategy: "delete"
966
+ });
967
+ return p.include_apocrypha(true);
968
+ });
969
+ return it("should handle book: Esth (no)", function() {
970
+
971
+ expect(p.parse("Esters bok 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esters bok 1:1'")
972
+ expect(p.parse("Esters 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esters 1:1'")
973
+ expect(p.parse("Ester 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Ester 1:1'")
974
+ expect(p.parse("Esth 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Esth 1:1'")
975
+ expect(p.parse("Est 1:1").osis()).toEqual("Esth.1.1", "parsing: 'Est 1:1'")
976
+ p.include_apocrypha(false)
977
+ expect(p.parse("ESTERS BOK 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTERS BOK 1:1'")
978
+ expect(p.parse("ESTERS 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTERS 1:1'")
979
+ expect(p.parse("ESTER 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTER 1:1'")
980
+ expect(p.parse("ESTH 1:1").osis()).toEqual("Esth.1.1", "parsing: 'ESTH 1:1'")
981
+ expect(p.parse("EST 1:1").osis()).toEqual("Esth.1.1", "parsing: 'EST 1:1'")
982
+ ;
983
+ return true;
984
+ });
985
+ });
986
+
987
+ describe("Localized book Job (no)", function() {
988
+ var p;
989
+ p = {};
990
+ beforeEach(function() {
991
+ p = new bcv_parser();
992
+ p.set_options({
993
+ book_alone_strategy: "ignore",
994
+ book_sequence_strategy: "ignore",
995
+ osis_compaction_strategy: "bc",
996
+ captive_end_digits_strategy: "delete"
997
+ });
998
+ return p.include_apocrypha(true);
999
+ });
1000
+ return it("should handle book: Job (no)", function() {
1001
+
1002
+ expect(p.parse("Jobs bok 1:1").osis()).toEqual("Job.1.1", "parsing: 'Jobs bok 1:1'")
1003
+ expect(p.parse("Jobs 1:1").osis()).toEqual("Job.1.1", "parsing: 'Jobs 1:1'")
1004
+ expect(p.parse("Job 1:1").osis()).toEqual("Job.1.1", "parsing: 'Job 1:1'")
1005
+ p.include_apocrypha(false)
1006
+ expect(p.parse("JOBS BOK 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOBS BOK 1:1'")
1007
+ expect(p.parse("JOBS 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOBS 1:1'")
1008
+ expect(p.parse("JOB 1:1").osis()).toEqual("Job.1.1", "parsing: 'JOB 1:1'")
1009
+ ;
1010
+ return true;
1011
+ });
1012
+ });
1013
+
1014
+ describe("Localized book Ps (no)", function() {
1015
+ var p;
1016
+ p = {};
1017
+ beforeEach(function() {
1018
+ p = new bcv_parser();
1019
+ p.set_options({
1020
+ book_alone_strategy: "ignore",
1021
+ book_sequence_strategy: "ignore",
1022
+ osis_compaction_strategy: "bc",
1023
+ captive_end_digits_strategy: "delete"
1024
+ });
1025
+ return p.include_apocrypha(true);
1026
+ });
1027
+ return it("should handle book: Ps (no)", function() {
1028
+
1029
+ expect(p.parse("Salmenes bok 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salmenes bok 1:1'")
1030
+ expect(p.parse("Salmenes 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salmenes 1:1'")
1031
+ expect(p.parse("Salmene 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salmene 1:1'")
1032
+ expect(p.parse("Salme 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Salme 1:1'")
1033
+ expect(p.parse("Sal 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Sal 1:1'")
1034
+ expect(p.parse("Ps 1:1").osis()).toEqual("Ps.1.1", "parsing: 'Ps 1:1'")
1035
+ p.include_apocrypha(false)
1036
+ expect(p.parse("SALMENES BOK 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALMENES BOK 1:1'")
1037
+ expect(p.parse("SALMENES 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALMENES 1:1'")
1038
+ expect(p.parse("SALMENE 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALMENE 1:1'")
1039
+ expect(p.parse("SALME 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SALME 1:1'")
1040
+ expect(p.parse("SAL 1:1").osis()).toEqual("Ps.1.1", "parsing: 'SAL 1:1'")
1041
+ expect(p.parse("PS 1:1").osis()).toEqual("Ps.1.1", "parsing: 'PS 1:1'")
1042
+ ;
1043
+ return true;
1044
+ });
1045
+ });
1046
+
1047
+ describe("Localized book PrAzar (no)", function() {
1048
+ var p;
1049
+ p = {};
1050
+ beforeEach(function() {
1051
+ p = new bcv_parser();
1052
+ p.set_options({
1053
+ book_alone_strategy: "ignore",
1054
+ book_sequence_strategy: "ignore",
1055
+ osis_compaction_strategy: "bc",
1056
+ captive_end_digits_strategy: "delete"
1057
+ });
1058
+ return p.include_apocrypha(true);
1059
+ });
1060
+ return it("should handle book: PrAzar (no)", function() {
1061
+
1062
+ expect(p.parse("Asarjas bønn 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'Asarjas bønn 1:1'")
1063
+ expect(p.parse("PrAzar 1:1").osis()).toEqual("PrAzar.1.1", "parsing: 'PrAzar 1:1'")
1064
+ ;
1065
+ return true;
1066
+ });
1067
+ });
1068
+
1069
+ describe("Localized book Prov (no)", function() {
1070
+ var p;
1071
+ p = {};
1072
+ beforeEach(function() {
1073
+ p = new bcv_parser();
1074
+ p.set_options({
1075
+ book_alone_strategy: "ignore",
1076
+ book_sequence_strategy: "ignore",
1077
+ osis_compaction_strategy: "bc",
1078
+ captive_end_digits_strategy: "delete"
1079
+ });
1080
+ return p.include_apocrypha(true);
1081
+ });
1082
+ return it("should handle book: Prov (no)", function() {
1083
+
1084
+ expect(p.parse("Salomos Ordsprak 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Salomos Ordsprak 1:1'")
1085
+ expect(p.parse("Salomos Ordsprog 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Salomos Ordsprog 1:1'")
1086
+ expect(p.parse("Salomos Ordspråk 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Salomos Ordspråk 1:1'")
1087
+ expect(p.parse("Ordsprakene 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Ordsprakene 1:1'")
1088
+ expect(p.parse("Ordspråkene 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Ordspråkene 1:1'")
1089
+ expect(p.parse("Ordsp 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Ordsp 1:1'")
1090
+ expect(p.parse("Prov 1:1").osis()).toEqual("Prov.1.1", "parsing: 'Prov 1:1'")
1091
+ p.include_apocrypha(false)
1092
+ expect(p.parse("SALOMOS ORDSPRAK 1:1").osis()).toEqual("Prov.1.1", "parsing: 'SALOMOS ORDSPRAK 1:1'")
1093
+ expect(p.parse("SALOMOS ORDSPROG 1:1").osis()).toEqual("Prov.1.1", "parsing: 'SALOMOS ORDSPROG 1:1'")
1094
+ expect(p.parse("SALOMOS ORDSPRÅK 1:1").osis()).toEqual("Prov.1.1", "parsing: 'SALOMOS ORDSPRÅK 1:1'")
1095
+ expect(p.parse("ORDSPRAKENE 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ORDSPRAKENE 1:1'")
1096
+ expect(p.parse("ORDSPRÅKENE 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ORDSPRÅKENE 1:1'")
1097
+ expect(p.parse("ORDSP 1:1").osis()).toEqual("Prov.1.1", "parsing: 'ORDSP 1:1'")
1098
+ expect(p.parse("PROV 1:1").osis()).toEqual("Prov.1.1", "parsing: 'PROV 1:1'")
1099
+ ;
1100
+ return true;
1101
+ });
1102
+ });
1103
+
1104
+ describe("Localized book Eccl (no)", function() {
1105
+ var p;
1106
+ p = {};
1107
+ beforeEach(function() {
1108
+ p = new bcv_parser();
1109
+ p.set_options({
1110
+ book_alone_strategy: "ignore",
1111
+ book_sequence_strategy: "ignore",
1112
+ osis_compaction_strategy: "bc",
1113
+ captive_end_digits_strategy: "delete"
1114
+ });
1115
+ return p.include_apocrypha(true);
1116
+ });
1117
+ return it("should handle book: Eccl (no)", function() {
1118
+
1119
+ expect(p.parse("Forkynnerens bok 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Forkynnerens bok 1:1'")
1120
+ expect(p.parse("Predikantens bok 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Predikantens bok 1:1'")
1121
+ expect(p.parse("Forkynneren 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Forkynneren 1:1'")
1122
+ expect(p.parse("Predikerens 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Predikerens 1:1'")
1123
+ expect(p.parse("Predikeren 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Predikeren 1:1'")
1124
+ expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'")
1125
+ expect(p.parse("Fork 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Fork 1:1'")
1126
+ p.include_apocrypha(false)
1127
+ expect(p.parse("FORKYNNERENS BOK 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'FORKYNNERENS BOK 1:1'")
1128
+ expect(p.parse("PREDIKANTENS BOK 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'PREDIKANTENS BOK 1:1'")
1129
+ expect(p.parse("FORKYNNEREN 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'FORKYNNEREN 1:1'")
1130
+ expect(p.parse("PREDIKERENS 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'PREDIKERENS 1:1'")
1131
+ expect(p.parse("PREDIKEREN 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'PREDIKEREN 1:1'")
1132
+ expect(p.parse("ECCL 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCL 1:1'")
1133
+ expect(p.parse("FORK 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'FORK 1:1'")
1134
+ ;
1135
+ return true;
1136
+ });
1137
+ });
1138
+
1139
+ describe("Localized book SgThree (no)", function() {
1140
+ var p;
1141
+ p = {};
1142
+ beforeEach(function() {
1143
+ p = new bcv_parser();
1144
+ p.set_options({
1145
+ book_alone_strategy: "ignore",
1146
+ book_sequence_strategy: "ignore",
1147
+ osis_compaction_strategy: "bc",
1148
+ captive_end_digits_strategy: "delete"
1149
+ });
1150
+ return p.include_apocrypha(true);
1151
+ });
1152
+ return it("should handle book: SgThree (no)", function() {
1153
+
1154
+ expect(p.parse("De tre mennenes sang føyer 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'De tre mennenes sang føyer 1:1'")
1155
+ expect(p.parse("De tre menns sang 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'De tre menns sang 1:1'")
1156
+ expect(p.parse("SgThree 1:1").osis()).toEqual("SgThree.1.1", "parsing: 'SgThree 1:1'")
1157
+ ;
1158
+ return true;
1159
+ });
1160
+ });
1161
+
1162
+ describe("Localized book Song (no)", function() {
1163
+ var p;
1164
+ p = {};
1165
+ beforeEach(function() {
1166
+ p = new bcv_parser();
1167
+ p.set_options({
1168
+ book_alone_strategy: "ignore",
1169
+ book_sequence_strategy: "ignore",
1170
+ osis_compaction_strategy: "bc",
1171
+ captive_end_digits_strategy: "delete"
1172
+ });
1173
+ return p.include_apocrypha(true);
1174
+ });
1175
+ return it("should handle book: Song (no)", function() {
1176
+
1177
+ expect(p.parse("Salomos Høisang 1:1").osis()).toEqual("Song.1.1", "parsing: 'Salomos Høisang 1:1'")
1178
+ expect(p.parse("Salomos høysang 1:1").osis()).toEqual("Song.1.1", "parsing: 'Salomos høysang 1:1'")
1179
+ expect(p.parse("Høysangen 1:1").osis()).toEqual("Song.1.1", "parsing: 'Høysangen 1:1'")
1180
+ expect(p.parse("Høys 1:1").osis()).toEqual("Song.1.1", "parsing: 'Høys 1:1'")
1181
+ expect(p.parse("Song 1:1").osis()).toEqual("Song.1.1", "parsing: 'Song 1:1'")
1182
+ p.include_apocrypha(false)
1183
+ expect(p.parse("SALOMOS HØISANG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SALOMOS HØISANG 1:1'")
1184
+ expect(p.parse("SALOMOS HØYSANG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SALOMOS HØYSANG 1:1'")
1185
+ expect(p.parse("HØYSANGEN 1:1").osis()).toEqual("Song.1.1", "parsing: 'HØYSANGEN 1:1'")
1186
+ expect(p.parse("HØYS 1:1").osis()).toEqual("Song.1.1", "parsing: 'HØYS 1:1'")
1187
+ expect(p.parse("SONG 1:1").osis()).toEqual("Song.1.1", "parsing: 'SONG 1:1'")
1188
+ ;
1189
+ return true;
1190
+ });
1191
+ });
1192
+
1193
+ describe("Localized book Jer (no)", function() {
1194
+ var p;
1195
+ p = {};
1196
+ beforeEach(function() {
1197
+ p = new bcv_parser();
1198
+ p.set_options({
1199
+ book_alone_strategy: "ignore",
1200
+ book_sequence_strategy: "ignore",
1201
+ osis_compaction_strategy: "bc",
1202
+ captive_end_digits_strategy: "delete"
1203
+ });
1204
+ return p.include_apocrypha(true);
1205
+ });
1206
+ return it("should handle book: Jer (no)", function() {
1207
+
1208
+ expect(p.parse("Jeremias bok 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jeremias bok 1:1'")
1209
+ expect(p.parse("Jeremias 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jeremias 1:1'")
1210
+ expect(p.parse("Jeremia 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jeremia 1:1'")
1211
+ expect(p.parse("Jer 1:1").osis()).toEqual("Jer.1.1", "parsing: 'Jer 1:1'")
1212
+ p.include_apocrypha(false)
1213
+ expect(p.parse("JEREMIAS BOK 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JEREMIAS BOK 1:1'")
1214
+ expect(p.parse("JEREMIAS 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JEREMIAS 1:1'")
1215
+ expect(p.parse("JEREMIA 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JEREMIA 1:1'")
1216
+ expect(p.parse("JER 1:1").osis()).toEqual("Jer.1.1", "parsing: 'JER 1:1'")
1217
+ ;
1218
+ return true;
1219
+ });
1220
+ });
1221
+
1222
+ describe("Localized book Ezek (no)", function() {
1223
+ var p;
1224
+ p = {};
1225
+ beforeEach(function() {
1226
+ p = new bcv_parser();
1227
+ p.set_options({
1228
+ book_alone_strategy: "ignore",
1229
+ book_sequence_strategy: "ignore",
1230
+ osis_compaction_strategy: "bc",
1231
+ captive_end_digits_strategy: "delete"
1232
+ });
1233
+ return p.include_apocrypha(true);
1234
+ });
1235
+ return it("should handle book: Ezek (no)", function() {
1236
+
1237
+ expect(p.parse("Esekiels bok 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Esekiels bok 1:1'")
1238
+ expect(p.parse("Esekiel 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Esekiel 1:1'")
1239
+ expect(p.parse("Esek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Esek 1:1'")
1240
+ expect(p.parse("Ezek 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'Ezek 1:1'")
1241
+ p.include_apocrypha(false)
1242
+ expect(p.parse("ESEKIELS BOK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'ESEKIELS BOK 1:1'")
1243
+ expect(p.parse("ESEKIEL 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'ESEKIEL 1:1'")
1244
+ expect(p.parse("ESEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'ESEK 1:1'")
1245
+ expect(p.parse("EZEK 1:1").osis()).toEqual("Ezek.1.1", "parsing: 'EZEK 1:1'")
1246
+ ;
1247
+ return true;
1248
+ });
1249
+ });
1250
+
1251
+ describe("Localized book Dan (no)", function() {
1252
+ var p;
1253
+ p = {};
1254
+ beforeEach(function() {
1255
+ p = new bcv_parser();
1256
+ p.set_options({
1257
+ book_alone_strategy: "ignore",
1258
+ book_sequence_strategy: "ignore",
1259
+ osis_compaction_strategy: "bc",
1260
+ captive_end_digits_strategy: "delete"
1261
+ });
1262
+ return p.include_apocrypha(true);
1263
+ });
1264
+ return it("should handle book: Dan (no)", function() {
1265
+
1266
+ expect(p.parse("Daniels bok 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Daniels bok 1:1'")
1267
+ expect(p.parse("Daniel 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Daniel 1:1'")
1268
+ expect(p.parse("Dan 1:1").osis()).toEqual("Dan.1.1", "parsing: 'Dan 1:1'")
1269
+ p.include_apocrypha(false)
1270
+ expect(p.parse("DANIELS BOK 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DANIELS BOK 1:1'")
1271
+ expect(p.parse("DANIEL 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DANIEL 1:1'")
1272
+ expect(p.parse("DAN 1:1").osis()).toEqual("Dan.1.1", "parsing: 'DAN 1:1'")
1273
+ ;
1274
+ return true;
1275
+ });
1276
+ });
1277
+
1278
+ describe("Localized book Hos (no)", function() {
1279
+ var p;
1280
+ p = {};
1281
+ beforeEach(function() {
1282
+ p = new bcv_parser();
1283
+ p.set_options({
1284
+ book_alone_strategy: "ignore",
1285
+ book_sequence_strategy: "ignore",
1286
+ osis_compaction_strategy: "bc",
1287
+ captive_end_digits_strategy: "delete"
1288
+ });
1289
+ return p.include_apocrypha(true);
1290
+ });
1291
+ return it("should handle book: Hos (no)", function() {
1292
+
1293
+ expect(p.parse("Hoseas bok 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hoseas bok 1:1'")
1294
+ expect(p.parse("Hoseas 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hoseas 1:1'")
1295
+ expect(p.parse("Hosea 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hosea 1:1'")
1296
+ expect(p.parse("Hos 1:1").osis()).toEqual("Hos.1.1", "parsing: 'Hos 1:1'")
1297
+ p.include_apocrypha(false)
1298
+ expect(p.parse("HOSEAS BOK 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOSEAS BOK 1:1'")
1299
+ expect(p.parse("HOSEAS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOSEAS 1:1'")
1300
+ expect(p.parse("HOSEA 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOSEA 1:1'")
1301
+ expect(p.parse("HOS 1:1").osis()).toEqual("Hos.1.1", "parsing: 'HOS 1:1'")
1302
+ ;
1303
+ return true;
1304
+ });
1305
+ });
1306
+
1307
+ describe("Localized book Joel (no)", function() {
1308
+ var p;
1309
+ p = {};
1310
+ beforeEach(function() {
1311
+ p = new bcv_parser();
1312
+ p.set_options({
1313
+ book_alone_strategy: "ignore",
1314
+ book_sequence_strategy: "ignore",
1315
+ osis_compaction_strategy: "bc",
1316
+ captive_end_digits_strategy: "delete"
1317
+ });
1318
+ return p.include_apocrypha(true);
1319
+ });
1320
+ return it("should handle book: Joel (no)", function() {
1321
+
1322
+ expect(p.parse("Joels bok 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joels bok 1:1'")
1323
+ expect(p.parse("Joel 1:1").osis()).toEqual("Joel.1.1", "parsing: 'Joel 1:1'")
1324
+ p.include_apocrypha(false)
1325
+ expect(p.parse("JOELS BOK 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOELS BOK 1:1'")
1326
+ expect(p.parse("JOEL 1:1").osis()).toEqual("Joel.1.1", "parsing: 'JOEL 1:1'")
1327
+ ;
1328
+ return true;
1329
+ });
1330
+ });
1331
+
1332
+ describe("Localized book Amos (no)", function() {
1333
+ var p;
1334
+ p = {};
1335
+ beforeEach(function() {
1336
+ p = new bcv_parser();
1337
+ p.set_options({
1338
+ book_alone_strategy: "ignore",
1339
+ book_sequence_strategy: "ignore",
1340
+ osis_compaction_strategy: "bc",
1341
+ captive_end_digits_strategy: "delete"
1342
+ });
1343
+ return p.include_apocrypha(true);
1344
+ });
1345
+ return it("should handle book: Amos (no)", function() {
1346
+
1347
+ expect(p.parse("Amos' bok 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos' bok 1:1'")
1348
+ expect(p.parse("Amos’ bok 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos’ bok 1:1'")
1349
+ expect(p.parse("Amos 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Amos 1:1'")
1350
+ expect(p.parse("Am 1:1").osis()).toEqual("Amos.1.1", "parsing: 'Am 1:1'")
1351
+ p.include_apocrypha(false)
1352
+ expect(p.parse("AMOS' BOK 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS' BOK 1:1'")
1353
+ expect(p.parse("AMOS’ BOK 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS’ BOK 1:1'")
1354
+ expect(p.parse("AMOS 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AMOS 1:1'")
1355
+ expect(p.parse("AM 1:1").osis()).toEqual("Amos.1.1", "parsing: 'AM 1:1'")
1356
+ ;
1357
+ return true;
1358
+ });
1359
+ });
1360
+
1361
+ describe("Localized book Obad (no)", function() {
1362
+ var p;
1363
+ p = {};
1364
+ beforeEach(function() {
1365
+ p = new bcv_parser();
1366
+ p.set_options({
1367
+ book_alone_strategy: "ignore",
1368
+ book_sequence_strategy: "ignore",
1369
+ osis_compaction_strategy: "bc",
1370
+ captive_end_digits_strategy: "delete"
1371
+ });
1372
+ return p.include_apocrypha(true);
1373
+ });
1374
+ return it("should handle book: Obad (no)", function() {
1375
+
1376
+ expect(p.parse("Obadjas bok 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obadjas bok 1:1'")
1377
+ expect(p.parse("Obadias 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obadias 1:1'")
1378
+ expect(p.parse("Obadja 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obadja 1:1'")
1379
+ expect(p.parse("Obad 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Obad 1:1'")
1380
+ expect(p.parse("Ob 1:1").osis()).toEqual("Obad.1.1", "parsing: 'Ob 1:1'")
1381
+ p.include_apocrypha(false)
1382
+ expect(p.parse("OBADJAS BOK 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBADJAS BOK 1:1'")
1383
+ expect(p.parse("OBADIAS 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBADIAS 1:1'")
1384
+ expect(p.parse("OBADJA 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBADJA 1:1'")
1385
+ expect(p.parse("OBAD 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OBAD 1:1'")
1386
+ expect(p.parse("OB 1:1").osis()).toEqual("Obad.1.1", "parsing: 'OB 1:1'")
1387
+ ;
1388
+ return true;
1389
+ });
1390
+ });
1391
+
1392
+ describe("Localized book Jonah (no)", function() {
1393
+ var p;
1394
+ p = {};
1395
+ beforeEach(function() {
1396
+ p = new bcv_parser();
1397
+ p.set_options({
1398
+ book_alone_strategy: "ignore",
1399
+ book_sequence_strategy: "ignore",
1400
+ osis_compaction_strategy: "bc",
1401
+ captive_end_digits_strategy: "delete"
1402
+ });
1403
+ return p.include_apocrypha(true);
1404
+ });
1405
+ return it("should handle book: Jonah (no)", function() {
1406
+
1407
+ expect(p.parse("Jonas bok 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonas bok 1:1'")
1408
+ expect(p.parse("Jonah 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonah 1:1'")
1409
+ expect(p.parse("Jonas 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jonas 1:1'")
1410
+ expect(p.parse("Jona 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'Jona 1:1'")
1411
+ p.include_apocrypha(false)
1412
+ expect(p.parse("JONAS BOK 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAS BOK 1:1'")
1413
+ expect(p.parse("JONAH 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAH 1:1'")
1414
+ expect(p.parse("JONAS 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONAS 1:1'")
1415
+ expect(p.parse("JONA 1:1").osis()).toEqual("Jonah.1.1", "parsing: 'JONA 1:1'")
1416
+ ;
1417
+ return true;
1418
+ });
1419
+ });
1420
+
1421
+ describe("Localized book Mic (no)", function() {
1422
+ var p;
1423
+ p = {};
1424
+ beforeEach(function() {
1425
+ p = new bcv_parser();
1426
+ p.set_options({
1427
+ book_alone_strategy: "ignore",
1428
+ book_sequence_strategy: "ignore",
1429
+ osis_compaction_strategy: "bc",
1430
+ captive_end_digits_strategy: "delete"
1431
+ });
1432
+ return p.include_apocrypha(true);
1433
+ });
1434
+ return it("should handle book: Mic (no)", function() {
1435
+
1436
+ expect(p.parse("Mikas bok 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mikas bok 1:1'")
1437
+ expect(p.parse("Mika 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mika 1:1'")
1438
+ expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'")
1439
+ expect(p.parse("Mi 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mi 1:1'")
1440
+ p.include_apocrypha(false)
1441
+ expect(p.parse("MIKAS BOK 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKAS BOK 1:1'")
1442
+ expect(p.parse("MIKA 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKA 1:1'")
1443
+ expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'")
1444
+ expect(p.parse("MI 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MI 1:1'")
1445
+ ;
1446
+ return true;
1447
+ });
1448
+ });
1449
+
1450
+ describe("Localized book Nah (no)", function() {
1451
+ var p;
1452
+ p = {};
1453
+ beforeEach(function() {
1454
+ p = new bcv_parser();
1455
+ p.set_options({
1456
+ book_alone_strategy: "ignore",
1457
+ book_sequence_strategy: "ignore",
1458
+ osis_compaction_strategy: "bc",
1459
+ captive_end_digits_strategy: "delete"
1460
+ });
1461
+ return p.include_apocrypha(true);
1462
+ });
1463
+ return it("should handle book: Nah (no)", function() {
1464
+
1465
+ expect(p.parse("Nahums bok 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nahums bok 1:1'")
1466
+ expect(p.parse("Nahum 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nahum 1:1'")
1467
+ expect(p.parse("Nah 1:1").osis()).toEqual("Nah.1.1", "parsing: 'Nah 1:1'")
1468
+ p.include_apocrypha(false)
1469
+ expect(p.parse("NAHUMS BOK 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAHUMS BOK 1:1'")
1470
+ expect(p.parse("NAHUM 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAHUM 1:1'")
1471
+ expect(p.parse("NAH 1:1").osis()).toEqual("Nah.1.1", "parsing: 'NAH 1:1'")
1472
+ ;
1473
+ return true;
1474
+ });
1475
+ });
1476
+
1477
+ describe("Localized book Hab (no)", function() {
1478
+ var p;
1479
+ p = {};
1480
+ beforeEach(function() {
1481
+ p = new bcv_parser();
1482
+ p.set_options({
1483
+ book_alone_strategy: "ignore",
1484
+ book_sequence_strategy: "ignore",
1485
+ osis_compaction_strategy: "bc",
1486
+ captive_end_digits_strategy: "delete"
1487
+ });
1488
+ return p.include_apocrypha(true);
1489
+ });
1490
+ return it("should handle book: Hab (no)", function() {
1491
+
1492
+ expect(p.parse("Habakkuks bok 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habakkuks bok 1:1'")
1493
+ expect(p.parse("Habakkuk 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habakkuk 1:1'")
1494
+ expect(p.parse("Habakuk 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Habakuk 1:1'")
1495
+ expect(p.parse("Hab 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Hab 1:1'")
1496
+ p.include_apocrypha(false)
1497
+ expect(p.parse("HABAKKUKS BOK 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABAKKUKS BOK 1:1'")
1498
+ expect(p.parse("HABAKKUK 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABAKKUK 1:1'")
1499
+ expect(p.parse("HABAKUK 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HABAKUK 1:1'")
1500
+ expect(p.parse("HAB 1:1").osis()).toEqual("Hab.1.1", "parsing: 'HAB 1:1'")
1501
+ ;
1502
+ return true;
1503
+ });
1504
+ });
1505
+
1506
+ describe("Localized book Zeph (no)", function() {
1507
+ var p;
1508
+ p = {};
1509
+ beforeEach(function() {
1510
+ p = new bcv_parser();
1511
+ p.set_options({
1512
+ book_alone_strategy: "ignore",
1513
+ book_sequence_strategy: "ignore",
1514
+ osis_compaction_strategy: "bc",
1515
+ captive_end_digits_strategy: "delete"
1516
+ });
1517
+ return p.include_apocrypha(true);
1518
+ });
1519
+ return it("should handle book: Zeph (no)", function() {
1520
+
1521
+ expect(p.parse("Sefanjas bok 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sefanjas bok 1:1'")
1522
+ expect(p.parse("Sefanias 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sefanias 1:1'")
1523
+ expect(p.parse("Sefanja 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sefanja 1:1'")
1524
+ expect(p.parse("Zeph 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Zeph 1:1'")
1525
+ expect(p.parse("Sef 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'Sef 1:1'")
1526
+ p.include_apocrypha(false)
1527
+ expect(p.parse("SEFANJAS BOK 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SEFANJAS BOK 1:1'")
1528
+ expect(p.parse("SEFANIAS 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SEFANIAS 1:1'")
1529
+ expect(p.parse("SEFANJA 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SEFANJA 1:1'")
1530
+ expect(p.parse("ZEPH 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'ZEPH 1:1'")
1531
+ expect(p.parse("SEF 1:1").osis()).toEqual("Zeph.1.1", "parsing: 'SEF 1:1'")
1532
+ ;
1533
+ return true;
1534
+ });
1535
+ });
1536
+
1537
+ describe("Localized book Hag (no)", 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: Hag (no)", function() {
1551
+
1552
+ expect(p.parse("Haggais bok 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Haggais bok 1:1'")
1553
+ expect(p.parse("Haggai 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Haggai 1:1'")
1554
+ expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'")
1555
+ p.include_apocrypha(false)
1556
+ expect(p.parse("HAGGAIS BOK 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGGAIS BOK 1:1'")
1557
+ expect(p.parse("HAGGAI 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGGAI 1:1'")
1558
+ expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'")
1559
+ ;
1560
+ return true;
1561
+ });
1562
+ });
1563
+
1564
+ describe("Localized book Zech (no)", function() {
1565
+ var p;
1566
+ p = {};
1567
+ beforeEach(function() {
1568
+ p = new bcv_parser();
1569
+ p.set_options({
1570
+ book_alone_strategy: "ignore",
1571
+ book_sequence_strategy: "ignore",
1572
+ osis_compaction_strategy: "bc",
1573
+ captive_end_digits_strategy: "delete"
1574
+ });
1575
+ return p.include_apocrypha(true);
1576
+ });
1577
+ return it("should handle book: Zech (no)", function() {
1578
+
1579
+ expect(p.parse("Sakarjaboken 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Sakarjaboken 1:1'")
1580
+ expect(p.parse("Sakarjas bok 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Sakarjas bok 1:1'")
1581
+ expect(p.parse("Sakarias 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Sakarias 1:1'")
1582
+ expect(p.parse("Sakarja 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Sakarja 1:1'")
1583
+ expect(p.parse("Zech 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Zech 1:1'")
1584
+ expect(p.parse("Sak 1:1").osis()).toEqual("Zech.1.1", "parsing: 'Sak 1:1'")
1585
+ p.include_apocrypha(false)
1586
+ expect(p.parse("SAKARJABOKEN 1:1").osis()).toEqual("Zech.1.1", "parsing: 'SAKARJABOKEN 1:1'")
1587
+ expect(p.parse("SAKARJAS BOK 1:1").osis()).toEqual("Zech.1.1", "parsing: 'SAKARJAS BOK 1:1'")
1588
+ expect(p.parse("SAKARIAS 1:1").osis()).toEqual("Zech.1.1", "parsing: 'SAKARIAS 1:1'")
1589
+ expect(p.parse("SAKARJA 1:1").osis()).toEqual("Zech.1.1", "parsing: 'SAKARJA 1:1'")
1590
+ expect(p.parse("ZECH 1:1").osis()).toEqual("Zech.1.1", "parsing: 'ZECH 1:1'")
1591
+ expect(p.parse("SAK 1:1").osis()).toEqual("Zech.1.1", "parsing: 'SAK 1:1'")
1592
+ ;
1593
+ return true;
1594
+ });
1595
+ });
1596
+
1597
+ describe("Localized book Mal (no)", function() {
1598
+ var p;
1599
+ p = {};
1600
+ beforeEach(function() {
1601
+ p = new bcv_parser();
1602
+ p.set_options({
1603
+ book_alone_strategy: "ignore",
1604
+ book_sequence_strategy: "ignore",
1605
+ osis_compaction_strategy: "bc",
1606
+ captive_end_digits_strategy: "delete"
1607
+ });
1608
+ return p.include_apocrypha(true);
1609
+ });
1610
+ return it("should handle book: Mal (no)", function() {
1611
+
1612
+ expect(p.parse("Malakis bok 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malakis bok 1:1'")
1613
+ expect(p.parse("Malakias 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malakias 1:1'")
1614
+ expect(p.parse("Malaki 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Malaki 1:1'")
1615
+ expect(p.parse("Mal 1:1").osis()).toEqual("Mal.1.1", "parsing: 'Mal 1:1'")
1616
+ p.include_apocrypha(false)
1617
+ expect(p.parse("MALAKIS BOK 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALAKIS BOK 1:1'")
1618
+ expect(p.parse("MALAKIAS 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALAKIAS 1:1'")
1619
+ expect(p.parse("MALAKI 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MALAKI 1:1'")
1620
+ expect(p.parse("MAL 1:1").osis()).toEqual("Mal.1.1", "parsing: 'MAL 1:1'")
1621
+ ;
1622
+ return true;
1623
+ });
1624
+ });
1625
+
1626
+ describe("Localized book Matt (no)", function() {
1627
+ var p;
1628
+ p = {};
1629
+ beforeEach(function() {
1630
+ p = new bcv_parser();
1631
+ p.set_options({
1632
+ book_alone_strategy: "ignore",
1633
+ book_sequence_strategy: "ignore",
1634
+ osis_compaction_strategy: "bc",
1635
+ captive_end_digits_strategy: "delete"
1636
+ });
1637
+ return p.include_apocrypha(true);
1638
+ });
1639
+ return it("should handle book: Matt (no)", function() {
1640
+
1641
+ expect(p.parse("Evangeliet etter Matteus 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Evangeliet etter Matteus 1:1'")
1642
+ expect(p.parse("Matteusevangeliet 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matteusevangeliet 1:1'")
1643
+ expect(p.parse("Matteus 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matteus 1:1'")
1644
+ expect(p.parse("Matt 1:1").osis()).toEqual("Matt.1.1", "parsing: 'Matt 1:1'")
1645
+ p.include_apocrypha(false)
1646
+ expect(p.parse("EVANGELIET ETTER MATTEUS 1:1").osis()).toEqual("Matt.1.1", "parsing: 'EVANGELIET ETTER MATTEUS 1:1'")
1647
+ expect(p.parse("MATTEUSEVANGELIET 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATTEUSEVANGELIET 1:1'")
1648
+ expect(p.parse("MATTEUS 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATTEUS 1:1'")
1649
+ expect(p.parse("MATT 1:1").osis()).toEqual("Matt.1.1", "parsing: 'MATT 1:1'")
1650
+ ;
1651
+ return true;
1652
+ });
1653
+ });
1654
+
1655
+ describe("Localized book Mark (no)", function() {
1656
+ var p;
1657
+ p = {};
1658
+ beforeEach(function() {
1659
+ p = new bcv_parser();
1660
+ p.set_options({
1661
+ book_alone_strategy: "ignore",
1662
+ book_sequence_strategy: "ignore",
1663
+ osis_compaction_strategy: "bc",
1664
+ captive_end_digits_strategy: "delete"
1665
+ });
1666
+ return p.include_apocrypha(true);
1667
+ });
1668
+ return it("should handle book: Mark (no)", function() {
1669
+
1670
+ expect(p.parse("Evangeliet etter Markus 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Evangeliet etter Markus 1:1'")
1671
+ expect(p.parse("Markusevangeliet 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Markusevangeliet 1:1'")
1672
+ expect(p.parse("Markus 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Markus 1:1'")
1673
+ expect(p.parse("Mark 1:1").osis()).toEqual("Mark.1.1", "parsing: 'Mark 1:1'")
1674
+ p.include_apocrypha(false)
1675
+ expect(p.parse("EVANGELIET ETTER MARKUS 1:1").osis()).toEqual("Mark.1.1", "parsing: 'EVANGELIET ETTER MARKUS 1:1'")
1676
+ expect(p.parse("MARKUSEVANGELIET 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARKUSEVANGELIET 1:1'")
1677
+ expect(p.parse("MARKUS 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARKUS 1:1'")
1678
+ expect(p.parse("MARK 1:1").osis()).toEqual("Mark.1.1", "parsing: 'MARK 1:1'")
1679
+ ;
1680
+ return true;
1681
+ });
1682
+ });
1683
+
1684
+ describe("Localized book Luke (no)", function() {
1685
+ var p;
1686
+ p = {};
1687
+ beforeEach(function() {
1688
+ p = new bcv_parser();
1689
+ p.set_options({
1690
+ book_alone_strategy: "ignore",
1691
+ book_sequence_strategy: "ignore",
1692
+ osis_compaction_strategy: "bc",
1693
+ captive_end_digits_strategy: "delete"
1694
+ });
1695
+ return p.include_apocrypha(true);
1696
+ });
1697
+ return it("should handle book: Luke (no)", function() {
1698
+
1699
+ expect(p.parse("Evangeliet etter Lukas 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Evangeliet etter Lukas 1:1'")
1700
+ expect(p.parse("Lukasevangeliet 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lukasevangeliet 1:1'")
1701
+ expect(p.parse("Lukas 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Lukas 1:1'")
1702
+ expect(p.parse("Luke 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luke 1:1'")
1703
+ expect(p.parse("Luk 1:1").osis()).toEqual("Luke.1.1", "parsing: 'Luk 1:1'")
1704
+ p.include_apocrypha(false)
1705
+ expect(p.parse("EVANGELIET ETTER LUKAS 1:1").osis()).toEqual("Luke.1.1", "parsing: 'EVANGELIET ETTER LUKAS 1:1'")
1706
+ expect(p.parse("LUKASEVANGELIET 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKASEVANGELIET 1:1'")
1707
+ expect(p.parse("LUKAS 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKAS 1:1'")
1708
+ expect(p.parse("LUKE 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUKE 1:1'")
1709
+ expect(p.parse("LUK 1:1").osis()).toEqual("Luke.1.1", "parsing: 'LUK 1:1'")
1710
+ ;
1711
+ return true;
1712
+ });
1713
+ });
1714
+
1715
+ describe("Localized book 1John (no)", function() {
1716
+ var p;
1717
+ p = {};
1718
+ beforeEach(function() {
1719
+ p = new bcv_parser();
1720
+ p.set_options({
1721
+ book_alone_strategy: "ignore",
1722
+ book_sequence_strategy: "ignore",
1723
+ osis_compaction_strategy: "bc",
1724
+ captive_end_digits_strategy: "delete"
1725
+ });
1726
+ return p.include_apocrypha(true);
1727
+ });
1728
+ return it("should handle book: 1John (no)", function() {
1729
+
1730
+ expect(p.parse("Johannes’ første brev 1:1").osis()).toEqual("1John.1.1", "parsing: 'Johannes’ første brev 1:1'")
1731
+ expect(p.parse("Første Johannes 1:1").osis()).toEqual("1John.1.1", "parsing: 'Første Johannes 1:1'")
1732
+ expect(p.parse("1. Johannes 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Johannes 1:1'")
1733
+ expect(p.parse("1 Johannes 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Johannes 1:1'")
1734
+ expect(p.parse("Første Joh 1:1").osis()).toEqual("1John.1.1", "parsing: 'Første Joh 1:1'")
1735
+ expect(p.parse("1. Joh 1:1").osis()).toEqual("1John.1.1", "parsing: '1. Joh 1:1'")
1736
+ expect(p.parse("1 Joh 1:1").osis()).toEqual("1John.1.1", "parsing: '1 Joh 1:1'")
1737
+ expect(p.parse("1John 1:1").osis()).toEqual("1John.1.1", "parsing: '1John 1:1'")
1738
+ p.include_apocrypha(false)
1739
+ expect(p.parse("JOHANNES’ FØRSTE BREV 1:1").osis()).toEqual("1John.1.1", "parsing: 'JOHANNES’ FØRSTE BREV 1:1'")
1740
+ expect(p.parse("FØRSTE JOHANNES 1:1").osis()).toEqual("1John.1.1", "parsing: 'FØRSTE JOHANNES 1:1'")
1741
+ expect(p.parse("1. JOHANNES 1:1").osis()).toEqual("1John.1.1", "parsing: '1. JOHANNES 1:1'")
1742
+ expect(p.parse("1 JOHANNES 1:1").osis()).toEqual("1John.1.1", "parsing: '1 JOHANNES 1:1'")
1743
+ expect(p.parse("FØRSTE JOH 1:1").osis()).toEqual("1John.1.1", "parsing: 'FØRSTE JOH 1:1'")
1744
+ expect(p.parse("1. JOH 1:1").osis()).toEqual("1John.1.1", "parsing: '1. JOH 1:1'")
1745
+ expect(p.parse("1 JOH 1:1").osis()).toEqual("1John.1.1", "parsing: '1 JOH 1:1'")
1746
+ expect(p.parse("1JOHN 1:1").osis()).toEqual("1John.1.1", "parsing: '1JOHN 1:1'")
1747
+ ;
1748
+ return true;
1749
+ });
1750
+ });
1751
+
1752
+ describe("Localized book 2John (no)", function() {
1753
+ var p;
1754
+ p = {};
1755
+ beforeEach(function() {
1756
+ p = new bcv_parser();
1757
+ p.set_options({
1758
+ book_alone_strategy: "ignore",
1759
+ book_sequence_strategy: "ignore",
1760
+ osis_compaction_strategy: "bc",
1761
+ captive_end_digits_strategy: "delete"
1762
+ });
1763
+ return p.include_apocrypha(true);
1764
+ });
1765
+ return it("should handle book: 2John (no)", function() {
1766
+
1767
+ expect(p.parse("Johannes’ andre brev 1:1").osis()).toEqual("2John.1.1", "parsing: 'Johannes’ andre brev 1:1'")
1768
+ expect(p.parse("Andre Johannes 1:1").osis()).toEqual("2John.1.1", "parsing: 'Andre Johannes 1:1'")
1769
+ expect(p.parse("2. Johannes 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Johannes 1:1'")
1770
+ expect(p.parse("2 Johannes 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Johannes 1:1'")
1771
+ expect(p.parse("Andre Joh 1:1").osis()).toEqual("2John.1.1", "parsing: 'Andre Joh 1:1'")
1772
+ expect(p.parse("2. Joh 1:1").osis()).toEqual("2John.1.1", "parsing: '2. Joh 1:1'")
1773
+ expect(p.parse("2 Joh 1:1").osis()).toEqual("2John.1.1", "parsing: '2 Joh 1:1'")
1774
+ expect(p.parse("2John 1:1").osis()).toEqual("2John.1.1", "parsing: '2John 1:1'")
1775
+ p.include_apocrypha(false)
1776
+ expect(p.parse("JOHANNES’ ANDRE BREV 1:1").osis()).toEqual("2John.1.1", "parsing: 'JOHANNES’ ANDRE BREV 1:1'")
1777
+ expect(p.parse("ANDRE JOHANNES 1:1").osis()).toEqual("2John.1.1", "parsing: 'ANDRE JOHANNES 1:1'")
1778
+ expect(p.parse("2. JOHANNES 1:1").osis()).toEqual("2John.1.1", "parsing: '2. JOHANNES 1:1'")
1779
+ expect(p.parse("2 JOHANNES 1:1").osis()).toEqual("2John.1.1", "parsing: '2 JOHANNES 1:1'")
1780
+ expect(p.parse("ANDRE JOH 1:1").osis()).toEqual("2John.1.1", "parsing: 'ANDRE JOH 1:1'")
1781
+ expect(p.parse("2. JOH 1:1").osis()).toEqual("2John.1.1", "parsing: '2. JOH 1:1'")
1782
+ expect(p.parse("2 JOH 1:1").osis()).toEqual("2John.1.1", "parsing: '2 JOH 1:1'")
1783
+ expect(p.parse("2JOHN 1:1").osis()).toEqual("2John.1.1", "parsing: '2JOHN 1:1'")
1784
+ ;
1785
+ return true;
1786
+ });
1787
+ });
1788
+
1789
+ describe("Localized book 3John (no)", function() {
1790
+ var p;
1791
+ p = {};
1792
+ beforeEach(function() {
1793
+ p = new bcv_parser();
1794
+ p.set_options({
1795
+ book_alone_strategy: "ignore",
1796
+ book_sequence_strategy: "ignore",
1797
+ osis_compaction_strategy: "bc",
1798
+ captive_end_digits_strategy: "delete"
1799
+ });
1800
+ return p.include_apocrypha(true);
1801
+ });
1802
+ return it("should handle book: 3John (no)", function() {
1803
+
1804
+ expect(p.parse("Johannes’ tredje brev 1:1").osis()).toEqual("3John.1.1", "parsing: 'Johannes’ tredje brev 1:1'")
1805
+ expect(p.parse("Tredje Johannes 1:1").osis()).toEqual("3John.1.1", "parsing: 'Tredje Johannes 1:1'")
1806
+ expect(p.parse("3. Johannes 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Johannes 1:1'")
1807
+ expect(p.parse("3 Johannes 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Johannes 1:1'")
1808
+ expect(p.parse("Tredje Joh 1:1").osis()).toEqual("3John.1.1", "parsing: 'Tredje Joh 1:1'")
1809
+ expect(p.parse("3. Joh 1:1").osis()).toEqual("3John.1.1", "parsing: '3. Joh 1:1'")
1810
+ expect(p.parse("3 Joh 1:1").osis()).toEqual("3John.1.1", "parsing: '3 Joh 1:1'")
1811
+ expect(p.parse("3John 1:1").osis()).toEqual("3John.1.1", "parsing: '3John 1:1'")
1812
+ p.include_apocrypha(false)
1813
+ expect(p.parse("JOHANNES’ TREDJE BREV 1:1").osis()).toEqual("3John.1.1", "parsing: 'JOHANNES’ TREDJE BREV 1:1'")
1814
+ expect(p.parse("TREDJE JOHANNES 1:1").osis()).toEqual("3John.1.1", "parsing: 'TREDJE JOHANNES 1:1'")
1815
+ expect(p.parse("3. JOHANNES 1:1").osis()).toEqual("3John.1.1", "parsing: '3. JOHANNES 1:1'")
1816
+ expect(p.parse("3 JOHANNES 1:1").osis()).toEqual("3John.1.1", "parsing: '3 JOHANNES 1:1'")
1817
+ expect(p.parse("TREDJE JOH 1:1").osis()).toEqual("3John.1.1", "parsing: 'TREDJE JOH 1:1'")
1818
+ expect(p.parse("3. JOH 1:1").osis()).toEqual("3John.1.1", "parsing: '3. JOH 1:1'")
1819
+ expect(p.parse("3 JOH 1:1").osis()).toEqual("3John.1.1", "parsing: '3 JOH 1:1'")
1820
+ expect(p.parse("3JOHN 1:1").osis()).toEqual("3John.1.1", "parsing: '3JOHN 1:1'")
1821
+ ;
1822
+ return true;
1823
+ });
1824
+ });
1825
+
1826
+ describe("Localized book John (no)", function() {
1827
+ var p;
1828
+ p = {};
1829
+ beforeEach(function() {
1830
+ p = new bcv_parser();
1831
+ p.set_options({
1832
+ book_alone_strategy: "ignore",
1833
+ book_sequence_strategy: "ignore",
1834
+ osis_compaction_strategy: "bc",
1835
+ captive_end_digits_strategy: "delete"
1836
+ });
1837
+ return p.include_apocrypha(true);
1838
+ });
1839
+ return it("should handle book: John (no)", function() {
1840
+
1841
+ expect(p.parse("Evangeliet etter Johannes 1:1").osis()).toEqual("John.1.1", "parsing: 'Evangeliet etter Johannes 1:1'")
1842
+ expect(p.parse("Johannesevangeliet 1:1").osis()).toEqual("John.1.1", "parsing: 'Johannesevangeliet 1:1'")
1843
+ expect(p.parse("Johannes 1:1").osis()).toEqual("John.1.1", "parsing: 'Johannes 1:1'")
1844
+ expect(p.parse("John 1:1").osis()).toEqual("John.1.1", "parsing: 'John 1:1'")
1845
+ expect(p.parse("Joh 1:1").osis()).toEqual("John.1.1", "parsing: 'Joh 1:1'")
1846
+ p.include_apocrypha(false)
1847
+ expect(p.parse("EVANGELIET ETTER JOHANNES 1:1").osis()).toEqual("John.1.1", "parsing: 'EVANGELIET ETTER JOHANNES 1:1'")
1848
+ expect(p.parse("JOHANNESEVANGELIET 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHANNESEVANGELIET 1:1'")
1849
+ expect(p.parse("JOHANNES 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHANNES 1:1'")
1850
+ expect(p.parse("JOHN 1:1").osis()).toEqual("John.1.1", "parsing: 'JOHN 1:1'")
1851
+ expect(p.parse("JOH 1:1").osis()).toEqual("John.1.1", "parsing: 'JOH 1:1'")
1852
+ ;
1853
+ return true;
1854
+ });
1855
+ });
1856
+
1857
+ describe("Localized book Acts (no)", function() {
1858
+ var p;
1859
+ p = {};
1860
+ beforeEach(function() {
1861
+ p = new bcv_parser();
1862
+ p.set_options({
1863
+ book_alone_strategy: "ignore",
1864
+ book_sequence_strategy: "ignore",
1865
+ osis_compaction_strategy: "bc",
1866
+ captive_end_digits_strategy: "delete"
1867
+ });
1868
+ return p.include_apocrypha(true);
1869
+ });
1870
+ return it("should handle book: Acts (no)", function() {
1871
+
1872
+ expect(p.parse("Apostlenes gjerninger 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Apostlenes gjerninger 1:1'")
1873
+ expect(p.parse("Apostlenes-gjerninge 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Apostlenes-gjerninge 1:1'")
1874
+ expect(p.parse("Apostelgjerningene 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Apostelgjerningene 1:1'")
1875
+ expect(p.parse("Acta 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acta 1:1'")
1876
+ expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'")
1877
+ expect(p.parse("Apg 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Apg 1:1'")
1878
+ expect(p.parse("Ac 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Ac 1:1'")
1879
+ p.include_apocrypha(false)
1880
+ expect(p.parse("APOSTLENES GJERNINGER 1:1").osis()).toEqual("Acts.1.1", "parsing: 'APOSTLENES GJERNINGER 1:1'")
1881
+ expect(p.parse("APOSTLENES-GJERNINGE 1:1").osis()).toEqual("Acts.1.1", "parsing: 'APOSTLENES-GJERNINGE 1:1'")
1882
+ expect(p.parse("APOSTELGJERNINGENE 1:1").osis()).toEqual("Acts.1.1", "parsing: 'APOSTELGJERNINGENE 1:1'")
1883
+ expect(p.parse("ACTA 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTA 1:1'")
1884
+ expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'")
1885
+ expect(p.parse("APG 1:1").osis()).toEqual("Acts.1.1", "parsing: 'APG 1:1'")
1886
+ expect(p.parse("AC 1:1").osis()).toEqual("Acts.1.1", "parsing: 'AC 1:1'")
1887
+ ;
1888
+ return true;
1889
+ });
1890
+ });
1891
+
1892
+ describe("Localized book Rom (no)", function() {
1893
+ var p;
1894
+ p = {};
1895
+ beforeEach(function() {
1896
+ p = new bcv_parser();
1897
+ p.set_options({
1898
+ book_alone_strategy: "ignore",
1899
+ book_sequence_strategy: "ignore",
1900
+ osis_compaction_strategy: "bc",
1901
+ captive_end_digits_strategy: "delete"
1902
+ });
1903
+ return p.include_apocrypha(true);
1904
+ });
1905
+ return it("should handle book: Rom (no)", function() {
1906
+
1907
+ expect(p.parse("Paulus’ brev til romerne 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Paulus’ brev til romerne 1:1'")
1908
+ expect(p.parse("Romerbrevet 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Romerbrevet 1:1'")
1909
+ expect(p.parse("Romerne 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Romerne 1:1'")
1910
+ expect(p.parse("Rom 1:1").osis()).toEqual("Rom.1.1", "parsing: 'Rom 1:1'")
1911
+ p.include_apocrypha(false)
1912
+ expect(p.parse("PAULUS’ BREV TIL ROMERNE 1:1").osis()).toEqual("Rom.1.1", "parsing: 'PAULUS’ BREV TIL ROMERNE 1:1'")
1913
+ expect(p.parse("ROMERBREVET 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROMERBREVET 1:1'")
1914
+ expect(p.parse("ROMERNE 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROMERNE 1:1'")
1915
+ expect(p.parse("ROM 1:1").osis()).toEqual("Rom.1.1", "parsing: 'ROM 1:1'")
1916
+ ;
1917
+ return true;
1918
+ });
1919
+ });
1920
+
1921
+ describe("Localized book 2Cor (no)", function() {
1922
+ var p;
1923
+ p = {};
1924
+ beforeEach(function() {
1925
+ p = new bcv_parser();
1926
+ p.set_options({
1927
+ book_alone_strategy: "ignore",
1928
+ book_sequence_strategy: "ignore",
1929
+ osis_compaction_strategy: "bc",
1930
+ captive_end_digits_strategy: "delete"
1931
+ });
1932
+ return p.include_apocrypha(true);
1933
+ });
1934
+ return it("should handle book: 2Cor (no)", function() {
1935
+
1936
+ expect(p.parse("Paulus’ andre brev til korinterne 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Paulus’ andre brev til korinterne 1:1'")
1937
+ expect(p.parse("Andre korinterbrev 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Andre korinterbrev 1:1'")
1938
+ expect(p.parse("Andre Korintierne 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Andre Korintierne 1:1'")
1939
+ expect(p.parse("2. korinterbrev 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. korinterbrev 1:1'")
1940
+ expect(p.parse("2 korinterbrev 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 korinterbrev 1:1'")
1941
+ expect(p.parse("2. Korintierne 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Korintierne 1:1'")
1942
+ expect(p.parse("Andre Korinter 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Andre Korinter 1:1'")
1943
+ expect(p.parse("2 Korintierne 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Korintierne 1:1'")
1944
+ expect(p.parse("2. Korinter 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Korinter 1:1'")
1945
+ expect(p.parse("2 Korinter 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Korinter 1:1'")
1946
+ expect(p.parse("Andre Kor 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'Andre Kor 1:1'")
1947
+ expect(p.parse("2. Kor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. Kor 1:1'")
1948
+ expect(p.parse("2 Kor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 Kor 1:1'")
1949
+ expect(p.parse("2Cor 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2Cor 1:1'")
1950
+ p.include_apocrypha(false)
1951
+ expect(p.parse("PAULUS’ ANDRE BREV TIL KORINTERNE 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'PAULUS’ ANDRE BREV TIL KORINTERNE 1:1'")
1952
+ expect(p.parse("ANDRE KORINTERBREV 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'ANDRE KORINTERBREV 1:1'")
1953
+ expect(p.parse("ANDRE KORINTIERNE 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'ANDRE KORINTIERNE 1:1'")
1954
+ expect(p.parse("2. KORINTERBREV 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KORINTERBREV 1:1'")
1955
+ expect(p.parse("2 KORINTERBREV 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KORINTERBREV 1:1'")
1956
+ expect(p.parse("2. KORINTIERNE 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KORINTIERNE 1:1'")
1957
+ expect(p.parse("ANDRE KORINTER 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'ANDRE KORINTER 1:1'")
1958
+ expect(p.parse("2 KORINTIERNE 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KORINTIERNE 1:1'")
1959
+ expect(p.parse("2. KORINTER 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KORINTER 1:1'")
1960
+ expect(p.parse("2 KORINTER 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KORINTER 1:1'")
1961
+ expect(p.parse("ANDRE KOR 1:1").osis()).toEqual("2Cor.1.1", "parsing: 'ANDRE KOR 1:1'")
1962
+ expect(p.parse("2. KOR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2. KOR 1:1'")
1963
+ expect(p.parse("2 KOR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2 KOR 1:1'")
1964
+ expect(p.parse("2COR 1:1").osis()).toEqual("2Cor.1.1", "parsing: '2COR 1:1'")
1965
+ ;
1966
+ return true;
1967
+ });
1968
+ });
1969
+
1970
+ describe("Localized book 1Cor (no)", function() {
1971
+ var p;
1972
+ p = {};
1973
+ beforeEach(function() {
1974
+ p = new bcv_parser();
1975
+ p.set_options({
1976
+ book_alone_strategy: "ignore",
1977
+ book_sequence_strategy: "ignore",
1978
+ osis_compaction_strategy: "bc",
1979
+ captive_end_digits_strategy: "delete"
1980
+ });
1981
+ return p.include_apocrypha(true);
1982
+ });
1983
+ return it("should handle book: 1Cor (no)", function() {
1984
+
1985
+ expect(p.parse("Paulus’ første brev til korinterne 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Paulus’ første brev til korinterne 1:1'")
1986
+ expect(p.parse("Første korinterbrev 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Første korinterbrev 1:1'")
1987
+ expect(p.parse("Første Korintierne 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Første Korintierne 1:1'")
1988
+ expect(p.parse("1. korinterbrev 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. korinterbrev 1:1'")
1989
+ expect(p.parse("Første Korinter 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Første Korinter 1:1'")
1990
+ expect(p.parse("1 korinterbrev 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 korinterbrev 1:1'")
1991
+ expect(p.parse("1. Korintierne 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Korintierne 1:1'")
1992
+ expect(p.parse("1 Korintierne 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Korintierne 1:1'")
1993
+ expect(p.parse("1. Korinter 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Korinter 1:1'")
1994
+ expect(p.parse("1 Korinter 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Korinter 1:1'")
1995
+ expect(p.parse("Første Kor 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'Første Kor 1:1'")
1996
+ expect(p.parse("1. Kor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. Kor 1:1'")
1997
+ expect(p.parse("1 Kor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 Kor 1:1'")
1998
+ expect(p.parse("1Cor 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1Cor 1:1'")
1999
+ p.include_apocrypha(false)
2000
+ expect(p.parse("PAULUS’ FØRSTE BREV TIL KORINTERNE 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'PAULUS’ FØRSTE BREV TIL KORINTERNE 1:1'")
2001
+ expect(p.parse("FØRSTE KORINTERBREV 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'FØRSTE KORINTERBREV 1:1'")
2002
+ expect(p.parse("FØRSTE KORINTIERNE 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'FØRSTE KORINTIERNE 1:1'")
2003
+ expect(p.parse("1. KORINTERBREV 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KORINTERBREV 1:1'")
2004
+ expect(p.parse("FØRSTE KORINTER 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'FØRSTE KORINTER 1:1'")
2005
+ expect(p.parse("1 KORINTERBREV 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KORINTERBREV 1:1'")
2006
+ expect(p.parse("1. KORINTIERNE 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KORINTIERNE 1:1'")
2007
+ expect(p.parse("1 KORINTIERNE 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KORINTIERNE 1:1'")
2008
+ expect(p.parse("1. KORINTER 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KORINTER 1:1'")
2009
+ expect(p.parse("1 KORINTER 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KORINTER 1:1'")
2010
+ expect(p.parse("FØRSTE KOR 1:1").osis()).toEqual("1Cor.1.1", "parsing: 'FØRSTE KOR 1:1'")
2011
+ expect(p.parse("1. KOR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1. KOR 1:1'")
2012
+ expect(p.parse("1 KOR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1 KOR 1:1'")
2013
+ expect(p.parse("1COR 1:1").osis()).toEqual("1Cor.1.1", "parsing: '1COR 1:1'")
2014
+ ;
2015
+ return true;
2016
+ });
2017
+ });
2018
+
2019
+ describe("Localized book Gal (no)", function() {
2020
+ var p;
2021
+ p = {};
2022
+ beforeEach(function() {
2023
+ p = new bcv_parser();
2024
+ p.set_options({
2025
+ book_alone_strategy: "ignore",
2026
+ book_sequence_strategy: "ignore",
2027
+ osis_compaction_strategy: "bc",
2028
+ captive_end_digits_strategy: "delete"
2029
+ });
2030
+ return p.include_apocrypha(true);
2031
+ });
2032
+ return it("should handle book: Gal (no)", function() {
2033
+
2034
+ expect(p.parse("Paulus’ brev til galaterne 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Paulus’ brev til galaterne 1:1'")
2035
+ expect(p.parse("Galaterbrevet 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Galaterbrevet 1:1'")
2036
+ expect(p.parse("Galaterne 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Galaterne 1:1'")
2037
+ expect(p.parse("Gal 1:1").osis()).toEqual("Gal.1.1", "parsing: 'Gal 1:1'")
2038
+ p.include_apocrypha(false)
2039
+ expect(p.parse("PAULUS’ BREV TIL GALATERNE 1:1").osis()).toEqual("Gal.1.1", "parsing: 'PAULUS’ BREV TIL GALATERNE 1:1'")
2040
+ expect(p.parse("GALATERBREVET 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GALATERBREVET 1:1'")
2041
+ expect(p.parse("GALATERNE 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GALATERNE 1:1'")
2042
+ expect(p.parse("GAL 1:1").osis()).toEqual("Gal.1.1", "parsing: 'GAL 1:1'")
2043
+ ;
2044
+ return true;
2045
+ });
2046
+ });
2047
+
2048
+ describe("Localized book Eph (no)", function() {
2049
+ var p;
2050
+ p = {};
2051
+ beforeEach(function() {
2052
+ p = new bcv_parser();
2053
+ p.set_options({
2054
+ book_alone_strategy: "ignore",
2055
+ book_sequence_strategy: "ignore",
2056
+ osis_compaction_strategy: "bc",
2057
+ captive_end_digits_strategy: "delete"
2058
+ });
2059
+ return p.include_apocrypha(true);
2060
+ });
2061
+ return it("should handle book: Eph (no)", function() {
2062
+
2063
+ expect(p.parse("Paulus’ brev til efeserne 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Paulus’ brev til efeserne 1:1'")
2064
+ expect(p.parse("Efeserbrevet 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Efeserbrevet 1:1'")
2065
+ expect(p.parse("Efeserne 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Efeserne 1:1'")
2066
+ expect(p.parse("Eph 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Eph 1:1'")
2067
+ expect(p.parse("Ef 1:1").osis()).toEqual("Eph.1.1", "parsing: 'Ef 1:1'")
2068
+ p.include_apocrypha(false)
2069
+ expect(p.parse("PAULUS’ BREV TIL EFESERNE 1:1").osis()).toEqual("Eph.1.1", "parsing: 'PAULUS’ BREV TIL EFESERNE 1:1'")
2070
+ expect(p.parse("EFESERBREVET 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EFESERBREVET 1:1'")
2071
+ expect(p.parse("EFESERNE 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EFESERNE 1:1'")
2072
+ expect(p.parse("EPH 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EPH 1:1'")
2073
+ expect(p.parse("EF 1:1").osis()).toEqual("Eph.1.1", "parsing: 'EF 1:1'")
2074
+ ;
2075
+ return true;
2076
+ });
2077
+ });
2078
+
2079
+ describe("Localized book Phil (no)", function() {
2080
+ var p;
2081
+ p = {};
2082
+ beforeEach(function() {
2083
+ p = new bcv_parser();
2084
+ p.set_options({
2085
+ book_alone_strategy: "ignore",
2086
+ book_sequence_strategy: "ignore",
2087
+ osis_compaction_strategy: "bc",
2088
+ captive_end_digits_strategy: "delete"
2089
+ });
2090
+ return p.include_apocrypha(true);
2091
+ });
2092
+ return it("should handle book: Phil (no)", function() {
2093
+
2094
+ expect(p.parse("Paulus’ brev til filipperne 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Paulus’ brev til filipperne 1:1'")
2095
+ expect(p.parse("Filipperbrevet 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Filipperbrevet 1:1'")
2096
+ expect(p.parse("Filippenserne 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Filippenserne 1:1'")
2097
+ expect(p.parse("Filipperne 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Filipperne 1:1'")
2098
+ expect(p.parse("Phil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Phil 1:1'")
2099
+ expect(p.parse("Fil 1:1").osis()).toEqual("Phil.1.1", "parsing: 'Fil 1:1'")
2100
+ p.include_apocrypha(false)
2101
+ expect(p.parse("PAULUS’ BREV TIL FILIPPERNE 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PAULUS’ BREV TIL FILIPPERNE 1:1'")
2102
+ expect(p.parse("FILIPPERBREVET 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FILIPPERBREVET 1:1'")
2103
+ expect(p.parse("FILIPPENSERNE 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FILIPPENSERNE 1:1'")
2104
+ expect(p.parse("FILIPPERNE 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FILIPPERNE 1:1'")
2105
+ expect(p.parse("PHIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'PHIL 1:1'")
2106
+ expect(p.parse("FIL 1:1").osis()).toEqual("Phil.1.1", "parsing: 'FIL 1:1'")
2107
+ ;
2108
+ return true;
2109
+ });
2110
+ });
2111
+
2112
+ describe("Localized book Col (no)", function() {
2113
+ var p;
2114
+ p = {};
2115
+ beforeEach(function() {
2116
+ p = new bcv_parser();
2117
+ p.set_options({
2118
+ book_alone_strategy: "ignore",
2119
+ book_sequence_strategy: "ignore",
2120
+ osis_compaction_strategy: "bc",
2121
+ captive_end_digits_strategy: "delete"
2122
+ });
2123
+ return p.include_apocrypha(true);
2124
+ });
2125
+ return it("should handle book: Col (no)", function() {
2126
+
2127
+ expect(p.parse("Paulus’ brev til kolosserne 1:1").osis()).toEqual("Col.1.1", "parsing: 'Paulus’ brev til kolosserne 1:1'")
2128
+ expect(p.parse("Kolosserbrevet 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kolosserbrevet 1:1'")
2129
+ expect(p.parse("Kolossenserne 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kolossenserne 1:1'")
2130
+ expect(p.parse("Kolosserne 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kolosserne 1:1'")
2131
+ expect(p.parse("Col 1:1").osis()).toEqual("Col.1.1", "parsing: 'Col 1:1'")
2132
+ expect(p.parse("Kol 1:1").osis()).toEqual("Col.1.1", "parsing: 'Kol 1:1'")
2133
+ p.include_apocrypha(false)
2134
+ expect(p.parse("PAULUS’ BREV TIL KOLOSSERNE 1:1").osis()).toEqual("Col.1.1", "parsing: 'PAULUS’ BREV TIL KOLOSSERNE 1:1'")
2135
+ expect(p.parse("KOLOSSERBREVET 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOLOSSERBREVET 1:1'")
2136
+ expect(p.parse("KOLOSSENSERNE 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOLOSSENSERNE 1:1'")
2137
+ expect(p.parse("KOLOSSERNE 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOLOSSERNE 1:1'")
2138
+ expect(p.parse("COL 1:1").osis()).toEqual("Col.1.1", "parsing: 'COL 1:1'")
2139
+ expect(p.parse("KOL 1:1").osis()).toEqual("Col.1.1", "parsing: 'KOL 1:1'")
2140
+ ;
2141
+ return true;
2142
+ });
2143
+ });
2144
+
2145
+ describe("Localized book 2Thess (no)", function() {
2146
+ var p;
2147
+ p = {};
2148
+ beforeEach(function() {
2149
+ p = new bcv_parser();
2150
+ p.set_options({
2151
+ book_alone_strategy: "ignore",
2152
+ book_sequence_strategy: "ignore",
2153
+ osis_compaction_strategy: "bc",
2154
+ captive_end_digits_strategy: "delete"
2155
+ });
2156
+ return p.include_apocrypha(true);
2157
+ });
2158
+ return it("should handle book: 2Thess (no)", function() {
2159
+
2160
+ expect(p.parse("Paulus’ andre brev til tessalonikerne 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Paulus’ andre brev til tessalonikerne 1:1'")
2161
+ expect(p.parse("Andre tessalonikerbrev 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Andre tessalonikerbrev 1:1'")
2162
+ expect(p.parse("Andre Tessalonikerne 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Andre Tessalonikerne 1:1'")
2163
+ expect(p.parse("2. tessalonikerbrev 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. tessalonikerbrev 1:1'")
2164
+ expect(p.parse("2 tessalonikerbrev 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 tessalonikerbrev 1:1'")
2165
+ expect(p.parse("Andre Tessaloniker 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Andre Tessaloniker 1:1'")
2166
+ expect(p.parse("2. Tessalonikerne 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Tessalonikerne 1:1'")
2167
+ expect(p.parse("2 Tessalonikerne 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Tessalonikerne 1:1'")
2168
+ expect(p.parse("2. Tessaloniker 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Tessaloniker 1:1'")
2169
+ expect(p.parse("2 Tessaloniker 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Tessaloniker 1:1'")
2170
+ expect(p.parse("Andre Tess 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'Andre Tess 1:1'")
2171
+ expect(p.parse("2. Tess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. Tess 1:1'")
2172
+ expect(p.parse("2 Tess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 Tess 1:1'")
2173
+ expect(p.parse("2Thess 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2Thess 1:1'")
2174
+ p.include_apocrypha(false)
2175
+ expect(p.parse("PAULUS’ ANDRE BREV TIL TESSALONIKERNE 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'PAULUS’ ANDRE BREV TIL TESSALONIKERNE 1:1'")
2176
+ expect(p.parse("ANDRE TESSALONIKERBREV 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ANDRE TESSALONIKERBREV 1:1'")
2177
+ expect(p.parse("ANDRE TESSALONIKERNE 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ANDRE TESSALONIKERNE 1:1'")
2178
+ expect(p.parse("2. TESSALONIKERBREV 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TESSALONIKERBREV 1:1'")
2179
+ expect(p.parse("2 TESSALONIKERBREV 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TESSALONIKERBREV 1:1'")
2180
+ expect(p.parse("ANDRE TESSALONIKER 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ANDRE TESSALONIKER 1:1'")
2181
+ expect(p.parse("2. TESSALONIKERNE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TESSALONIKERNE 1:1'")
2182
+ expect(p.parse("2 TESSALONIKERNE 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TESSALONIKERNE 1:1'")
2183
+ expect(p.parse("2. TESSALONIKER 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TESSALONIKER 1:1'")
2184
+ expect(p.parse("2 TESSALONIKER 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TESSALONIKER 1:1'")
2185
+ expect(p.parse("ANDRE TESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: 'ANDRE TESS 1:1'")
2186
+ expect(p.parse("2. TESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2. TESS 1:1'")
2187
+ expect(p.parse("2 TESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2 TESS 1:1'")
2188
+ expect(p.parse("2THESS 1:1").osis()).toEqual("2Thess.1.1", "parsing: '2THESS 1:1'")
2189
+ ;
2190
+ return true;
2191
+ });
2192
+ });
2193
+
2194
+ describe("Localized book 1Thess (no)", function() {
2195
+ var p;
2196
+ p = {};
2197
+ beforeEach(function() {
2198
+ p = new bcv_parser();
2199
+ p.set_options({
2200
+ book_alone_strategy: "ignore",
2201
+ book_sequence_strategy: "ignore",
2202
+ osis_compaction_strategy: "bc",
2203
+ captive_end_digits_strategy: "delete"
2204
+ });
2205
+ return p.include_apocrypha(true);
2206
+ });
2207
+ return it("should handle book: 1Thess (no)", function() {
2208
+
2209
+ expect(p.parse("Paulus’ første brev til tessalonikerne 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Paulus’ første brev til tessalonikerne 1:1'")
2210
+ expect(p.parse("Første tessalonikerbrev 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Første tessalonikerbrev 1:1'")
2211
+ expect(p.parse("Første Tessalonikerne 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Første Tessalonikerne 1:1'")
2212
+ expect(p.parse("1. tessalonikerbrev 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. tessalonikerbrev 1:1'")
2213
+ expect(p.parse("Første Tessaloniker 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Første Tessaloniker 1:1'")
2214
+ expect(p.parse("1 tessalonikerbrev 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 tessalonikerbrev 1:1'")
2215
+ expect(p.parse("1. Tessalonikerne 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Tessalonikerne 1:1'")
2216
+ expect(p.parse("1 Tessalonikerne 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Tessalonikerne 1:1'")
2217
+ expect(p.parse("1. Tessaloniker 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Tessaloniker 1:1'")
2218
+ expect(p.parse("1 Tessaloniker 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Tessaloniker 1:1'")
2219
+ expect(p.parse("Første Tess 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'Første Tess 1:1'")
2220
+ expect(p.parse("1. Tess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. Tess 1:1'")
2221
+ expect(p.parse("1 Tess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 Tess 1:1'")
2222
+ expect(p.parse("1Thess 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1Thess 1:1'")
2223
+ p.include_apocrypha(false)
2224
+ expect(p.parse("PAULUS’ FØRSTE BREV TIL TESSALONIKERNE 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'PAULUS’ FØRSTE BREV TIL TESSALONIKERNE 1:1'")
2225
+ expect(p.parse("FØRSTE TESSALONIKERBREV 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'FØRSTE TESSALONIKERBREV 1:1'")
2226
+ expect(p.parse("FØRSTE TESSALONIKERNE 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'FØRSTE TESSALONIKERNE 1:1'")
2227
+ expect(p.parse("1. TESSALONIKERBREV 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TESSALONIKERBREV 1:1'")
2228
+ expect(p.parse("FØRSTE TESSALONIKER 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'FØRSTE TESSALONIKER 1:1'")
2229
+ expect(p.parse("1 TESSALONIKERBREV 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TESSALONIKERBREV 1:1'")
2230
+ expect(p.parse("1. TESSALONIKERNE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TESSALONIKERNE 1:1'")
2231
+ expect(p.parse("1 TESSALONIKERNE 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TESSALONIKERNE 1:1'")
2232
+ expect(p.parse("1. TESSALONIKER 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TESSALONIKER 1:1'")
2233
+ expect(p.parse("1 TESSALONIKER 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TESSALONIKER 1:1'")
2234
+ expect(p.parse("FØRSTE TESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: 'FØRSTE TESS 1:1'")
2235
+ expect(p.parse("1. TESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1. TESS 1:1'")
2236
+ expect(p.parse("1 TESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1 TESS 1:1'")
2237
+ expect(p.parse("1THESS 1:1").osis()).toEqual("1Thess.1.1", "parsing: '1THESS 1:1'")
2238
+ ;
2239
+ return true;
2240
+ });
2241
+ });
2242
+
2243
+ describe("Localized book 2Tim (no)", function() {
2244
+ var p;
2245
+ p = {};
2246
+ beforeEach(function() {
2247
+ p = new bcv_parser();
2248
+ p.set_options({
2249
+ book_alone_strategy: "ignore",
2250
+ book_sequence_strategy: "ignore",
2251
+ osis_compaction_strategy: "bc",
2252
+ captive_end_digits_strategy: "delete"
2253
+ });
2254
+ return p.include_apocrypha(true);
2255
+ });
2256
+ return it("should handle book: 2Tim (no)", function() {
2257
+
2258
+ expect(p.parse("Paulus’ andre brev til Timoteus 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Paulus’ andre brev til Timoteus 1:1'")
2259
+ expect(p.parse("Andre Timoteusbrev 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Andre Timoteusbrev 1:1'")
2260
+ expect(p.parse("2. Timoteusbrev 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Timoteusbrev 1:1'")
2261
+ expect(p.parse("2 Timoteusbrev 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Timoteusbrev 1:1'")
2262
+ expect(p.parse("Andre Timoteus 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Andre Timoteus 1:1'")
2263
+ expect(p.parse("2. Timoteus 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Timoteus 1:1'")
2264
+ expect(p.parse("2 Timoteus 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Timoteus 1:1'")
2265
+ expect(p.parse("Andre Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'Andre Tim 1:1'")
2266
+ expect(p.parse("2. Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. Tim 1:1'")
2267
+ expect(p.parse("2 Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 Tim 1:1'")
2268
+ expect(p.parse("2Tim 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2Tim 1:1'")
2269
+ p.include_apocrypha(false)
2270
+ expect(p.parse("PAULUS’ ANDRE BREV TIL TIMOTEUS 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'PAULUS’ ANDRE BREV TIL TIMOTEUS 1:1'")
2271
+ expect(p.parse("ANDRE TIMOTEUSBREV 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ANDRE TIMOTEUSBREV 1:1'")
2272
+ expect(p.parse("2. TIMOTEUSBREV 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIMOTEUSBREV 1:1'")
2273
+ expect(p.parse("2 TIMOTEUSBREV 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIMOTEUSBREV 1:1'")
2274
+ expect(p.parse("ANDRE TIMOTEUS 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ANDRE TIMOTEUS 1:1'")
2275
+ expect(p.parse("2. TIMOTEUS 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIMOTEUS 1:1'")
2276
+ expect(p.parse("2 TIMOTEUS 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIMOTEUS 1:1'")
2277
+ expect(p.parse("ANDRE TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: 'ANDRE TIM 1:1'")
2278
+ expect(p.parse("2. TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2. TIM 1:1'")
2279
+ expect(p.parse("2 TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2 TIM 1:1'")
2280
+ expect(p.parse("2TIM 1:1").osis()).toEqual("2Tim.1.1", "parsing: '2TIM 1:1'")
2281
+ ;
2282
+ return true;
2283
+ });
2284
+ });
2285
+
2286
+ describe("Localized book 1Tim (no)", 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: 1Tim (no)", function() {
2300
+
2301
+ expect(p.parse("Paulus’ første brev til Timoteus 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Paulus’ første brev til Timoteus 1:1'")
2302
+ expect(p.parse("Første Timoteusbrev 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Første Timoteusbrev 1:1'")
2303
+ expect(p.parse("1. Timoteusbrev 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Timoteusbrev 1:1'")
2304
+ expect(p.parse("Første Timoteus 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Første Timoteus 1:1'")
2305
+ expect(p.parse("1 Timoteusbrev 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Timoteusbrev 1:1'")
2306
+ expect(p.parse("1. Timoteus 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Timoteus 1:1'")
2307
+ expect(p.parse("1 Timoteus 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Timoteus 1:1'")
2308
+ expect(p.parse("Første Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'Første Tim 1:1'")
2309
+ expect(p.parse("1. Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. Tim 1:1'")
2310
+ expect(p.parse("1 Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 Tim 1:1'")
2311
+ expect(p.parse("1Tim 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1Tim 1:1'")
2312
+ p.include_apocrypha(false)
2313
+ expect(p.parse("PAULUS’ FØRSTE BREV TIL TIMOTEUS 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'PAULUS’ FØRSTE BREV TIL TIMOTEUS 1:1'")
2314
+ expect(p.parse("FØRSTE TIMOTEUSBREV 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'FØRSTE TIMOTEUSBREV 1:1'")
2315
+ expect(p.parse("1. TIMOTEUSBREV 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIMOTEUSBREV 1:1'")
2316
+ expect(p.parse("FØRSTE TIMOTEUS 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'FØRSTE TIMOTEUS 1:1'")
2317
+ expect(p.parse("1 TIMOTEUSBREV 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIMOTEUSBREV 1:1'")
2318
+ expect(p.parse("1. TIMOTEUS 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIMOTEUS 1:1'")
2319
+ expect(p.parse("1 TIMOTEUS 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIMOTEUS 1:1'")
2320
+ expect(p.parse("FØRSTE TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: 'FØRSTE TIM 1:1'")
2321
+ expect(p.parse("1. TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1. TIM 1:1'")
2322
+ expect(p.parse("1 TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1 TIM 1:1'")
2323
+ expect(p.parse("1TIM 1:1").osis()).toEqual("1Tim.1.1", "parsing: '1TIM 1:1'")
2324
+ ;
2325
+ return true;
2326
+ });
2327
+ });
2328
+
2329
+ describe("Localized book Titus (no)", function() {
2330
+ var p;
2331
+ p = {};
2332
+ beforeEach(function() {
2333
+ p = new bcv_parser();
2334
+ p.set_options({
2335
+ book_alone_strategy: "ignore",
2336
+ book_sequence_strategy: "ignore",
2337
+ osis_compaction_strategy: "bc",
2338
+ captive_end_digits_strategy: "delete"
2339
+ });
2340
+ return p.include_apocrypha(true);
2341
+ });
2342
+ return it("should handle book: Titus (no)", function() {
2343
+
2344
+ expect(p.parse("Paulus’ brev til Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Paulus’ brev til Titus 1:1'")
2345
+ expect(p.parse("Brevet til Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Brevet til Titus 1:1'")
2346
+ expect(p.parse("Titus 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Titus 1:1'")
2347
+ expect(p.parse("Tit 1:1").osis()).toEqual("Titus.1.1", "parsing: 'Tit 1:1'")
2348
+ p.include_apocrypha(false)
2349
+ expect(p.parse("PAULUS’ BREV TIL TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'PAULUS’ BREV TIL TITUS 1:1'")
2350
+ expect(p.parse("BREVET TIL TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'BREVET TIL TITUS 1:1'")
2351
+ expect(p.parse("TITUS 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TITUS 1:1'")
2352
+ expect(p.parse("TIT 1:1").osis()).toEqual("Titus.1.1", "parsing: 'TIT 1:1'")
2353
+ ;
2354
+ return true;
2355
+ });
2356
+ });
2357
+
2358
+ describe("Localized book Phlm (no)", function() {
2359
+ var p;
2360
+ p = {};
2361
+ beforeEach(function() {
2362
+ p = new bcv_parser();
2363
+ p.set_options({
2364
+ book_alone_strategy: "ignore",
2365
+ book_sequence_strategy: "ignore",
2366
+ osis_compaction_strategy: "bc",
2367
+ captive_end_digits_strategy: "delete"
2368
+ });
2369
+ return p.include_apocrypha(true);
2370
+ });
2371
+ return it("should handle book: Phlm (no)", function() {
2372
+
2373
+ expect(p.parse("Paulus’ brev til Filemon 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Paulus’ brev til Filemon 1:1'")
2374
+ expect(p.parse("Brevet til Filemon 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Brevet til Filemon 1:1'")
2375
+ expect(p.parse("Filemonbrevet 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Filemonbrevet 1:1'")
2376
+ expect(p.parse("Filemon 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Filemon 1:1'")
2377
+ expect(p.parse("Filem 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Filem 1:1'")
2378
+ expect(p.parse("Phlm 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'Phlm 1:1'")
2379
+ p.include_apocrypha(false)
2380
+ expect(p.parse("PAULUS’ BREV TIL FILEMON 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PAULUS’ BREV TIL FILEMON 1:1'")
2381
+ expect(p.parse("BREVET TIL FILEMON 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'BREVET TIL FILEMON 1:1'")
2382
+ expect(p.parse("FILEMONBREVET 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FILEMONBREVET 1:1'")
2383
+ expect(p.parse("FILEMON 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FILEMON 1:1'")
2384
+ expect(p.parse("FILEM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'FILEM 1:1'")
2385
+ expect(p.parse("PHLM 1:1").osis()).toEqual("Phlm.1.1", "parsing: 'PHLM 1:1'")
2386
+ ;
2387
+ return true;
2388
+ });
2389
+ });
2390
+
2391
+ describe("Localized book Heb (no)", function() {
2392
+ var p;
2393
+ p = {};
2394
+ beforeEach(function() {
2395
+ p = new bcv_parser();
2396
+ p.set_options({
2397
+ book_alone_strategy: "ignore",
2398
+ book_sequence_strategy: "ignore",
2399
+ osis_compaction_strategy: "bc",
2400
+ captive_end_digits_strategy: "delete"
2401
+ });
2402
+ return p.include_apocrypha(true);
2403
+ });
2404
+ return it("should handle book: Heb (no)", function() {
2405
+
2406
+ expect(p.parse("Brevet til hebreerne 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Brevet til hebreerne 1:1'")
2407
+ expect(p.parse("Hebreerbrevet 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebreerbrevet 1:1'")
2408
+ expect(p.parse("Hebreerne 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebreerne 1:1'")
2409
+ expect(p.parse("Hebr 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Hebr 1:1'")
2410
+ expect(p.parse("Heb 1:1").osis()).toEqual("Heb.1.1", "parsing: 'Heb 1:1'")
2411
+ p.include_apocrypha(false)
2412
+ expect(p.parse("BREVET TIL HEBREERNE 1:1").osis()).toEqual("Heb.1.1", "parsing: 'BREVET TIL HEBREERNE 1:1'")
2413
+ expect(p.parse("HEBREERBREVET 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBREERBREVET 1:1'")
2414
+ expect(p.parse("HEBREERNE 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBREERNE 1:1'")
2415
+ expect(p.parse("HEBR 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEBR 1:1'")
2416
+ expect(p.parse("HEB 1:1").osis()).toEqual("Heb.1.1", "parsing: 'HEB 1:1'")
2417
+ ;
2418
+ return true;
2419
+ });
2420
+ });
2421
+
2422
+ describe("Localized book Jas (no)", function() {
2423
+ var p;
2424
+ p = {};
2425
+ beforeEach(function() {
2426
+ p = new bcv_parser();
2427
+ p.set_options({
2428
+ book_alone_strategy: "ignore",
2429
+ book_sequence_strategy: "ignore",
2430
+ osis_compaction_strategy: "bc",
2431
+ captive_end_digits_strategy: "delete"
2432
+ });
2433
+ return p.include_apocrypha(true);
2434
+ });
2435
+ return it("should handle book: Jas (no)", function() {
2436
+
2437
+ expect(p.parse("Jakobs brev 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jakobs brev 1:1'")
2438
+ expect(p.parse("Jakobs 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jakobs 1:1'")
2439
+ expect(p.parse("Jakob 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jakob 1:1'")
2440
+ expect(p.parse("Jak 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jak 1:1'")
2441
+ expect(p.parse("Jas 1:1").osis()).toEqual("Jas.1.1", "parsing: 'Jas 1:1'")
2442
+ p.include_apocrypha(false)
2443
+ expect(p.parse("JAKOBS BREV 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAKOBS BREV 1:1'")
2444
+ expect(p.parse("JAKOBS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAKOBS 1:1'")
2445
+ expect(p.parse("JAKOB 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAKOB 1:1'")
2446
+ expect(p.parse("JAK 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAK 1:1'")
2447
+ expect(p.parse("JAS 1:1").osis()).toEqual("Jas.1.1", "parsing: 'JAS 1:1'")
2448
+ ;
2449
+ return true;
2450
+ });
2451
+ });
2452
+
2453
+ describe("Localized book 2Pet (no)", function() {
2454
+ var p;
2455
+ p = {};
2456
+ beforeEach(function() {
2457
+ p = new bcv_parser();
2458
+ p.set_options({
2459
+ book_alone_strategy: "ignore",
2460
+ book_sequence_strategy: "ignore",
2461
+ osis_compaction_strategy: "bc",
2462
+ captive_end_digits_strategy: "delete"
2463
+ });
2464
+ return p.include_apocrypha(true);
2465
+ });
2466
+ return it("should handle book: 2Pet (no)", function() {
2467
+
2468
+ expect(p.parse("Peters andre brev 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Peters andre brev 1:1'")
2469
+ expect(p.parse("Andre Petersbrev 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Andre Petersbrev 1:1'")
2470
+ expect(p.parse("2. Petersbrev 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Petersbrev 1:1'")
2471
+ expect(p.parse("2 Petersbrev 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Petersbrev 1:1'")
2472
+ expect(p.parse("Andre Peters 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Andre Peters 1:1'")
2473
+ expect(p.parse("Andre Peter 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Andre Peter 1:1'")
2474
+ expect(p.parse("2. Peters 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Peters 1:1'")
2475
+ expect(p.parse("Andre Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'Andre Pet 1:1'")
2476
+ expect(p.parse("2 Peters 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Peters 1:1'")
2477
+ expect(p.parse("2. Peter 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Peter 1:1'")
2478
+ expect(p.parse("2 Peter 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Peter 1:1'")
2479
+ expect(p.parse("2. Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. Pet 1:1'")
2480
+ expect(p.parse("2 Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 Pet 1:1'")
2481
+ expect(p.parse("2Pet 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2Pet 1:1'")
2482
+ p.include_apocrypha(false)
2483
+ expect(p.parse("PETERS ANDRE BREV 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'PETERS ANDRE BREV 1:1'")
2484
+ expect(p.parse("ANDRE PETERSBREV 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'ANDRE PETERSBREV 1:1'")
2485
+ expect(p.parse("2. PETERSBREV 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PETERSBREV 1:1'")
2486
+ expect(p.parse("2 PETERSBREV 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETERSBREV 1:1'")
2487
+ expect(p.parse("ANDRE PETERS 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'ANDRE PETERS 1:1'")
2488
+ expect(p.parse("ANDRE PETER 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'ANDRE PETER 1:1'")
2489
+ expect(p.parse("2. PETERS 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PETERS 1:1'")
2490
+ expect(p.parse("ANDRE PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: 'ANDRE PET 1:1'")
2491
+ expect(p.parse("2 PETERS 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETERS 1:1'")
2492
+ expect(p.parse("2. PETER 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PETER 1:1'")
2493
+ expect(p.parse("2 PETER 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PETER 1:1'")
2494
+ expect(p.parse("2. PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2. PET 1:1'")
2495
+ expect(p.parse("2 PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2 PET 1:1'")
2496
+ expect(p.parse("2PET 1:1").osis()).toEqual("2Pet.1.1", "parsing: '2PET 1:1'")
2497
+ ;
2498
+ return true;
2499
+ });
2500
+ });
2501
+
2502
+ describe("Localized book 1Pet (no)", function() {
2503
+ var p;
2504
+ p = {};
2505
+ beforeEach(function() {
2506
+ p = new bcv_parser();
2507
+ p.set_options({
2508
+ book_alone_strategy: "ignore",
2509
+ book_sequence_strategy: "ignore",
2510
+ osis_compaction_strategy: "bc",
2511
+ captive_end_digits_strategy: "delete"
2512
+ });
2513
+ return p.include_apocrypha(true);
2514
+ });
2515
+ return it("should handle book: 1Pet (no)", function() {
2516
+
2517
+ expect(p.parse("Peters første brev 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Peters første brev 1:1'")
2518
+ expect(p.parse("Første Petersbrev 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Første Petersbrev 1:1'")
2519
+ expect(p.parse("1. Petersbrev 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Petersbrev 1:1'")
2520
+ expect(p.parse("Første Peters 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Første Peters 1:1'")
2521
+ expect(p.parse("1 Petersbrev 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Petersbrev 1:1'")
2522
+ expect(p.parse("Første Peter 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Første Peter 1:1'")
2523
+ expect(p.parse("Første Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'Første Pet 1:1'")
2524
+ expect(p.parse("1. Peters 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Peters 1:1'")
2525
+ expect(p.parse("1 Peters 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Peters 1:1'")
2526
+ expect(p.parse("1. Peter 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Peter 1:1'")
2527
+ expect(p.parse("1 Peter 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Peter 1:1'")
2528
+ expect(p.parse("1. Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. Pet 1:1'")
2529
+ expect(p.parse("1 Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 Pet 1:1'")
2530
+ expect(p.parse("1Pet 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1Pet 1:1'")
2531
+ p.include_apocrypha(false)
2532
+ expect(p.parse("PETERS FØRSTE BREV 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'PETERS FØRSTE BREV 1:1'")
2533
+ expect(p.parse("FØRSTE PETERSBREV 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'FØRSTE PETERSBREV 1:1'")
2534
+ expect(p.parse("1. PETERSBREV 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PETERSBREV 1:1'")
2535
+ expect(p.parse("FØRSTE PETERS 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'FØRSTE PETERS 1:1'")
2536
+ expect(p.parse("1 PETERSBREV 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETERSBREV 1:1'")
2537
+ expect(p.parse("FØRSTE PETER 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'FØRSTE PETER 1:1'")
2538
+ expect(p.parse("FØRSTE PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: 'FØRSTE PET 1:1'")
2539
+ expect(p.parse("1. PETERS 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PETERS 1:1'")
2540
+ expect(p.parse("1 PETERS 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETERS 1:1'")
2541
+ expect(p.parse("1. PETER 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PETER 1:1'")
2542
+ expect(p.parse("1 PETER 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PETER 1:1'")
2543
+ expect(p.parse("1. PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1. PET 1:1'")
2544
+ expect(p.parse("1 PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1 PET 1:1'")
2545
+ expect(p.parse("1PET 1:1").osis()).toEqual("1Pet.1.1", "parsing: '1PET 1:1'")
2546
+ ;
2547
+ return true;
2548
+ });
2549
+ });
2550
+
2551
+ describe("Localized book Jude (no)", function() {
2552
+ var p;
2553
+ p = {};
2554
+ beforeEach(function() {
2555
+ p = new bcv_parser();
2556
+ p.set_options({
2557
+ book_alone_strategy: "ignore",
2558
+ book_sequence_strategy: "ignore",
2559
+ osis_compaction_strategy: "bc",
2560
+ captive_end_digits_strategy: "delete"
2561
+ });
2562
+ return p.include_apocrypha(true);
2563
+ });
2564
+ return it("should handle book: Jude (no)", function() {
2565
+
2566
+ expect(p.parse("Judasbrevet 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Judasbrevet 1:1'")
2567
+ expect(p.parse("Judas’ brev 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Judas’ brev 1:1'")
2568
+ expect(p.parse("Judas 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Judas 1:1'")
2569
+ expect(p.parse("Jude 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jude 1:1'")
2570
+ expect(p.parse("Jud 1:1").osis()).toEqual("Jude.1.1", "parsing: 'Jud 1:1'")
2571
+ p.include_apocrypha(false)
2572
+ expect(p.parse("JUDASBREVET 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDASBREVET 1:1'")
2573
+ expect(p.parse("JUDAS’ BREV 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDAS’ BREV 1:1'")
2574
+ expect(p.parse("JUDAS 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDAS 1:1'")
2575
+ expect(p.parse("JUDE 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUDE 1:1'")
2576
+ expect(p.parse("JUD 1:1").osis()).toEqual("Jude.1.1", "parsing: 'JUD 1:1'")
2577
+ ;
2578
+ return true;
2579
+ });
2580
+ });
2581
+
2582
+ describe("Localized book Tob (no)", function() {
2583
+ var p;
2584
+ p = {};
2585
+ beforeEach(function() {
2586
+ p = new bcv_parser();
2587
+ p.set_options({
2588
+ book_alone_strategy: "ignore",
2589
+ book_sequence_strategy: "ignore",
2590
+ osis_compaction_strategy: "bc",
2591
+ captive_end_digits_strategy: "delete"
2592
+ });
2593
+ return p.include_apocrypha(true);
2594
+ });
2595
+ return it("should handle book: Tob (no)", function() {
2596
+
2597
+ expect(p.parse("Tobias' bok 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobias' bok 1:1'")
2598
+ expect(p.parse("Tobias’ bok 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobias’ bok 1:1'")
2599
+ expect(p.parse("Tobits bok 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobits bok 1:1'")
2600
+ expect(p.parse("Tobit 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tobit 1:1'")
2601
+ expect(p.parse("Tob 1:1").osis()).toEqual("Tob.1.1", "parsing: 'Tob 1:1'")
2602
+ ;
2603
+ return true;
2604
+ });
2605
+ });
2606
+
2607
+ describe("Localized book Jdt (no)", function() {
2608
+ var p;
2609
+ p = {};
2610
+ beforeEach(function() {
2611
+ p = new bcv_parser();
2612
+ p.set_options({
2613
+ book_alone_strategy: "ignore",
2614
+ book_sequence_strategy: "ignore",
2615
+ osis_compaction_strategy: "bc",
2616
+ captive_end_digits_strategy: "delete"
2617
+ });
2618
+ return p.include_apocrypha(true);
2619
+ });
2620
+ return it("should handle book: Jdt (no)", function() {
2621
+
2622
+ expect(p.parse("Judits bok 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Judits bok 1:1'")
2623
+ expect(p.parse("Judit 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Judit 1:1'")
2624
+ expect(p.parse("Jdt 1:1").osis()).toEqual("Jdt.1.1", "parsing: 'Jdt 1:1'")
2625
+ ;
2626
+ return true;
2627
+ });
2628
+ });
2629
+
2630
+ describe("Localized book Bar (no)", function() {
2631
+ var p;
2632
+ p = {};
2633
+ beforeEach(function() {
2634
+ p = new bcv_parser();
2635
+ p.set_options({
2636
+ book_alone_strategy: "ignore",
2637
+ book_sequence_strategy: "ignore",
2638
+ osis_compaction_strategy: "bc",
2639
+ captive_end_digits_strategy: "delete"
2640
+ });
2641
+ return p.include_apocrypha(true);
2642
+ });
2643
+ return it("should handle book: Bar (no)", function() {
2644
+
2645
+ expect(p.parse("Baruks bok 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Baruks bok 1:1'")
2646
+ expect(p.parse("Baruk 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Baruk 1:1'")
2647
+ expect(p.parse("Bar 1:1").osis()).toEqual("Bar.1.1", "parsing: 'Bar 1:1'")
2648
+ ;
2649
+ return true;
2650
+ });
2651
+ });
2652
+
2653
+ describe("Localized book Sus (no)", function() {
2654
+ var p;
2655
+ p = {};
2656
+ beforeEach(function() {
2657
+ p = new bcv_parser();
2658
+ p.set_options({
2659
+ book_alone_strategy: "ignore",
2660
+ book_sequence_strategy: "ignore",
2661
+ osis_compaction_strategy: "bc",
2662
+ captive_end_digits_strategy: "delete"
2663
+ });
2664
+ return p.include_apocrypha(true);
2665
+ });
2666
+ return it("should handle book: Sus (no)", function() {
2667
+
2668
+ expect(p.parse("Fortellingen om Susanna 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Fortellingen om Susanna 1:1'")
2669
+ expect(p.parse("Susanna 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Susanna 1:1'")
2670
+ expect(p.parse("Sus 1:1").osis()).toEqual("Sus.1.1", "parsing: 'Sus 1:1'")
2671
+ ;
2672
+ return true;
2673
+ });
2674
+ });
2675
+
2676
+ describe("Localized book 2Macc (no)", function() {
2677
+ var p;
2678
+ p = {};
2679
+ beforeEach(function() {
2680
+ p = new bcv_parser();
2681
+ p.set_options({
2682
+ book_alone_strategy: "ignore",
2683
+ book_sequence_strategy: "ignore",
2684
+ osis_compaction_strategy: "bc",
2685
+ captive_end_digits_strategy: "delete"
2686
+ });
2687
+ return p.include_apocrypha(true);
2688
+ });
2689
+ return it("should handle book: 2Macc (no)", function() {
2690
+
2691
+ expect(p.parse("Andre Makkabeerbok 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'Andre Makkabeerbok 1:1'")
2692
+ expect(p.parse("2. Makkabeerbok 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2. Makkabeerbok 1:1'")
2693
+ expect(p.parse("2 Makkabeerbok 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 Makkabeerbok 1:1'")
2694
+ expect(p.parse("Andre Makk 1:1").osis()).toEqual("2Macc.1.1", "parsing: 'Andre Makk 1:1'")
2695
+ expect(p.parse("2. Makk 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2. Makk 1:1'")
2696
+ expect(p.parse("2 Makk 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2 Makk 1:1'")
2697
+ expect(p.parse("2Macc 1:1").osis()).toEqual("2Macc.1.1", "parsing: '2Macc 1:1'")
2698
+ ;
2699
+ return true;
2700
+ });
2701
+ });
2702
+
2703
+ describe("Localized book 3Macc (no)", function() {
2704
+ var p;
2705
+ p = {};
2706
+ beforeEach(function() {
2707
+ p = new bcv_parser();
2708
+ p.set_options({
2709
+ book_alone_strategy: "ignore",
2710
+ book_sequence_strategy: "ignore",
2711
+ osis_compaction_strategy: "bc",
2712
+ captive_end_digits_strategy: "delete"
2713
+ });
2714
+ return p.include_apocrypha(true);
2715
+ });
2716
+ return it("should handle book: 3Macc (no)", function() {
2717
+
2718
+ expect(p.parse("Tredje Makkabeerbok 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'Tredje Makkabeerbok 1:1'")
2719
+ expect(p.parse("3. Makkabeerbok 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3. Makkabeerbok 1:1'")
2720
+ expect(p.parse("3 Makkabeerbok 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3 Makkabeerbok 1:1'")
2721
+ expect(p.parse("Tredje Makk 1:1").osis()).toEqual("3Macc.1.1", "parsing: 'Tredje Makk 1:1'")
2722
+ expect(p.parse("3. Makk 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3. Makk 1:1'")
2723
+ expect(p.parse("3 Makk 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3 Makk 1:1'")
2724
+ expect(p.parse("3Macc 1:1").osis()).toEqual("3Macc.1.1", "parsing: '3Macc 1:1'")
2725
+ ;
2726
+ return true;
2727
+ });
2728
+ });
2729
+
2730
+ describe("Localized book 4Macc (no)", function() {
2731
+ var p;
2732
+ p = {};
2733
+ beforeEach(function() {
2734
+ p = new bcv_parser();
2735
+ p.set_options({
2736
+ book_alone_strategy: "ignore",
2737
+ book_sequence_strategy: "ignore",
2738
+ osis_compaction_strategy: "bc",
2739
+ captive_end_digits_strategy: "delete"
2740
+ });
2741
+ return p.include_apocrypha(true);
2742
+ });
2743
+ return it("should handle book: 4Macc (no)", function() {
2744
+
2745
+ expect(p.parse("Fjerde Makkabeerbok 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'Fjerde Makkabeerbok 1:1'")
2746
+ expect(p.parse("4. Makkabeerbok 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4. Makkabeerbok 1:1'")
2747
+ expect(p.parse("4 Makkabeerbok 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4 Makkabeerbok 1:1'")
2748
+ expect(p.parse("Fjerde Makk 1:1").osis()).toEqual("4Macc.1.1", "parsing: 'Fjerde Makk 1:1'")
2749
+ expect(p.parse("4. Makk 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4. Makk 1:1'")
2750
+ expect(p.parse("4 Makk 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4 Makk 1:1'")
2751
+ expect(p.parse("4Macc 1:1").osis()).toEqual("4Macc.1.1", "parsing: '4Macc 1:1'")
2752
+ ;
2753
+ return true;
2754
+ });
2755
+ });
2756
+
2757
+ describe("Localized book 1Macc (no)", function() {
2758
+ var p;
2759
+ p = {};
2760
+ beforeEach(function() {
2761
+ p = new bcv_parser();
2762
+ p.set_options({
2763
+ book_alone_strategy: "ignore",
2764
+ book_sequence_strategy: "ignore",
2765
+ osis_compaction_strategy: "bc",
2766
+ captive_end_digits_strategy: "delete"
2767
+ });
2768
+ return p.include_apocrypha(true);
2769
+ });
2770
+ return it("should handle book: 1Macc (no)", function() {
2771
+
2772
+ expect(p.parse("Første Makkabeerbok 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'Første Makkabeerbok 1:1'")
2773
+ expect(p.parse("1. Makkabeerbok 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1. Makkabeerbok 1:1'")
2774
+ expect(p.parse("1 Makkabeerbok 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 Makkabeerbok 1:1'")
2775
+ expect(p.parse("Første Makk 1:1").osis()).toEqual("1Macc.1.1", "parsing: 'Første Makk 1:1'")
2776
+ expect(p.parse("1. Makk 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1. Makk 1:1'")
2777
+ expect(p.parse("1 Makk 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1 Makk 1:1'")
2778
+ expect(p.parse("1Macc 1:1").osis()).toEqual("1Macc.1.1", "parsing: '1Macc 1:1'")
2779
+ ;
2780
+ return true;
2781
+ });
2782
+ });
2783
+
2784
+ describe("Miscellaneous tests", function() {
2785
+ var p;
2786
+ p = {};
2787
+ beforeEach(function() {
2788
+ p = new bcv_parser();
2789
+ p.set_options({
2790
+ book_alone_strategy: "ignore",
2791
+ book_sequence_strategy: "ignore",
2792
+ osis_compaction_strategy: "bc",
2793
+ captive_end_digits_strategy: "delete"
2794
+ });
2795
+ return p.include_apocrypha(true);
2796
+ });
2797
+ it("should return the expected language", function() {
2798
+ return expect(p.languages).toEqual(["no"]);
2799
+ });
2800
+ it("should handle ranges (no)", function() {
2801
+ expect(p.parse("Titus 1:1 - 2").osis()).toEqual("Titus.1.1-Titus.1.2", "parsing: 'Titus 1:1 - 2'");
2802
+ expect(p.parse("Matt 1-2").osis()).toEqual("Matt.1-Matt.2", "parsing: 'Matt 1-2'");
2803
+ return expect(p.parse("Phlm 2 - 3").osis()).toEqual("Phlm.1.2-Phlm.1.3", "parsing: 'Phlm 2 - 3'");
2804
+ });
2805
+ it("should handle chapters (no)", function() {
2806
+ expect(p.parse("Titus 1:1, kapittelet 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kapittelet 2'");
2807
+ expect(p.parse("Matt 3:4 KAPITTELET 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAPITTELET 6'");
2808
+ expect(p.parse("Titus 1:1, kapittel 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kapittel 2'");
2809
+ expect(p.parse("Matt 3:4 KAPITTEL 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAPITTEL 6'");
2810
+ expect(p.parse("Titus 1:1, kapitler 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kapitler 2'");
2811
+ expect(p.parse("Matt 3:4 KAPITLER 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAPITLER 6'");
2812
+ expect(p.parse("Titus 1:1, kapitlene 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kapitlene 2'");
2813
+ expect(p.parse("Matt 3:4 KAPITLENE 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAPITLENE 6'");
2814
+ expect(p.parse("Titus 1:1, kapitel 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kapitel 2'");
2815
+ expect(p.parse("Matt 3:4 KAPITEL 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAPITEL 6'");
2816
+ expect(p.parse("Titus 1:1, kap. 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kap. 2'");
2817
+ expect(p.parse("Matt 3:4 KAP. 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAP. 6'");
2818
+ expect(p.parse("Titus 1:1, kap 2").osis()).toEqual("Titus.1.1,Titus.2", "parsing: 'Titus 1:1, kap 2'");
2819
+ return expect(p.parse("Matt 3:4 KAP 6").osis()).toEqual("Matt.3.4,Matt.6", "parsing: 'Matt 3:4 KAP 6'");
2820
+ });
2821
+ it("should handle verses (no)", function() {
2822
+ expect(p.parse("Exod 1:1 vers 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 vers 3'");
2823
+ expect(p.parse("Phlm VERS 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm VERS 6'");
2824
+ expect(p.parse("Exod 1:1 v. 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 v. 3'");
2825
+ expect(p.parse("Phlm V. 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm V. 6'");
2826
+ expect(p.parse("Exod 1:1 v 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 v 3'");
2827
+ return expect(p.parse("Phlm V 6").osis()).toEqual("Phlm.1.6", "parsing: 'Phlm V 6'");
2828
+ });
2829
+ it("should handle 'and' (no)", function() {
2830
+ expect(p.parse("Exod 1:1 og 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 og 3'");
2831
+ expect(p.parse("Phlm 2 OG 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 OG 6'");
2832
+ expect(p.parse("Exod 1:1 cf 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 cf 3'");
2833
+ expect(p.parse("Phlm 2 CF 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 CF 6'");
2834
+ expect(p.parse("Exod 1:1 jf 3").osis()).toEqual("Exod.1.1,Exod.1.3", "parsing: 'Exod 1:1 jf 3'");
2835
+ return expect(p.parse("Phlm 2 JF 6").osis()).toEqual("Phlm.1.2,Phlm.1.6", "parsing: 'Phlm 2 JF 6'");
2836
+ });
2837
+ it("should handle titles (no)", function() {
2838
+ expect(p.parse("Ps 3 overskrift, 4:2, 5:overskrift").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'Ps 3 overskrift, 4:2, 5:overskrift'");
2839
+ return expect(p.parse("PS 3 OVERSKRIFT, 4:2, 5:OVERSKRIFT").osis()).toEqual("Ps.3.1,Ps.4.2,Ps.5.1", "parsing: 'PS 3 OVERSKRIFT, 4:2, 5:OVERSKRIFT'");
2840
+ });
2841
+ it("should handle 'ff' (no)", function() {
2842
+ expect(p.parse("Rev 3ff, 4:2ff").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3ff, 4:2ff'");
2843
+ 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'");
2844
+ expect(p.parse("Rev 3f, 4:2f").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'Rev 3f, 4:2f'");
2845
+ return expect(p.parse("REV 3 F, 4:2 F").osis()).toEqual("Rev.3-Rev.22,Rev.4.2-Rev.4.11", "parsing: 'REV 3 F, 4:2 F'");
2846
+ });
2847
+ it("should handle translations (no)", function() {
2848
+ expect(p.parse("Lev 1 (B1930)").osis_and_translations()).toEqual([["Lev.1", "B1930"]]);
2849
+ return expect(p.parse("lev 1 b1930").osis_and_translations()).toEqual([["Lev.1", "B1930"]]);
2850
+ });
2851
+ it("should handle book ranges (no)", function() {
2852
+ p.set_options({
2853
+ book_alone_strategy: "full",
2854
+ book_range_strategy: "include"
2855
+ });
2856
+ return expect(p.parse("Første - Tredje Joh").osis()).toEqual("1John.1-3John.1", "parsing: 'Første - Tredje Joh'");
2857
+ });
2858
+ return it("should handle boundaries (no)", function() {
2859
+ p.set_options({
2860
+ book_alone_strategy: "full"
2861
+ });
2862
+ expect(p.parse("\u2014Matt\u2014").osis()).toEqual("Matt.1-Matt.28", "parsing: '\u2014Matt\u2014'");
2863
+ return expect(p.parse("\u201cMatt 1:1\u201d").osis()).toEqual("Matt.1.1", "parsing: '\u201cMatt 1:1\u201d'");
2864
+ });
2865
+ });
2866
+
2867
+ }).call(this);