Skip to content

Commit c2f2c73

Browse files
authored
Merge pull request #626 from wanasit/test-it-locale-coverage
feat: Add more tests for it locale
2 parents e118970 + 5ccd52b commit c2f2c73

File tree

4 files changed

+85
-5
lines changed

4 files changed

+85
-5
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
"prettier": "^3.5.3",
5454
"rimraf": "^6.0.1",
5555
"run-script-os": "^1.1.6",
56-
"ts-jest": "^29.3.4",
56+
"ts-jest": "^29.4.4",
5757
"tsc-esm-fix": "^3.1.2",
5858
"typedoc": "^0.28.4",
5959
"typescript": "~5.8.3"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import * as chrono from "../../src";
2+
import { testSingleCase } from "../test_util";
3+
4+
test("Test - Single Expression", () => {
5+
testSingleCase(chrono.it, "Ci vediamo ad Agosto 2017.", (result) => {
6+
expect(result.start).not.toBeNull();
7+
expect(result.start.get("year")).toBe(2017);
8+
expect(result.start.get("month")).toBe(8);
9+
expect(result.start.get("day")).toBe(1);
10+
11+
expect(result.index).toBe(14);
12+
expect(result.text).toBe("Agosto 2017");
13+
14+
expect(result.start).toBeDate(new Date(2017, 8 - 1, 1, 12));
15+
});
16+
17+
testSingleCase(chrono.it, "Agosto 10, 2012", new Date(2012, 7, 10), (result) => {
18+
expect(result.start).not.toBeNull();
19+
expect(result.start.get("year")).toBe(2012);
20+
expect(result.start.get("month")).toBe(8);
21+
expect(result.start.get("day")).toBe(10);
22+
23+
expect(result.index).toBe(0);
24+
expect(result.text).toBe("Agosto 10, 2012");
25+
26+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
27+
});
28+
29+
testSingleCase(chrono.it, "La scadenza è Agosto 10", new Date(2012, 7, 10), (result) => {
30+
expect(result.start).not.toBeNull();
31+
expect(result.start.get("year")).toBe(2012);
32+
expect(result.start.get("month")).toBe(8);
33+
expect(result.start.get("day")).toBe(10);
34+
35+
expect(result.text).toBe("Agosto 10");
36+
37+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
38+
});
39+
});

test/it/it_year_month_day.test.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { testSingleCase, testUnexpectedResult } from "../test_util";
2+
import * as chrono from "../../src";
3+
4+
test("Test - Single Expression (YYYY.MM.DD)", function () {
5+
testSingleCase(chrono.it, "2012.08.10", new Date(2012, 7, 10), (result) => {
6+
expect(result.start).not.toBeNull();
7+
expect(result.start.get("year")).toBe(2012);
8+
expect(result.start.get("month")).toBe(8);
9+
expect(result.start.get("day")).toBe(10);
10+
11+
expect(result.index).toBe(0);
12+
expect(result.text).toBe("2012.08.10");
13+
14+
expect(result.start).toBeDate(new Date(2012, 8 - 1, 10, 12));
15+
});
16+
17+
testSingleCase(chrono.it, "La scadenza è 2012.08.10", new Date(2012, 7, 10), (result) => {
18+
expect(result.index).toBe(14);
19+
expect(result.text).toBe("2012.08.10");
20+
21+
expect(result.start).toBeDate(new Date(2012, 7, 10, 12));
22+
});
23+
24+
testSingleCase(chrono.it.strict, "2014.02.28", (result) => {
25+
expect(result.text).toBe("2014.02.28");
26+
});
27+
28+
testSingleCase(chrono.it.strict, "2014.12.28", (result) => {
29+
expect(result.text).toBe("2014.12.28");
30+
expect(result).toBeDate(new Date(2014, 12 - 1, 28, 12));
31+
});
32+
});
33+
34+
test("Test - Not parse unlikely YYYY.MM.DD pattern", function () {
35+
testUnexpectedResult(chrono.it, "2012.80.10", new Date(2012, 7, 10));
36+
});
37+
38+
test("Test - Not parse impossible dates", function () {
39+
testUnexpectedResult(chrono.it, "2014.08.32");
40+
testUnexpectedResult(chrono.it, "2014.02.30");
41+
});

0 commit comments

Comments
 (0)