chrono-node
Advanced tools
Comparing version 1.1.4 to 1.1.5
{ | ||
"name": "chrono", | ||
"main": "chrono.js", | ||
"version": "1.1.4", | ||
"version": "1.1.5", | ||
"homepage": "https://github.com/wanasit/chrono", | ||
@@ -6,0 +6,0 @@ "authors": [ |
@@ -10,3 +10,3 @@ { | ||
"license": "MIT", | ||
"version": "1.1.4", | ||
"version": "1.1.5", | ||
"directories": { | ||
@@ -13,0 +13,0 @@ "source": "./src", |
@@ -94,6 +94,6 @@ /* | ||
if(year < 100){ | ||
if(year > 50){ | ||
year = year + 2500 - 543; //BE | ||
}else{ | ||
year = year + 2000; //AD | ||
if (year > 50) { | ||
year = year + 1900; | ||
} else { | ||
year = year + 2000; | ||
} | ||
@@ -100,0 +100,0 @@ } |
@@ -117,7 +117,15 @@ /* | ||
} | ||
} | ||
} | ||
result.start.assign('hour', hour); | ||
result.start.assign('minute', minute); | ||
if (meridiem >= 0) { | ||
result.start.assign('meridiem', meridiem); | ||
} else { | ||
if (hour < 12) { | ||
result.start.imply('meridiem', 0); | ||
} else { | ||
result.start.imply('meridiem', 1); | ||
} | ||
} | ||
@@ -223,5 +231,2 @@ | ||
} | ||
} else if(hour >= 12) { | ||
meridiem = 1; | ||
} | ||
@@ -234,2 +239,11 @@ | ||
result.end.assign('meridiem', meridiem); | ||
} else { | ||
var startAtPM = result.start.isCertain('meridiem') && result.start.get('meridiem') == 1; | ||
if (startAtPM && result.start.get('hour') > hour) { | ||
// 10pm - 1 (am) | ||
result.end.imply('meridiem', 0); | ||
} else if (hour > 12) { | ||
result.end.imply('meridiem', 1); | ||
} | ||
} | ||
@@ -236,0 +250,0 @@ |
@@ -37,3 +37,6 @@ /* | ||
beginDateTime.assign('meridiem', beginTime.get('meridiem')); | ||
} else if (beginTime.get('meridiem') !== undefined) { | ||
} else if ( | ||
beginTime.get('meridiem') !== undefined && | ||
beginDateTime.get('meridiem') === undefined | ||
) { | ||
beginDateTime.imply('meridiem', beginTime.get('meridiem')); | ||
@@ -40,0 +43,0 @@ } |
@@ -48,2 +48,3 @@ var moment = require('moment'); | ||
} | ||
@@ -50,0 +51,0 @@ this.imply('hour', 12); |
@@ -247,2 +247,19 @@ | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 1000, resultDate +'/' +expectDate); | ||
expectDate = new Date(1999, 7, 13, 12, 0); | ||
text = "8/13/99"; | ||
results = chrono.parse(text); | ||
resultDate = results[0].start.date(); | ||
ok(results.length == 1, JSON.stringify(results) ) | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 1000, resultDate +'/' +expectDate); | ||
expectDate = new Date(1989, 7, 13, 12, 0); | ||
text = "8/13/89"; | ||
results = chrono.parse(text); | ||
resultDate = results[0].start.date(); | ||
ok(results.length == 1, JSON.stringify(results) ) | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 1000, resultDate +'/' +expectDate); | ||
}); | ||
@@ -249,0 +266,0 @@ |
@@ -135,3 +135,58 @@ | ||
var text = '1-3pm'; | ||
var results = chrono.parse(text, new Date(2012,7,10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == '1-3pm', result.text ) | ||
ok(result.start, JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 13, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 0, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('meridiem') == 1, 'Test Result - (Meridiem) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012, 7, 10, 13, 00); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
ok(result.end, JSON.stringify(result.start) ) | ||
ok(result.end.get('hour') == 15, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.end.get('minute') == 0, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.end.get('meridiem') == 1, 'Test Result - (Meridiem) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.end.date(); | ||
var expectDate = new Date(2012, 7, 10, 15, 00); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
var text = '11pm-2'; | ||
var results = chrono.parse(text, new Date(2012,7,10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == '11pm-2', result.text ) | ||
ok(result.start, JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 23, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 0, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('meridiem') == 1, 'Test Result - (Meridiem) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2012, 7, 10, 23, 00); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
ok(result.end, JSON.stringify(result.start) ) | ||
ok(result.end.get('hour') == 2, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.end.get('minute') == 0, 'Test Result - (Minute) ' + JSON.stringify(result.start) ) | ||
ok(result.end.get('meridiem') == 0, 'Test Result - (Meridiem) ' + JSON.stringify(result.start) ) | ||
var resultDate = result.end.date(); | ||
var expectDate = new Date(2012, 7, 11, 2, 00); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.startDate ' + resultDate +'/' +expectDate) | ||
} | ||
}); | ||
@@ -314,2 +369,43 @@ | ||
} | ||
var text = "Something happen on 2014-04-18 7:00 - 8:00 PM..."; | ||
var results = chrono.parse(text, new Date(2012,7,10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if(result){ | ||
ok(result.index == 20, 'Wrong index') | ||
ok(result.text == '2014-04-18 7:00 - 8:00 PM', result.text ) | ||
ok(result.start.get('year') == 2014, 'Test Result - (Year) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('month') == 4, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('day') == 18, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 19, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 0, 'Test Result - (minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('second') == 0, 'Test Result - (second) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('millisecond') == 0, 'Test Result - (millisecond) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('meridiem') == 1, 'Test Result - (meridiem) ' + JSON.stringify(result.start) ) | ||
ok(!result.start.isCertain('millisecond')) | ||
var resultDate = result.start.date(); | ||
var expectDate = new Date(2014, 4-1, 18, 19, 0); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.start.date ' + resultDate +'/' +expectDate) | ||
ok(result.end.get('year') == 2014, 'Test Result - (Year) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('month') == 4, 'Test Result - (Month) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('day') == 18, 'Test Result - (Day) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('hour') == 20, 'Test Result - (Hour) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('minute') == 0, 'Test Result - (minute) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('second') == 0, 'Test Result - (second) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('millisecond') == 0, 'Test Result - (millisecond) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('meridiem') == 1, 'Test Result - (meridiem) ' + JSON.stringify(result.end) ) | ||
ok(!result.end.isCertain('millisecond')) | ||
var resultDate = result.end.date(); | ||
var expectDate = new Date(2014, 4-1, 18, 20, 0); | ||
ok(Math.abs(expectDate.getTime() - resultDate.getTime()) < 100000, 'Test result.start.date ' + resultDate +'/' +expectDate) | ||
} | ||
}) | ||
@@ -406,2 +502,31 @@ | ||
} | ||
var text = "today from 1am-3"; | ||
var results = chrono.parse(text, new Date(2012,7,10)); | ||
ok(results.length == 1, JSON.stringify( results ) ) | ||
var result = results[0]; | ||
if (result) { | ||
ok(result.index == 0, 'Wrong index') | ||
ok(result.text == 'today from 1am-3', result.text ) | ||
ok(result.start.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('day') == 10, 'Test Result - (Day) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('hour') == 1, 'Test Result - (Hour) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('minute') == 0, 'Test Result - (minute) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('second') == 0, 'Test Result - (second) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('millisecond') == 0, 'Test Result - (millisecond) ' + JSON.stringify(result.start) ) | ||
ok(result.start.get('meridiem') == 0, 'Test Result - (meridiem) ' + JSON.stringify(result.start) ) | ||
ok(result.start.isCertain('meridiem'), JSON.stringify(result)) | ||
ok(result.end.get('year') == 2012, 'Test Result - (Year) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('month') == 8, 'Test Result - (Month) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('day') == 10, 'Test Result - (Day) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('hour') == 3, 'Test Result - (Hour) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('minute') == 0, 'Test Result - (minute) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('second') == 0, 'Test Result - (second) ' + JSON.stringify(result.end) ) | ||
ok(result.end.get('millisecond') == 0, 'Test Result - (millisecond) ' + JSON.stringify(result.end) ) | ||
ok(!result.end.isCertain('meridiem'), JSON.stringify(result)) | ||
} | ||
}) | ||
@@ -408,0 +533,0 @@ |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1841166
25130