@@ -5,120 +5,186 @@ test("Test - Positive time units", () => {
55 testSingleCase ( chrono . ru , "следующие 2 недели" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
66 expect ( result . index ) . toBe ( 0 ) ;
77 expect ( result . text ) . toBe ( text ) ;
8- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 15 , 12 ) ) ;
8+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
9+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
10+ expect ( result . start . get ( "day" ) ) . toBe ( 15 ) ;
11+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
912 } ) ;
1013
1114 testSingleCase ( chrono . ru , "следующие 2 дня" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
1215 expect ( result . index ) . toBe ( 0 ) ;
1316 expect ( result . text ) . toBe ( text ) ;
14- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 3 , 12 ) ) ;
17+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
18+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
19+ expect ( result . start . get ( "day" ) ) . toBe ( 3 ) ;
20+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
1521 } ) ;
1622
1723 testSingleCase ( chrono . ru , "следующие два года" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
1824 expect ( result . index ) . toBe ( 0 ) ;
1925 expect ( result . text ) . toBe ( text ) ;
20- expect ( result . start ) . toBeDate ( new Date ( 2018 , 10 - 1 , 1 , 12 ) ) ;
26+ expect ( result . start . get ( "year" ) ) . toBe ( 2018 ) ;
27+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
28+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
29+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
2130 } ) ;
2231
2332 testSingleCase ( chrono . ru , "следующие 2 недели 3 дня" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
2433 expect ( result . index ) . toBe ( 0 ) ;
2534 expect ( result . text ) . toBe ( text ) ;
26- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 18 , 12 ) ) ;
35+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
36+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
37+ expect ( result . start . get ( "day" ) ) . toBe ( 18 ) ;
38+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
2739 } ) ;
2840
2941 testSingleCase ( chrono . ru , "через пару минут" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
3042 expect ( result . index ) . toBe ( 0 ) ;
3143 expect ( result . text ) . toBe ( text ) ;
32- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 1 , 12 , 2 ) ) ;
44+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
45+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
46+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
47+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
48+ expect ( result . start . get ( "minute" ) ) . toBe ( 2 ) ;
3349 } ) ;
3450
3551 testSingleCase ( chrono . ru , "через полчаса" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
3652 expect ( result . index ) . toBe ( 0 ) ;
3753 expect ( result . text ) . toBe ( text ) ;
38- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 1 , 12 , 30 ) ) ;
54+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
55+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
56+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
57+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
58+ expect ( result . start . get ( "minute" ) ) . toBe ( 30 ) ;
3959 } ) ;
4060
4161 testSingleCase ( chrono . ru , "через 2 часа" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
4262 expect ( result . index ) . toBe ( 0 ) ;
4363 expect ( result . text ) . toBe ( text ) ;
44- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 1 , 14 ) ) ;
64+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
65+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
66+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
67+ expect ( result . start . get ( "hour" ) ) . toBe ( 14 ) ;
4568 } ) ;
4669
4770 testSingleCase ( chrono . ru , "спустя 2 часа" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
4871 expect ( result . index ) . toBe ( 0 ) ;
4972 expect ( result . text ) . toBe ( text ) ;
50- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 1 , 14 ) ) ;
73+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
74+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
75+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
76+ expect ( result . start . get ( "hour" ) ) . toBe ( 14 ) ;
5177 } ) ;
5278
5379 testSingleCase ( chrono . ru , "через три месяца" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
5480 expect ( result . index ) . toBe ( 0 ) ;
5581 expect ( result . text ) . toBe ( text ) ;
56- expect ( result . start ) . toBeDate ( new Date ( 2017 , 1 - 1 , 1 , 12 ) ) ;
82+ expect ( result . start . get ( "year" ) ) . toBe ( 2017 ) ;
83+ expect ( result . start . get ( "month" ) ) . toBe ( 1 ) ;
84+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
85+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
5786 } ) ;
5887
5988 testSingleCase ( chrono . ru , "через неделю" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
6089 expect ( result . index ) . toBe ( 0 ) ;
6190 expect ( result . text ) . toBe ( text ) ;
62- expect ( result . start ) . toBeDate ( new Date ( 2016 , 10 - 1 , 8 , 12 ) ) ;
91+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
92+ expect ( result . start . get ( "month" ) ) . toBe ( 10 ) ;
93+ expect ( result . start . get ( "day" ) ) . toBe ( 8 ) ;
94+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
6395 } ) ;
6496
6597 testSingleCase ( chrono . ru , "через месяц" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
6698 expect ( result . index ) . toBe ( 0 ) ;
6799 expect ( result . text ) . toBe ( text ) ;
68- expect ( result . start ) . toBeDate ( new Date ( 2016 , 11 - 1 , 1 , 12 ) ) ;
69- } ) ;
70-
71- testSingleCase ( chrono . ru , "через год" , new Date ( 2020 , 11 - 1 , 22 , 12 , 11 , 32 , 6 ) , ( result , text ) => {
72- expect ( result . index ) . toBe ( 0 ) ;
73- expect ( result . text ) . toBe ( text ) ;
74- expect ( result . start ) . toBeDate ( new Date ( 2021 , 11 - 1 , 22 , 12 , 11 , 32 , 6 ) ) ;
75- } ) ;
76-
77- testSingleCase ( chrono . ru , "спустя год" , new Date ( 2020 , 11 - 1 , 22 , 12 , 11 , 32 , 6 ) , ( result , text ) => {
78- expect ( result . index ) . toBe ( 0 ) ;
79- expect ( result . text ) . toBe ( text ) ;
80- expect ( result . start ) . toBeDate ( new Date ( 2021 , 11 - 1 , 22 , 12 , 11 , 32 , 6 ) ) ;
81- } ) ;
100+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
101+ expect ( result . start . get ( "month" ) ) . toBe ( 11 ) ;
102+ expect ( result . start . get ( "day" ) ) . toBe ( 1 ) ;
103+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
104+ } ) ;
105+
106+ testSingleCase (
107+ chrono . ru ,
108+ "через год" ,
109+ { instant : new Date ( "2020-11-22T03:11:02.006" ) , timezone : "GMT" } ,
110+ ( result , text ) => {
111+ expect ( result . index ) . toBe ( 0 ) ;
112+ expect ( result . text ) . toBe ( text ) ;
113+ expect ( result . start ) . toBeDate ( new Date ( "2021-11-22T03:11:02.006" ) ) ;
114+ }
115+ ) ;
116+ testSingleCase (
117+ chrono . ru ,
118+ "через год" ,
119+ { instant : new Date ( "2020-11-22T12:11:32.006" ) , timezone : "GMT" } ,
120+ ( result , text ) => {
121+ expect ( result . index ) . toBe ( 0 ) ;
122+ expect ( result . text ) . toBe ( text ) ;
123+ expect ( result . start ) . toBeDate ( new Date ( "2021-11-22T12:11:32.006" ) ) ;
124+ }
125+ ) ;
82126} ) ;
83127
84128test ( "Test - Negative time units" , ( ) => {
85129 testSingleCase ( chrono . ru , "прошлые 2 недели" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
86130 expect ( result . index ) . toBe ( 0 ) ;
87131 expect ( result . text ) . toBe ( text ) ;
88- expect ( result . start ) . toBeDate ( new Date ( 2016 , 9 - 1 , 17 , 12 ) ) ;
132+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
133+ expect ( result . start . get ( "month" ) ) . toBe ( 9 ) ;
134+ expect ( result . start . get ( "day" ) ) . toBe ( 17 ) ;
135+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
89136 } ) ;
90137
91138 testSingleCase ( chrono . ru , "прошлые два дня" , new Date ( 2016 , 10 - 1 , 1 , 12 ) , ( result , text ) => {
92139 expect ( result . index ) . toBe ( 0 ) ;
93140 expect ( result . text ) . toBe ( text ) ;
94- expect ( result . start ) . toBeDate ( new Date ( 2016 , 9 - 1 , 29 , 12 ) ) ;
141+ expect ( result . start . get ( "year" ) ) . toBe ( 2016 ) ;
142+ expect ( result . start . get ( "month" ) ) . toBe ( 9 ) ;
143+ expect ( result . start . get ( "day" ) ) . toBe ( 29 ) ;
144+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
95145 } ) ;
96146} ) ;
97147
98148test ( "Test - Plus '+' sign" , ( ) => {
99149 testSingleCase ( chrono . ru . casual , "+15 минут" , new Date ( 2012 , 7 - 1 , 10 , 12 , 14 ) , ( result , text ) => {
100150 expect ( result . index ) . toBe ( 0 ) ;
101151 expect ( result . text ) . toBe ( text ) ;
102- expect ( result . start ) . toBeDate ( new Date ( 2012 , 7 - 1 , 10 , 12 , 29 ) ) ;
152+ expect ( result . start . get ( "year" ) ) . toBe ( 2012 ) ;
153+ expect ( result . start . get ( "month" ) ) . toBe ( 7 ) ;
154+ expect ( result . start . get ( "day" ) ) . toBe ( 10 ) ;
155+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
156+ expect ( result . start . get ( "minute" ) ) . toBe ( 29 ) ;
103157 } ) ;
104158
105159 testSingleCase ( chrono . ru . casual , "+15мин" , new Date ( 2012 , 7 - 1 , 10 , 12 , 14 ) , ( result , text ) => {
106160 expect ( result . index ) . toBe ( 0 ) ;
107161 expect ( result . text ) . toBe ( text ) ;
108- expect ( result . start ) . toBeDate ( new Date ( 2012 , 7 - 1 , 10 , 12 , 29 ) ) ;
162+ expect ( result . start . get ( "year" ) ) . toBe ( 2012 ) ;
163+ expect ( result . start . get ( "month" ) ) . toBe ( 7 ) ;
164+ expect ( result . start . get ( "day" ) ) . toBe ( 10 ) ;
165+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
166+ expect ( result . start . get ( "minute" ) ) . toBe ( 29 ) ;
109167 } ) ;
110168
111169 testSingleCase ( chrono . ru . casual , "+1 день 2 часа" , new Date ( 2012 , 7 - 1 , 10 , 12 , 14 ) , ( result , text ) => {
112170 expect ( result . index ) . toBe ( 0 ) ;
113171 expect ( result . text ) . toBe ( text ) ;
114- expect ( result . start ) . toBeDate ( new Date ( 2012 , 7 - 1 , 11 , 14 , 14 ) ) ;
172+ expect ( result . start . get ( "year" ) ) . toBe ( 2012 ) ;
173+ expect ( result . start . get ( "month" ) ) . toBe ( 7 ) ;
174+ expect ( result . start . get ( "day" ) ) . toBe ( 11 ) ;
175+ expect ( result . start . get ( "hour" ) ) . toBe ( 14 ) ;
176+ expect ( result . start . get ( "minute" ) ) . toBe ( 14 ) ;
115177 } ) ;
116178} ) ;
117179
118180test ( "Test - Minus '-' sign" , ( ) => {
119181 testSingleCase ( chrono . ru . casual , "-3 года" , new Date ( 2015 , 7 - 1 , 10 , 12 , 14 ) , ( result , text ) => {
120182 expect ( result . index ) . toBe ( 0 ) ;
121183 expect ( result . text ) . toBe ( text ) ;
122- expect ( result . start ) . toBeDate ( new Date ( 2012 , 7 - 1 , 10 , 12 , 14 ) ) ;
184+ expect ( result . start . get ( "year" ) ) . toBe ( 2012 ) ;
185+ expect ( result . start . get ( "month" ) ) . toBe ( 7 ) ;
186+ expect ( result . start . get ( "day" ) ) . toBe ( 10 ) ;
187+ expect ( result . start . get ( "hour" ) ) . toBe ( 12 ) ;
188+ expect ( result . start . get ( "minute" ) ) . toBe ( 14 ) ;
123189 } ) ;
124190} ) ;
0 commit comments