Skip to content

Commit

Permalink
Merge pull request #298 from gecko655/jp-kotoshi-honnen
Browse files Browse the repository at this point in the history
 Implemented '本年' '今年' (this year) form for Japanese.
  • Loading branch information
wanasit committed Oct 27, 2019
2 parents af907f5 + b280d63 commit 1db1df7
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 10 deletions.
18 changes: 12 additions & 6 deletions chrono.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion chrono.map.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion chrono.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/parsers/ja/JPStandardParser.js
Expand Up @@ -9,7 +9,7 @@ var Parser = require('../parser').Parser;
var ParsedResult = require('../../result').ParsedResult;

var util = require('../../utils/JP');
var PATTERN = /(?:(同|((昭和|平成|令和)?([0-90-9]{2,4}|元)))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i;
var PATTERN = /(?:(同|今|本|((昭和|平成|令和)?([0-90-9]{2,4}|元)))年\s*)?([0-90-9]{1,2})月\s*([0-90-9]{1,2})日/i;

var YEAR_GROUP = 2;
var ERA_GROUP = 3;
Expand Down Expand Up @@ -61,7 +61,7 @@ exports.Parser = function JPStandardParser(){
result.start.assign('month', startMoment.month() + 1);
result.start.imply('year', startMoment.year());

} else if (match[YEAR_GROUP].match('同年')) {
} else if (match[YEAR_GROUP].match('同年|今年|本年')) {

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

Expand Down
57 changes: 57 additions & 0 deletions test/ja/ja_standard.test.js
Expand Up @@ -99,6 +99,7 @@ test("Test - Single Expression", function() {
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}


var text = "主な株主(令和元年5月1日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)
Expand All @@ -117,6 +118,62 @@ test("Test - Single Expression", function() {
var expectDate = new Date(2019, 5-1, 1, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}
var text = "主な株主(同年7月27日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)

var result = results[0];
if (result) {
expect(result.index).toBe(5)
expect(result.text).toBe('同年7月27日')

expect(result.start).not.toBeNull()
expect(result.start.get('year')).toBe(2012)
expect(result.start.get('month')).toBe(7)
expect(result.start.get('day')).toBe(27)

var resultDate = result.start.date();
var expectDate = new Date(2012, 7-1, 27, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}

var text = "主な株主(本年7月27日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)

var result = results[0];
if (result) {
expect(result.index).toBe(5)
expect(result.text).toBe('本年7月27日')

expect(result.start).not.toBeNull()
expect(result.start.get('year')).toBe(2012)
expect(result.start.get('month')).toBe(7)
expect(result.start.get('day')).toBe(27)

var resultDate = result.start.date();
var expectDate = new Date(2012, 7-1, 27, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}

var text = "主な株主(今年7月27日)";
var results = chrono.parse(text, new Date(2012,8-1,10));
expect(results.length).toBe(1)

var result = results[0];
if (result) {
expect(result.index).toBe(5)
expect(result.text).toBe('今年7月27日')

expect(result.start).not.toBeNull()
expect(result.start.get('year')).toBe(2012)
expect(result.start.get('month')).toBe(7)
expect(result.start.get('day')).toBe(27)

var resultDate = result.start.date();
var expectDate = new Date(2012, 7-1, 27, 12);
expect(expectDate.getTime()).toBeCloseTo(resultDate.getTime())
}
});


Expand Down

0 comments on commit 1db1df7

Please sign in to comment.