@@ -195,6 +195,128 @@ describe('temporal-util', () => {
195
195
expect ( util . timeZoneOffsetInSeconds ( fakeStandardDateWithOffset ( 101 ) ) ) . toEqual ( 6060 ) ;
196
196
} ) ;
197
197
198
+ it ( 'should verify year' , ( ) => {
199
+ expect ( util . assertValidYear ( - 1 ) ) . toEqual ( - 1 ) ;
200
+ expect ( util . assertValidYear ( - 2010 ) ) . toEqual ( - 2010 ) ;
201
+ expect ( util . assertValidYear ( int ( - 42 ) ) ) . toEqual ( int ( - 42 ) ) ;
202
+ expect ( util . assertValidYear ( int ( - 2019 ) ) ) . toEqual ( int ( - 2019 ) ) ;
203
+
204
+ expect ( util . assertValidYear ( 0 ) ) . toEqual ( 0 ) ;
205
+ expect ( util . assertValidYear ( 1 ) ) . toEqual ( 1 ) ;
206
+ expect ( util . assertValidYear ( int ( 2015 ) ) ) . toEqual ( int ( 2015 ) ) ;
207
+ expect ( util . assertValidYear ( int ( 99999 ) ) ) . toEqual ( int ( 99999 ) ) ;
208
+
209
+ expect ( ( ) => util . assertValidYear ( 1000000000 ) ) . toThrow ( ) ;
210
+ expect ( ( ) => util . assertValidYear ( 1999999999 ) ) . toThrow ( ) ;
211
+ expect ( ( ) => util . assertValidYear ( int ( 2000000000 ) ) ) . toThrow ( ) ;
212
+ expect ( ( ) => util . assertValidYear ( int ( 3999999999 ) ) ) . toThrow ( ) ;
213
+
214
+ expect ( ( ) => util . assertValidYear ( - 1000000001 ) ) . toThrow ( ) ;
215
+ expect ( ( ) => util . assertValidYear ( - 1888888888 ) ) . toThrow ( ) ;
216
+ expect ( ( ) => util . assertValidYear ( int ( - 2000000001 ) ) ) . toThrow ( ) ;
217
+ expect ( ( ) => util . assertValidYear ( int ( - 3888888888 ) ) ) . toThrow ( ) ;
218
+ } ) ;
219
+
220
+ it ( 'should verify month' , ( ) => {
221
+ for ( let i = 1 ; i <= 12 ; i ++ ) {
222
+ expect ( util . assertValidMonth ( i ) ) . toEqual ( i ) ;
223
+ expect ( util . assertValidMonth ( int ( i ) ) ) . toEqual ( int ( i ) ) ;
224
+ }
225
+
226
+ expect ( ( ) => util . assertValidMonth ( 0 ) ) . toThrow ( ) ;
227
+ expect ( ( ) => util . assertValidMonth ( int ( 0 ) ) ) . toThrow ( ) ;
228
+ expect ( ( ) => util . assertValidMonth ( - 1 ) ) . toThrow ( ) ;
229
+ expect ( ( ) => util . assertValidMonth ( int ( - 1 ) ) ) . toThrow ( ) ;
230
+ expect ( ( ) => util . assertValidMonth ( - 42 ) ) . toThrow ( ) ;
231
+ expect ( ( ) => util . assertValidMonth ( int ( - 42 ) ) ) . toThrow ( ) ;
232
+ expect ( ( ) => util . assertValidMonth ( 13 ) ) . toThrow ( ) ;
233
+ expect ( ( ) => util . assertValidMonth ( int ( 13 ) ) ) . toThrow ( ) ;
234
+ expect ( ( ) => util . assertValidMonth ( 42 ) ) . toThrow ( ) ;
235
+ expect ( ( ) => util . assertValidMonth ( int ( 42 ) ) ) . toThrow ( ) ;
236
+ } ) ;
237
+
238
+ it ( 'should verify day' , ( ) => {
239
+ for ( let i = 1 ; i <= 31 ; i ++ ) {
240
+ expect ( util . assertValidDay ( i ) ) . toEqual ( i ) ;
241
+ expect ( util . assertValidDay ( int ( i ) ) ) . toEqual ( int ( i ) ) ;
242
+ }
243
+
244
+ expect ( ( ) => util . assertValidDay ( 0 ) ) . toThrow ( ) ;
245
+ expect ( ( ) => util . assertValidDay ( int ( 0 ) ) ) . toThrow ( ) ;
246
+ expect ( ( ) => util . assertValidDay ( - 1 ) ) . toThrow ( ) ;
247
+ expect ( ( ) => util . assertValidDay ( int ( - 1 ) ) ) . toThrow ( ) ;
248
+ expect ( ( ) => util . assertValidDay ( - 42 ) ) . toThrow ( ) ;
249
+ expect ( ( ) => util . assertValidDay ( int ( - 42 ) ) ) . toThrow ( ) ;
250
+ expect ( ( ) => util . assertValidDay ( 42 ) ) . toThrow ( ) ;
251
+ expect ( ( ) => util . assertValidDay ( int ( 42 ) ) ) . toThrow ( ) ;
252
+ } ) ;
253
+
254
+ it ( 'should verify hour' , ( ) => {
255
+ for ( let i = 0 ; i <= 23 ; i ++ ) {
256
+ expect ( util . assertValidHour ( i ) ) . toEqual ( i ) ;
257
+ expect ( util . assertValidHour ( int ( i ) ) ) . toEqual ( int ( i ) ) ;
258
+ }
259
+
260
+ expect ( ( ) => util . assertValidHour ( - 1 ) ) . toThrow ( ) ;
261
+ expect ( ( ) => util . assertValidHour ( int ( - 1 ) ) ) . toThrow ( ) ;
262
+ expect ( ( ) => util . assertValidHour ( - 42 ) ) . toThrow ( ) ;
263
+ expect ( ( ) => util . assertValidHour ( int ( - 42 ) ) ) . toThrow ( ) ;
264
+ expect ( ( ) => util . assertValidHour ( 24 ) ) . toThrow ( ) ;
265
+ expect ( ( ) => util . assertValidHour ( int ( 24 ) ) ) . toThrow ( ) ;
266
+ expect ( ( ) => util . assertValidHour ( 42 ) ) . toThrow ( ) ;
267
+ expect ( ( ) => util . assertValidHour ( int ( 42 ) ) ) . toThrow ( ) ;
268
+ } ) ;
269
+
270
+ it ( 'should verify minute' , ( ) => {
271
+ for ( let i = 0 ; i <= 59 ; i ++ ) {
272
+ expect ( util . assertValidMinute ( i ) ) . toEqual ( i ) ;
273
+ expect ( util . assertValidMinute ( int ( i ) ) ) . toEqual ( int ( i ) ) ;
274
+ }
275
+
276
+ expect ( ( ) => util . assertValidMinute ( - 1 ) ) . toThrow ( ) ;
277
+ expect ( ( ) => util . assertValidMinute ( int ( - 1 ) ) ) . toThrow ( ) ;
278
+ expect ( ( ) => util . assertValidMinute ( - 42 ) ) . toThrow ( ) ;
279
+ expect ( ( ) => util . assertValidMinute ( int ( - 42 ) ) ) . toThrow ( ) ;
280
+ expect ( ( ) => util . assertValidMinute ( 60 ) ) . toThrow ( ) ;
281
+ expect ( ( ) => util . assertValidMinute ( int ( 60 ) ) ) . toThrow ( ) ;
282
+ expect ( ( ) => util . assertValidMinute ( 91023 ) ) . toThrow ( ) ;
283
+ expect ( ( ) => util . assertValidMinute ( int ( 1234 ) ) ) . toThrow ( ) ;
284
+ } ) ;
285
+
286
+ it ( 'should verify second' , ( ) => {
287
+ for ( let i = 0 ; i <= 59 ; i ++ ) {
288
+ expect ( util . assertValidSecond ( i ) ) . toEqual ( i ) ;
289
+ expect ( util . assertValidSecond ( int ( i ) ) ) . toEqual ( int ( i ) ) ;
290
+ }
291
+
292
+ expect ( ( ) => util . assertValidSecond ( - 1 ) ) . toThrow ( ) ;
293
+ expect ( ( ) => util . assertValidSecond ( int ( - 1 ) ) ) . toThrow ( ) ;
294
+ expect ( ( ) => util . assertValidSecond ( - 42 ) ) . toThrow ( ) ;
295
+ expect ( ( ) => util . assertValidSecond ( int ( - 42 ) ) ) . toThrow ( ) ;
296
+ expect ( ( ) => util . assertValidSecond ( 60 ) ) . toThrow ( ) ;
297
+ expect ( ( ) => util . assertValidSecond ( int ( 60 ) ) ) . toThrow ( ) ;
298
+ expect ( ( ) => util . assertValidSecond ( 123 ) ) . toThrow ( ) ;
299
+ expect ( ( ) => util . assertValidSecond ( int ( 321 ) ) ) . toThrow ( ) ;
300
+ } ) ;
301
+
302
+ it ( 'should verify nanosecond' , ( ) => {
303
+ expect ( util . assertValidNanosecond ( 0 ) ) . toEqual ( 0 ) ;
304
+ expect ( util . assertValidNanosecond ( 1 ) ) . toEqual ( 1 ) ;
305
+ expect ( util . assertValidNanosecond ( 42 ) ) . toEqual ( 42 ) ;
306
+ expect ( util . assertValidNanosecond ( 999 ) ) . toEqual ( 999 ) ;
307
+ expect ( util . assertValidNanosecond ( 123456789 ) ) . toEqual ( 123456789 ) ;
308
+ expect ( util . assertValidNanosecond ( 999999999 ) ) . toEqual ( 999999999 ) ;
309
+
310
+ expect ( ( ) => util . assertValidNanosecond ( - 1 ) ) . toThrow ( ) ;
311
+ expect ( ( ) => util . assertValidNanosecond ( int ( - 1 ) ) ) . toThrow ( ) ;
312
+ expect ( ( ) => util . assertValidNanosecond ( - 42 ) ) . toThrow ( ) ;
313
+ expect ( ( ) => util . assertValidNanosecond ( int ( - 42 ) ) ) . toThrow ( ) ;
314
+ expect ( ( ) => util . assertValidNanosecond ( 1000000000 ) ) . toThrow ( ) ;
315
+ expect ( ( ) => util . assertValidNanosecond ( int ( 1000000000 ) ) ) . toThrow ( ) ;
316
+ expect ( ( ) => util . assertValidNanosecond ( 1999999999 ) ) . toThrow ( ) ;
317
+ expect ( ( ) => util . assertValidNanosecond ( int ( 1222222222 ) ) ) . toThrow ( ) ;
318
+ } ) ;
319
+
198
320
} ) ;
199
321
200
322
function date ( year , month , day ) {
0 commit comments