1 # 2 # %i% 3 # 4 5 # The test cases in this file assume the first day of week is Sunday 6 # and the minimal days in the first week is 1. 7 8 locale ja JP JP 9 new instance jcal 10 11 timezone Asia/Tokyo 12 new instance tokyocal 13 14 set non-lenient 15 16 test add ERA 17 use jcal 18 clear all 19 set date NewEra 17 Mar 8 20 add era 10 21 # as of NewEra 17 March 8 22 check era NewEra 23 add era -100 24 check era BeforeMeiji 25 26 test add HOUR_OF_DAY 27 use jcal 28 clear all 29 set era Heisei 30 set datetime 1 Jan 8 23 59 59 31 add hour_of_day 1 32 check datetime 1 Jan 9 0 59 59 33 check ampm AM 34 check hour 0 35 add hour_of_day -1 36 check datetime 1 Jan 8 23 59 59 37 add hour_of_day 24 38 check datetime 1 Jan 9 23 59 59 39 add hour_of_day -24 40 check datetime 1 Jan 8 23 59 59 41 42 test add HOUR 325 326 set date BeforeMeiji 1 Jan 1 327 get min year 328 assign $result $minyear 329 # actual min date: -292275055.05.17T01:47:04.192+0900 330 331 set date BeforeMeiji $minyear Dec 17 332 set timeofday 1 47 4 192 333 add month -7 334 check date BeforeMeiji $minyear May 17 335 check timeofday 1 47 4 192 336 add month 7 337 check date BeforeMeiji $minyear Dec 17 338 check timeofday 1 47 4 192 339 set date BeforeMeiji $minyear Dec 17 340 set timeofday 1 47 4 191 341 add month -7 342 check date BeforeMeiji $minyear May 18 343 check timeofday 1 47 4 191 344 345 set date NewEra 17 Jan 1 346 get max year 347 assign $result $max 348 set date NewEra $max Jul 17 349 add month 1 350 check date NewEra $max Aug 17 351 # set date Heisei $max Jul 28 352 # set timeofday 23 59 59 999 353 # add month 1 354 # check date Heisei $max Aug 16 355 # check timeofday 23 59 59 999 356 357 test add WEEK_OF_YEAR 358 use jcal 359 clear all 360 # 1867 Dec 23 is Monday. 361 set date BeforeMeiji 1867 Dec 23 362 add week_of_year 2 363 check day_of_week Mon 364 check date Meiji 1 Jan 6 365 add week_of_year -2 366 check day_of_week Mon 367 check date BeforeMeiji 1867 Dec 23 368 369 # 1867 Dec 23 is Wednesday. 370 set date Meiji 1 Dec 23 | 1 # 2 # %i% 3 # 4 5 # The test cases in this file assume the first day of week is Sunday 6 # and the minimal days in the first week is 1. 7 8 locale ja JP JP 9 new instance jcal 10 11 timezone Asia/Tokyo 12 new instance tokyocal 13 14 set non-lenient 15 16 test add ERA 17 use jcal 18 clear all 19 set date Reiwa 17 Mar 8 20 add era 10 21 # as of Reiwa 17 March 8 22 check era Reiwa 23 add era -100 24 check era BeforeMeiji 25 26 test add HOUR_OF_DAY 27 use jcal 28 clear all 29 set era Heisei 30 set datetime 1 Jan 8 23 59 59 31 add hour_of_day 1 32 check datetime 1 Jan 9 0 59 59 33 check ampm AM 34 check hour 0 35 add hour_of_day -1 36 check datetime 1 Jan 8 23 59 59 37 add hour_of_day 24 38 check datetime 1 Jan 9 23 59 59 39 add hour_of_day -24 40 check datetime 1 Jan 8 23 59 59 41 42 test add HOUR 325 326 set date BeforeMeiji 1 Jan 1 327 get min year 328 assign $result $minyear 329 # actual min date: -292275055.05.17T01:47:04.192+0900 330 331 set date BeforeMeiji $minyear Dec 17 332 set timeofday 1 47 4 192 333 add month -7 334 check date BeforeMeiji $minyear May 17 335 check timeofday 1 47 4 192 336 add month 7 337 check date BeforeMeiji $minyear Dec 17 338 check timeofday 1 47 4 192 339 set date BeforeMeiji $minyear Dec 17 340 set timeofday 1 47 4 191 341 add month -7 342 check date BeforeMeiji $minyear May 18 343 check timeofday 1 47 4 191 344 345 set date Reiwa 17 Jan 1 346 get max year 347 assign $result $max 348 set date Reiwa $max Jul 17 349 add month 1 350 check date Reiwa $max Aug 17 351 # set date Heisei $max Jul 28 352 # set timeofday 23 59 59 999 353 # add month 1 354 # check date Heisei $max Aug 16 355 # check timeofday 23 59 59 999 356 357 test add WEEK_OF_YEAR 358 use jcal 359 clear all 360 # 1867 Dec 23 is Monday. 361 set date BeforeMeiji 1867 Dec 23 362 add week_of_year 2 363 check day_of_week Mon 364 check date Meiji 1 Jan 6 365 add week_of_year -2 366 check day_of_week Mon 367 check date BeforeMeiji 1867 Dec 23 368 369 # 1867 Dec 23 is Wednesday. 370 set date Meiji 1 Dec 23 |