| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308 |
- Format of this file is as follows:
- Each section begins with a line starting with a colon (:).
- The first one or two characters of the second line indicates
- the action to be performed:
- N - None
- A - Add
- S - Subtract
- I - Convert from RFC 822, a.k.a. Internet format
- i - Convert to RFC 822
- V - Convert from ISO 8601 (V is for VCalender)
- v1 - Convert to ISO 8601 Calender format
- v2 - Convert to ISO 8601 Ordinal format
- v3 - Convert to ISO 8601 Week format
- T - Convert to TTimeStamp (no ouput needed - it's calculated)
- The rest of the first line consits of the addition, subtraction,
- or conversion format as necessary.
- The third line consists of the initial values given to
- the TIdDateTimeStamp. This will be in a relevant format to
- the test.
- The fourth line is the output to be expected.
- The format for basic dates uses letters as follows (case sensitive):
- Year (Y), Day of year (D), Second (S), Millisecond (L), Time Zone (Z),
- 24 Hour (H), 12 Hour (h), Week (W), Day of week (w), Month (M), Day
- of Month (d), Minute of Day (m), Minute Of Hour (U), Second of Minute
- (s) and Beat time (B) respectively. The Year, Day, Millisecond, and
- Time Zone options are valid for all three strings. The Beat Time,
- Day of Week, Day of Month and Minute of Hour are only valid for
- output. All others are valid for commands and output. Note: that
- for initialisation, only those items appearing are set, the others
- are left to their defaults. For commands, only those items listed
- are performed and for output, only those items listed are checked for.
- Note on Seconds and Milliseconds: The first second / millisecond of
- the day is zero.
- Note on Time Zones: The zones are given as an offset of minutes from
- GMT. So +60 is Middle European Time, whereas -60 is British Summer Time.
- Weekday numbers: w1 = Sunday, w2 = Monday, w3 = Tuesday, w4 = Wednesday,
- w5 = Thursday, w6 = Friday, w7 = Saturday.
- Quick summary: Line 1 is a colon. Line 3 initialises the date/time.
- Line 4 is the expected output. Line 2 is the action taken place that
- should get from Line 3 to Line 4.
- : Test 1 - Ensure year zero, day zero does not exist.
- N
- Y0 D0 S0 L0 Z0
- Y1 D1 S0 L0 Z0 B41 W1 w2
- : Test 2 - Ensure year zero, day zero does not exist.
- S L1
- Y1 D1 S0 L0 Z0
- Y-1 D365 S86399 L999 Z0 B41
- : Test 3 - Simple addition of years.
- A Y1
- Y1 D1
- Y2 D1
- : Test 4 - Simple addition of years
- A Y4
- Y1 D1
- Y5 D1
- : Test 5 - Simple addition of days
- A D1
- D2
- : Test 6 - Simple addition of days
- A D100
- D101
- : Test 7 - Simple addition of seconds
- A S1
- S1
- : Test 8 - Simple addition of seconds
- A S40
- S40
- : Test 9 - Simple addition of milliseconds
- A L1
- L1
- : Test 10 - Simple addition of milliseconds
- A L200
- L200
- : Test 11 - Simple addition of Months
- A M1
- M2 d1
- : Test 12 - Simple addition of Months
- A M12
- Y2 M1 D1 d1
- : Test 13 - Simple addition of Weeks
- A W1
- W2 w2
- : Test 14 - Simple addition of Weeks
- A W50
- W51 w2
- : Test 15 - Beat time test
- N
- Z60
- B0
- : Test 16 - Beat time test
- S S1
- Z60
- B999
- : Test 17 - Leap year test
- A M1 D28
- Y1996
- M2 d29
- : Test 18 - Non-leap year test.
- A M1 D28
- Y1997
- M3 d1
- : Test 19 - One-hundred year non-leap year.
- A M1 D28
- Y2100
- M3 d1
- : Test 20 - Four-hundred year leap year.
- A M1 D28
- Y2000
- M2 d29
- : Test 21 - Convert from Internet Format
- I
- Mon, 2 Oct 2000 08:25:57
- w2 d2 M10 Y2000 h8 U25 s57
- : Test 22 - Convert from Internet Format
- I
- Sat, 2 Dec 2000 08:25:57
- w7 d2 M12 Y2000 h8 U25 s57
- : Test 23 - Convert from Internet Format
- I
- Tue, 2 Oct 2001 08:25:57
- w3 d2 M10 Y2001 H8 U25 s57
- : Test 24 - Convert from Internet Format
- I
- 1 Jan 2006 08:25:57
- Y2006 d1 h8 U25 s57
- : Test 25 - Convert from Internet Format
- I
- 1 Jan 2034 08:25:57
- Y2034 d1 h8 U25 s57
- : Test 26 - Add huge number of years.
- A Y2147483646
- Y2147483647 M1 d1
- : Test 27 - Add huge number of days.
- A D2147483646
- Y5879611 M7 d11
- : Test 28 - Add huge number of seconds.
- A S2147483647
- Y1970 D1
- Y2038 M1 d19 H3 U14 s7
- : Test 29 - Add huge number of milliseconds.
- A L2147483647
- Y1 M1 d25 H20 U31 s23 L647
- : Test 30 - Convert to Internet Format, first day of 1970, GMT.
- i
- Y1970
- Thu, 1 Jan 1970 00:00:00 +0000
- : Test 31 - Convert to Internet Format, first day of 2000, GMT.
- i
- Y2000
- Sat, 1 Jan 2000 00:00:00 +0000
- : Test 32 - Convert to Internet Format, 29 Feb 2000, GMT.
- i
- Y2000 D60 S60000
- Tue, 29 Feb 2000 16:40:00 +0000
- : Test 33 - Convert to Internet Format '29 Feb' 2001, GMT.
- i
- Y2001 D60 S10000
- Thu, 1 Mar 2001 02:46:40 +0000
- : Test 34 - Convert to Internet Format, Middle European Time zone.
- i
- Y2001 Z60 S45015
- Mon, 1 Jan 2001 12:30:15 +0100
- : Test 35 - Convert to Internet Format, Pacific Standard Time.
- i
- Y2001 Z-480 S39015
- Mon, 1 Jan 2001 10:50:15 -0800
- : Test 36 - Convert to ISO 8601 Calender
- v1
- Y2000 S39015
- 2000-1-1T10:50:15
- : Test 37 - Convert to ISO 8601 Ordinal
- v2
- Y2000 S39015
- 2000-1T10:50:15
- : Test 38 - Convert to ISO 8601 Week
- v3
- Y2000 S39015
- 2000-W1-7T10:50:15
- : Test 39 - Convert from ISO 8601 Calender format
- V
- 2000-1-1T12:35:15
- Y2000 M1 d1 H12 U35 s15
- : Test 40 - Convert from ISO 8601 Week format
- V
- 2004-W14-5T12:35:15
- Y2004 W14 w5 H12 U35 s15
- : Test 41 - Convert from ISO 8601 Ordinal format
- V
- 2004-145T12:35:15
- Y2004 D145 H12 U35 s15
- : Test 42 - Output as TTimeStamp
- T
- : Test 43 - Output as TTimeStamp
- T
- Y2
- : Test 44 - Output as TTimeStamp
- T
- Y3
- : Test 45 - Output as TTimeStamp
- T
- Y4
- : Test 46 - Output as TTimeStamp
- T
- Y100
- : Test 47 - Output as TTimeStamp
- T
- Y400
- : Test 48 - Output as TTimeStamp
- T
- Y1970
- :Test 49 - Output as TTimeStamp
- T
- Y2000 D1
- :Test 50 - Output as TTimeStamp
- T
- Y2000 M3 d1
- :Test 51 - Output as TTimeStamp
- T
- Y1999 D365
- : Test 52 - Convert timestamp with a missing space from Internet Format
- I
- Wed,08 Jan 2003 08:09:16 PM
- Y2003 d8 M1 H20 U9 s16
|