Skip to content

Commit

Permalink
Merge branch 'gecko655-fix-leapyear'
Browse files Browse the repository at this point in the history
  • Loading branch information
wanasit committed Jan 13, 2020
2 parents a292f3c + a1cef11 commit e342a2f
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 15 deletions.
26 changes: 11 additions & 15 deletions src/parsers/ja/JPStandardParser.js
Expand Up @@ -31,19 +31,6 @@ exports.Parser = function JPStandardParser(){
ref: ref,
});

var month = match[MONTH_GROUP];
month = util.toHankaku(month);
month = parseInt(month);

var day = match[DAY_GROUP];
day = util.toHankaku(day);
day = parseInt(day);

startMoment.set('date', day);
startMoment.set('month', month - 1);
result.start.assign('day', startMoment.date());
result.start.assign('month', startMoment.month() + 1);

if (!match[YEAR_GROUP]) {

//Find the most appropriated year
Expand All @@ -57,8 +44,6 @@ exports.Parser = function JPStandardParser(){
startMoment = lastYear;
}

result.start.assign('day', startMoment.date());
result.start.assign('month', startMoment.month() + 1);
result.start.imply('year', startMoment.year());

} else if (match[YEAR_GROUP].match('同年|今年|本年')) {
Expand All @@ -84,6 +69,17 @@ exports.Parser = function JPStandardParser(){

result.start.assign('year', year);
}

var month = match[MONTH_GROUP];
month = util.toHankaku(month);
month = parseInt(month);

var day = match[DAY_GROUP];
day = util.toHankaku(day);
day = parseInt(day);

result.start.assign('month', month);
result.start.assign('day', day);


result.tags['JPStandardParser'] = true;
Expand Down
19 changes: 19 additions & 0 deletions test/ja/ja_standard.test.js
Expand Up @@ -42,6 +42,25 @@ test("Test - Single Expression", function() {
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}

var text = "主な株主(2020年2月29日現在)";
var results = chrono.parse(text, new Date(2019,8-1,10));
expect(results.length).toBe(1)

var result = results[0];
if (result) {
expect(result.index).toBe(5)
expect(result.text).toBe('2020年2月29日')

expect(result.start).not.toBeNull()
expect(result.start.get('year')).toBe(2020)
expect(result.start.get('month')).toBe(2)
expect(result.start.get('day')).toBe(29)

var resultDate = result.start.date();
var expectDate = new Date(2020, 2-1, 29, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}

var text = "主な株主(9月3日現在)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)
Expand Down

0 comments on commit e342a2f

Please sign in to comment.