chrono-node 1.4.7 → 1.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/chrono.js +711 -809
  2. package/dist/chrono.js.map +1 -1
  3. package/dist/chrono.min.js +1 -1
  4. package/dist/chrono.min.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/chrono.js +57 -59
  7. package/src/options.js +30 -29
  8. package/src/parsers/en/ENDeadlineFormatParser.js +9 -9
  9. package/src/result.js +119 -119
  10. package/test/de/de.test.js +36 -51
  11. package/test/de/de_casual.test.js +242 -141
  12. package/test/de/de_dash.test.js +5 -8
  13. package/test/de/de_deadline.test.js +151 -47
  14. package/test/de/de_little_endian.test.js +207 -58
  15. package/test/de/de_time_ago.test.js +167 -52
  16. package/test/de/de_time_exp.test.js +135 -121
  17. package/test/de/de_weekday.test.js +94 -31
  18. package/test/en/en.test.js +118 -89
  19. package/test/en/en_casual.test.js +149 -134
  20. package/test/en/en_dash.test.js +17 -11
  21. package/test/en/en_deadline.test.js +93 -69
  22. package/test/en/en_inter_std.test.js +28 -7
  23. package/test/en/en_little_endian.test.js +76 -26
  24. package/test/en/en_middle_endian.test.js +63 -21
  25. package/test/en/en_month.test.js +6 -2
  26. package/test/en/en_option_forward.test.js +120 -112
  27. package/test/en/en_relative.test.js +155 -172
  28. package/test/en/en_slash.test.js +156 -115
  29. package/test/en/en_time_ago.test.js +61 -21
  30. package/test/en/en_time_exp.test.js +228 -209
  31. package/test/en/en_time_from_now.test.js +70 -24
  32. package/test/en/en_time_later.test.js +16 -6
  33. package/test/en/en_weekday.test.js +39 -13
  34. package/test/es/es_casual.test.js +143 -120
  35. package/test/es/es_dash.test.js +7 -8
  36. package/test/es/es_deadline.test.js +69 -35
  37. package/test/es/es_little_endian.test.js +250 -145
  38. package/test/es/es_slash.test.js +17 -12
  39. package/test/es/es_time_ago.test.js +21 -7
  40. package/test/es/es_time_exp.test.js +154 -160
  41. package/test/fr/fr_casual.test.js +153 -124
  42. package/test/fr/fr_dash.test.js +13 -6
  43. package/test/fr/fr_deadline.test.js +163 -44
  44. package/test/fr/fr_little_endian.test.js +262 -81
  45. package/test/fr/fr_relative.test.js +188 -196
  46. package/test/fr/fr_slash.test.js +41 -14
  47. package/test/fr/fr_time_ago.test.js +30 -10
  48. package/test/fr/fr_time_exp.test.js +619 -567
  49. package/test/fr/fr_weekday.test.js +24 -8
  50. package/test/ja/ja_casual.test.js +41 -26
  51. package/test/ja/ja_standard.test.js +322 -207
  52. package/test/nl/nl.test.js +18 -20
  53. package/test/nl/nl_dash.test.js +26 -26
  54. package/test/nl/nl_little_endian.test.js +100 -51
  55. package/test/nl/nl_time_exp.test.js +37 -13
  56. package/test/nl/nl_weekday.test.js +39 -13
  57. package/test/pt/pt_casual.test.js +222 -156
  58. package/test/pt/pt_dash.test.js +7 -6
  59. package/test/pt/pt_deadline.test.js +51 -17
  60. package/test/pt/pt_little_endian.test.js +251 -144
  61. package/test/pt/pt_slash.test.js +38 -25
  62. package/test/pt/pt_time_ago.test.js +128 -80
  63. package/test/pt/pt_time_exp.test.js +191 -173
  64. package/test/test_util.js +1 -5
  65. package/test/zh/zh_hant_casual.test.js +184 -87
  66. package/test/zh/zh_hant_date.test.js +109 -75
  67. package/test/zh/zh_hant_deadline.test.js +131 -41
  68. package/test/zh/zh_hant_time_exp.test.js +184 -141
  69. package/test/zh/zh_hant_weekday.test.js +64 -22
@@ -1,9 +1,12 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase } from '../test_util';
3
-
1
+ var chrono = require('../../src/chrono');
4
2
  test("Test - Single Expression", function () {
5
3
 
6
- testSingleCase(chrono.de, 'Montag', new Date(2012, 7, 9), (result) => {
4
+ var text = "Montag";
5
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
6
+ expect(results.length).toBe(1);
7
+
8
+ var result = results[0];
9
+ if (result) {
7
10
  expect(result.index).toBe(0);
8
11
  expect(result.text).toBe('Montag');
9
12
 
@@ -19,11 +22,18 @@ test("Test - Single Expression", function () {
19
22
  expect(result.start.isCertain('year')).toBe(false);
20
23
  expect(result.start.isCertain('weekday')).toBe(true);
21
24
 
22
- expect(result.start).toBeDate(new Date(2012, 7, 6, 12));
23
- });
25
+ var resultDate = result.start.date();
26
+ var expectDate = new Date(2012, 7, 6, 12);
27
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
28
+ }
29
+
24
30
 
31
+ var text = "am Donnerstag";
32
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
33
+ expect(results.length).toBe(1);
25
34
 
26
- testSingleCase(chrono.de, 'am Donnerstag', new Date(2012, 7, 9), (result) => {
35
+ var result = results[0];
36
+ if (result) {
27
37
  expect(result.index).toBe(0);
28
38
  expect(result.text).toBe('am Donnerstag');
29
39
 
@@ -33,10 +43,17 @@ test("Test - Single Expression", function () {
33
43
  expect(result.start.get('day')).toBe(9);
34
44
  expect(result.start.get('weekday')).toBe(4);
35
45
 
36
- expect(result.start).toBeDate(new Date(2012, 7, 9, 12));
37
- });
46
+ var resultDate = result.start.date();
47
+ var expectDate = new Date(2012, 7, 9, 12);
48
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
49
+ }
38
50
 
39
- testSingleCase(chrono.de, 'Sonntag', new Date(2012, 7, 9), (result) => {
51
+ var text = "Sonntag";
52
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
53
+ expect(results.length).toBe(1);
54
+
55
+ var result = results[0];
56
+ if (result) {
40
57
  expect(result.index).toBe(0);
41
58
  expect(result.text).toBe('Sonntag');
42
59
 
@@ -46,11 +63,18 @@ test("Test - Single Expression", function () {
46
63
  expect(result.start.get('day')).toBe(12);
47
64
  expect(result.start.get('weekday')).toBe(0);
48
65
 
49
- expect(result.start).toBeDate(new Date(2012, 7, 12, 12));
50
- });
66
+ var resultDate = result.start.date();
67
+ var expectDate = new Date(2012, 7, 12, 12);
68
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
69
+ }
70
+
51
71
 
72
+ var text = "Die Deadline war letzten Freitag...";
73
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
74
+ expect(results.length).toBe(1);
52
75
 
53
- testSingleCase(chrono.de, 'Die Deadline war letzten Freitag...', new Date(2012, 7, 9), (result) => {
76
+ var result = results[0];
77
+ if (result) {
54
78
  expect(result.index).toBe(17);
55
79
  expect(result.text).toBe('letzten Freitag');
56
80
 
@@ -60,11 +84,18 @@ test("Test - Single Expression", function () {
60
84
  expect(result.start.get('day')).toBe(3);
61
85
  expect(result.start.get('weekday')).toBe(5);
62
86
 
63
- expect(result.start).toBeDate(new Date(2012, 7, 3, 12));
64
- });
87
+ var resultDate = result.start.date();
88
+ var expectDate = new Date(2012, 7, 3, 12);
89
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
90
+ }
65
91
 
66
92
 
67
- testSingleCase(chrono.de, 'Treffen wir uns am Freitag nächste Woche', new Date(2015, 3, 18), (result) => {
93
+ var text = "Treffen wir uns am Freitag nächste Woche";
94
+ var results = chrono.de.parse(text, new Date(2015, 3, 18));
95
+ expect(results.length).toBe(1);
96
+
97
+ var result = results[0];
98
+ if (result) {
68
99
  expect(result.index).toBe(16);
69
100
  expect(result.text).toBe('am Freitag nächste Woche');
70
101
 
@@ -74,11 +105,18 @@ test("Test - Single Expression", function () {
74
105
  expect(result.start.get('day')).toBe(24);
75
106
  expect(result.start.get('weekday')).toBe(5);
76
107
 
77
- expect(result.start).toBeDate(new Date(2015, 3, 24, 12));
78
- });
108
+ var resultDate = result.start.date();
109
+ var expectDate = new Date(2015, 3, 24, 12);
110
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
111
+ }
112
+
79
113
 
114
+ var text = "Ich habe vor, am Dienstag nächste Woche freizunehmen";
115
+ var results = chrono.de.parse(text, new Date(2015, 3, 18));
116
+ expect(results.length).toBe(1);
80
117
 
81
- testSingleCase(chrono.de, 'Ich habe vor, am Dienstag nächste Woche freizunehmen', new Date(2015, 3, 18), (result) => {
118
+ var result = results[0];
119
+ if (result) {
82
120
  expect(result.index).toBe(14);
83
121
  expect(result.text).toBe('am Dienstag nächste Woche');
84
122
 
@@ -88,14 +126,21 @@ test("Test - Single Expression", function () {
88
126
  expect(result.start.get('day')).toBe(21);
89
127
  expect(result.start.get('weekday')).toBe(2);
90
128
 
91
- expect(result.start).toBeDate(new Date(2015, 3, 21, 12));
92
- });
129
+ var resultDate = result.start.date();
130
+ var expectDate = new Date(2015, 3, 21, 12);
131
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
132
+ }
93
133
  });
94
134
 
95
135
 
96
136
  test("Test - Weekday Overlap", function () {
97
137
 
98
- testSingleCase(chrono.de, 'Sonntag, den 7. Dezember 2014', new Date(2012, 7, 9), (result) => {
138
+ var text = "Sonntag, den 7. Dezember 2014";
139
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
140
+ expect(results.length).toBe(1);
141
+
142
+ var result = results[0];
143
+ if (result) {
99
144
  expect(result.index).toBe(0);
100
145
  expect(result.text).toBe('Sonntag, den 7. Dezember 2014');
101
146
 
@@ -111,11 +156,18 @@ test("Test - Weekday Overlap", function () {
111
156
  expect(result.start.isCertain('year')).toBe(true);
112
157
  expect(result.start.isCertain('weekday')).toBe(true);
113
158
 
114
- expect(result.start).toBeDate(new Date(2014, 12 - 1, 7, 12));
115
- });
159
+ var resultDate = result.start.date();
160
+ var expectDate = new Date(2014, 12 - 1, 7, 12);
161
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
162
+ }
116
163
 
117
164
 
118
- testSingleCase(chrono.de, 'Sonntag 7.12.2014', new Date(2012, 7, 9), (result) => {
165
+ var text = "Sonntag 7.12.2014";
166
+ var results = chrono.de.parse(text, new Date(2012, 7, 9));
167
+ expect(results.length).toBe(1);
168
+
169
+ var result = results[0];
170
+ if (result) {
119
171
  expect(result.index).toBe(0);
120
172
  expect(result.text).toBe('Sonntag 7.12.2014');
121
173
 
@@ -131,14 +183,21 @@ test("Test - Weekday Overlap", function () {
131
183
  expect(result.start.isCertain('year')).toBe(true);
132
184
  expect(result.start.isCertain('weekday')).toBe(true);
133
185
 
134
- expect(result.start).toBeDate(new Date(2014, 12 - 1, 7, 12));
135
- });
186
+ var resultDate = result.start.date();
187
+ var expectDate = new Date(2014, 12 - 1, 7, 12);
188
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
189
+ }
136
190
  });
137
191
 
138
192
 
139
193
  test('Test - forward dates only option', function () {
140
194
 
141
- testSingleCase(chrono.de, 'diesen Freitag bis diesen Montag', new Date(2016, 8-1, 4), {forwardDate: true}, (result) => {
195
+ var text = "diesen Freitag bis diesen Montag";
196
+ var results = chrono.de.parse(text, new Date(2016, 8-1, 4), {forwardDate: true});
197
+ expect(results.length).toBe(1);
198
+
199
+ var result = results[0];
200
+ if (result) {
142
201
  expect(result.index).toBe(0);
143
202
  expect(result.text).toBe('diesen Freitag bis diesen Montag');
144
203
 
@@ -153,7 +212,9 @@ test('Test - forward dates only option', function () {
153
212
  expect(result.start.isCertain('year')).toBe(false);
154
213
  expect(result.start.isCertain('weekday')).toBe(true);
155
214
 
156
- expect(result.start).toBeDate(new Date(2016, 8-1, 5, 12));
215
+ var resultDate = result.start.date();
216
+ var expectDate = new Date(2016, 8-1, 5, 12);
217
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
157
218
 
158
219
 
159
220
  expect(result.end).not.toBeNull();
@@ -167,6 +228,8 @@ test('Test - forward dates only option', function () {
167
228
  expect(result.end.isCertain('year')).toBe(false);
168
229
  expect(result.end.isCertain('weekday')).toBe(true);
169
230
 
170
- expect(result.end).toBeDate(new Date(2016, 8-1, 8, 12));
171
- });
231
+ var resultDate = result.end.date();
232
+ var expectDate = new Date(2016, 8-1, 8, 12);
233
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
234
+ }
172
235
  });
@@ -1,14 +1,13 @@
1
- import * as chrono from '../../src/chrono';
2
- import { testSingleCase, testUnexpectedResult } from '../test_util';
1
+ var chrono = require('../../src/chrono');
3
2
 
4
3
 
5
4
  test("Test - Date + Time Expression", function() {
6
5
 
7
- const text = "Something happen on 2014-04-18 13:00 - 16:00 as";
8
- const results = chrono.parse(text, new Date(2012,7,10));
9
- expect(results.length).toBe(1);
6
+ var text = "Something happen on 2014-04-18 13:00 - 16:00 as";
7
+ var results = chrono.parse(text, new Date(2012,7,10));
8
+ expect(results.length).toBe(1)
10
9
  expect(results[0].text).toBe('2014-04-18 13:00 - 16:00')
11
-
10
+
12
11
  });
13
12
 
14
13
 
@@ -17,114 +16,117 @@ test("Test - Compare with native js", function() {
17
16
  var text = 'Sat Nov 05 1994 22:45:30 GMT+0900 (JST)';
18
17
  var result = chrono.parse(text)[0];
19
18
  var expected = new Date(text);
20
-
19
+
21
20
  expect(result.text).toBe(text);
22
- expect(expected.getTime()).toBeCloseTo(result.start.date().getTime());
21
+ expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
23
22
 
24
23
 
25
24
  var text = 'Fri, 31 Mar 2000 07:00:00 UTC';
26
25
  var result = chrono.parse(text)[0];
27
26
  var expected = new Date(text);
28
-
27
+
29
28
  expect(result.text).toBe(text);
30
- expect(expected.getTime()).toBeCloseTo(result.start.date().getTime());
29
+ expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
31
30
 
32
31
  var text = '2014-12-14T18:22:14.759Z';
33
32
  var result = chrono.parse(text)[0];
34
33
  var expected = new Date(text);
35
-
34
+
36
35
  expect(result.text).toBe(text);
37
36
  expect(Math.abs(expected.getTime() - result.start.date().getTime())).toBe(0)
38
37
  });
39
38
 
40
39
  test("Test - Implying timezeon", function() {
40
+
41
+ var text = 'Sat Nov 05 1994 22:45:30 GMT+0900 (JST)';
42
+ var result = chrono.parse(text)[0];
43
+ var expected = new Date(text);
44
+
45
+ expect(result.text).toBe(text);
46
+ expect(expected.getTime()).toBeCloseTo(result.start.date().getTime())
41
47
 
42
- var text = 'Sat Nov 05 1994 22:45:30 GMT+0900 (JST)';
43
- var result = chrono.parse(text)[0];
44
- var expected = new Date(text);
45
-
46
- expect(result.text).toBe(text);
47
- expect(expected.getTime()).toBeCloseTo(result.start.date().getTime());
48
-
49
- var impliedResult = chrono.parse('Sat Nov 05 1994 22:45:30')[0];
50
- impliedResult.start.imply('timezoneOffset', 540);
48
+ var impliedResult = chrono.parse('Sat Nov 05 1994 22:45:30')[0];
49
+ impliedResult.start.imply('timezoneOffset', 540);
51
50
 
52
- expect(expected.getTime()).toBeCloseTo(impliedResult.start.date().getTime());
51
+ expect(expected.getTime()).toBeCloseTo(impliedResult.start.date().getTime());
53
52
  });
54
53
 
55
- test('Test - Random text', function() {
56
-
57
- testSingleCase(chrono, 'Adam <Adam@supercalendar.com> написал(а):\nThe date is 02.07.2013', new Date(2013,5,22,3,33), (result, text) => {
54
+ test('Test - Random text', function() {
58
55
 
59
- expect(result.text).toBe('02.07.2013');
60
- });
56
+ var text = "Adam <Adam@supercalendar.com> написал(а):\nThe date is 02.07.2013";
57
+ var result = chrono.parse(text, new Date(2013,5,22,3,33))[0];
58
+ expect(result.text).toBe('02.07.2013')
61
59
 
62
60
  var text = "174 November 1,2001- March 31,2002";
63
61
  var results = chrono.parse(text);
64
- expect(results.length).toBe(1);
65
- expect(results[0].text).toBe('November 1,2001- March 31,2002');
62
+ expect(results.length).toBe(1)
63
+ expect(results[0].text).toBe('November 1,2001- March 31,2002')
66
64
 
67
65
 
68
- var text = "...Thursday, December 15, 2011 Best Available Rate ";
66
+ var text = "...Thursday, December 15, 2011 Best Available Rate "
69
67
  var results = chrono.parse(text);
70
- expect(results.length).toBe(1);
71
- expect(results[0].start.get('year')).toBe(2011);
68
+ expect(results.length).toBe(1)
69
+ expect(results[0].start.get('year')).toBe(2011)
72
70
 
73
-
74
- var text = "SUN 15SEP 11:05 AM - 12:50 PM";
71
+
72
+ var text = "SUN 15SEP 11:05 AM - 12:50 PM"
75
73
  var results = chrono.parse(text);
76
- expect(results.length).toBe(1);
77
- expect(results[0].text.length).toBe(29);
78
-
79
- var text = "SUN 15SEP 11:05 AM – 12:50 PM";
74
+ expect(results.length).toBe(1)
75
+ expect(results[0].text.length).toBe(29)
76
+
77
+ var text = "SUN 15SEP 11:05 AM – 12:50 PM"
80
78
  var results = chrono.parse(text);
81
- expect(results.length).toBe(1);
82
- expect(results[0].end).not.toBeNull();
83
-
84
- var text = "FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM";
79
+ expect(results.length).toBe(1)
80
+ expect(results[0].end).not.toBeNull()
81
+
82
+ var text = "FRI 13SEP 1:29 PM - FRI 13SEP 3:29 PM"
85
83
  var results = chrono.parse(text);
86
- expect(results.length).toBe(1);
87
- expect(results[0].start.get('hour')).toBe(13);
88
- expect(results[0].end.get('hour')).toBe(15);
84
+ expect(results.length).toBe(1)
85
+ expect(results[0].start.get('hour')).toBe(13)
86
+ expect(results[0].end.get('hour')).toBe(15)
89
87
 
90
- var text = "9:00 AM to 5:00 PM, Tuesday, 20 May 2013";
88
+ var text = "9:00 AM to 5:00 PM, Tuesday, 20 May 2013"
91
89
  var results = chrono.parse(text);
92
- expect(results.length).toBe(1);
93
- expect(results[0].start.get('hour')).toBe(9);
94
- expect(results[0].end.get('hour')).toBe(17);
95
- expect(results[0].end.get('meridiem')).toBe(1);
90
+ expect(results.length).toBe(1)
91
+ expect(results[0].start.get('hour')).toBe(9)
92
+ expect(results[0].end.get('hour')).toBe(17)
93
+ expect(results[0].end.get('meridiem')).toBe(1)
96
94
 
97
95
 
98
- expect(results[0].start).toBeDate(new Date(2013, 4, 20, 9, 0));
96
+ var resultDate = results[0].start.date();
97
+ var expectDate = new Date(2013, 4, 20, 9, 0);
98
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
99
+
100
+ var resultDate = results[0].end.date();
101
+ var expectDate = new Date(2013, 4, 20, 17, 0);
102
+ expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
99
103
 
100
- expect(results[0].end).toBeDate(new Date(2013, 4, 20, 17, 0));
101
-
102
- var text = "2014-07-07T04:00:00Z";
104
+ var text = "2014-07-07T04:00:00Z"
103
105
  var results = chrono.parse(text);
104
106
 
105
- expect(results.length).toBe(1);
106
- expect(results[0].text).toBe('2014-07-07T04:00:00Z');
107
+ expect(results.length).toBe(1)
108
+ expect(results[0].text).toBe('2014-07-07T04:00:00Z')
107
109
 
108
110
 
109
111
  var text = "1.5.3 - 2015-09-24";
110
112
  var results = chrono.parse(text);
111
113
 
112
- expect(results.length).toBe(1);
113
- expect(results[0].text).toBe('2015-09-24');
114
+ expect(results.length).toBe(1)
115
+ expect(results[0].text).toBe('2015-09-24')
114
116
 
115
117
 
116
118
  var text = "1.5.30 - 2015-09-24";
117
119
  var results = chrono.parse(text);
118
120
 
119
- expect(results.length).toBe(1);
120
- expect(results[0].text).toBe('2015-09-24');
121
+ expect(results.length).toBe(1)
122
+ expect(results[0].text).toBe('2015-09-24')
121
123
 
122
124
 
123
125
  var text = "1.50.30 - 2015-09-24";
124
126
  var results = chrono.parse(text);
125
127
 
126
- expect(results.length).toBe(1);
127
- expect(results[0].text).toBe('2015-09-24');
128
+ expect(results.length).toBe(1)
129
+ expect(results[0].text).toBe('2015-09-24')
128
130
 
129
131
  var text = "Monday afternoon to last night";
130
132
  var results = chrono.parse(text, new Date(2017, 7-1, 7));
@@ -158,62 +160,89 @@ test('Test - Random text', function() {
158
160
  expect(results[0].text).toBe('from 10am to now');
159
161
  expect(results[0].end.get('hour')).toBe(15);
160
162
  expect(results[0].end.get('minute')).toBe(0);
161
- });
163
+ })
162
164
 
163
165
  test("Test - Random non-date patterns", function() {
164
166
 
165
- testUnexpectedResult(chrono, ' 3');
167
+ var text = ' 3'
168
+ var results = chrono.parse(text);
169
+ expect(results.length).toBe(0)
166
170
 
167
- testUnexpectedResult(chrono, ' 1');
171
+ var text = ' 1'
172
+ var results = chrono.parse(text);
173
+ expect(results.length).toBe(0)
168
174
 
169
- testUnexpectedResult(chrono, ' 11 ');
175
+ var text = ' 11 '
176
+ var results = chrono.parse(text);
177
+ expect(results.length).toBe(0)
170
178
 
171
- testUnexpectedResult(chrono, ' 0.5 ');
179
+ var text = ' 0.5 '
180
+ var results = chrono.parse(text);
181
+ expect(results.length).toBe(0)
172
182
 
173
- testUnexpectedResult(chrono, ' 35.49 ');
183
+ var text = ' 35.49 '
184
+ var results = chrono.parse(text);
185
+ expect(results.length).toBe(0)
174
186
 
175
- testUnexpectedResult(chrono, '12.53%');
187
+ var text = '12.53%'
188
+ var results = chrono.parse(text);
189
+ expect(results.length).toBe(0)
176
190
 
177
- testUnexpectedResult(chrono, '6358fe2310> *5.0* / 5 Outstanding');
191
+ var text = "6358fe2310> *5.0* / 5 Outstanding";
192
+ var results = chrono.parse(text);
193
+ expect(results.length).toBe(0)
178
194
 
179
- testUnexpectedResult(chrono, '6358fe2310> *1.5* / 5 Outstanding');
195
+ var text = "6358fe2310> *1.5* / 5 Outstanding";
196
+ var results = chrono.parse(text);
197
+ expect(results.length).toBe(0)
180
198
 
181
- testUnexpectedResult(chrono, 'Total: $1,194.09 [image: View Reservation');
199
+ var text = "Total: $1,194.09 [image: View Reservation";
200
+ var results = chrono.parse(text);
201
+ expect(results.length).toBe(0)
182
202
 
183
- testUnexpectedResult(chrono, 'Version: 1.1.3');
203
+ var text = "Version: 1.1.3";
204
+ var results = chrono.parse(text);
205
+ expect(results.length).toBe(0)
184
206
 
185
- testUnexpectedResult(chrono, 'Version: 1.1.30');
207
+ var text = "Version: 1.1.30";
208
+ var results = chrono.parse(text);
209
+ expect(results.length).toBe(0)
210
+
211
+ var text = "Version: 1.10.30";
212
+ var results = chrono.parse(text);
213
+ expect(results.length).toBe(0)
186
214
 
187
- testUnexpectedResult(chrono, 'Version: 1.10.30');
188
215
  });
189
216
 
190
217
 
191
218
  test("Test - Wikipedia Texts", function() {
192
-
193
- const text = 'October 7, 2011, of which details were not revealed out of respect to Jobs\'s family.[239] Apple announced on the same day that they had no plans for a public service, but were encouraging "well-wishers" to send their remembrance messages to an email address created to receive such messages.[240] Sunday, October 16, 2011';
194
- const results = chrono.parse(text, new Date(2012,7,10));
195
-
196
- expect(results.length).toBe(2);
197
-
198
- {
199
- const result = results[0];
219
+
220
+ var text = 'October 7, 2011, of which details were not revealed out of respect to Jobs\'s family.[239] Apple announced on the same day that they had no plans for a public service, but were encouraging "well-wishers" to send their remembrance messages to an email address created to receive such messages.[240] Sunday, October 16, 2011';
221
+ var results = chrono.parse(text, new Date(2012,7,10));
222
+
223
+ expect(results.length).toBe(2)
224
+ expect(results.length).toBe(2)
225
+
226
+ var result = results[0];
227
+ if(result){
200
228
  expect(result.start.get('year')).toBe(2011);
201
229
  expect(result.start.get('month')).toBe(10);
202
230
  expect(result.start.get('day') ).toBe(7);
203
231
 
204
- expect(result.index).toBe(0);
205
- expect(result.text).toBe('October 7, 2011');
232
+ expect(result.index).toBe(0)
233
+ expect(result.text).toBe('October 7, 2011')
206
234
  }
207
-
208
- {
209
- const result = results[1];
235
+
236
+ var result = results[1];
237
+ if(result){
210
238
  expect(result.start.get('year')).toBe(2011);
211
239
  expect(result.start.get('month')).toBe(10);
212
240
  expect(result.start.get('day') ).toBe(16);
213
241
 
214
- expect(result.index).toBe(297);
215
- expect(result.text).toBe('Sunday, October 16, 2011');
242
+ expect(result.index).toBe(297)
243
+ expect(result.text).toBe('Sunday, October 16, 2011')
216
244
  }
245
+
217
246
  });
218
247
 
219
248