@@ -195,6 +195,128 @@ describe('temporal-util', () => {
195195 expect ( util . timeZoneOffsetInSeconds ( fakeStandardDateWithOffset ( 101 ) ) ) . toEqual ( 6060 ) ;
196196 } ) ;
197197
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+
198320} ) ;
199321
200322function date ( year , month , day ) {
0 commit comments