1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.sun.syndication.unittest;
18
19 import com.sun.syndication.io.impl.DateParser;
20 import junit.framework.TestCase;
21
22 import java.util.Calendar;
23 import java.util.GregorianCalendar;
24 import java.util.TimeZone;
25 import java.util.Date;
26
27 /***
28 *
29 * Start of tests for DateParser
30 *
31 * @author Nick Lothian
32 *
33 */
34 public class TestDateParser extends TestCase {
35 public void testParse() {
36 Calendar cal = new GregorianCalendar();
37 cal.setTimeZone(TimeZone.getTimeZone("GMT"));
38
39
40 String sDate = "Tue, 19 Jul 2005 23:00:51 GMT";
41 cal.setTime(DateParser.parseRFC822(sDate));
42
43 assertEquals(2005, cal.get(Calendar.YEAR));
44 assertEquals(6, cal.get(Calendar.MONTH));
45 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
46 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
47 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
48 assertEquals(0, cal.get(Calendar.MINUTE));
49 assertEquals(51, cal.get(Calendar.SECOND));
50
51
52 sDate = "Tue, 19 Jul 05 23:00:51 GMT";
53 cal.setTime(DateParser.parseRFC822(sDate));
54
55 assertEquals(2005, cal.get(Calendar.YEAR));
56 assertEquals(6, cal.get(Calendar.MONTH));
57 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
58 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
59 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
60 assertEquals(0, cal.get(Calendar.MINUTE));
61 assertEquals(51, cal.get(Calendar.SECOND));
62
63
64 sDate = "Tue, 19 Jul 2005 23:00:51 UT";
65 cal.setTime(DateParser.parseRFC822(sDate));
66
67 assertEquals(2005, cal.get(Calendar.YEAR));
68 assertEquals(6, cal.get(Calendar.MONTH));
69 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
70 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
71 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
72 assertEquals(0, cal.get(Calendar.MINUTE));
73 assertEquals(51, cal.get(Calendar.SECOND));
74
75
76 sDate = "Tue, 19 Jul 05 23:00:51 UT";
77 cal.setTime(DateParser.parseRFC822(sDate));
78
79 assertEquals(2005, cal.get(Calendar.YEAR));
80 assertEquals(6, cal.get(Calendar.MONTH));
81 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
82 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
83 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
84 assertEquals(0, cal.get(Calendar.MINUTE));
85 assertEquals(51, cal.get(Calendar.SECOND));
86
87
88 sDate = "Tue, 19 Jul 2005 23:00:51 GMT";
89 assertNotNull(DateParser.parseDate(sDate));
90
91
92 sDate = "Tue, 19 Jul 05 23:00:51 GMT";
93 assertNotNull(DateParser.parseDate(sDate));
94
95 Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
96 c.set(2000,Calendar.JANUARY,01,0,0,0);
97 Date expectedDate = c.getTime();
98
99
100 sDate = "2000-01-01T00:00:00Z";
101 assertEquals(expectedDate.getTime()/1000,DateParser.parseDate(sDate).getTime()/1000);
102
103
104 sDate = "2000-01-01T00:00Z";
105 assertEquals(expectedDate.getTime()/1000,DateParser.parseDate(sDate).getTime()/1000);
106
107
108 sDate = "2000-01-01";
109 assertEquals(expectedDate.getTime()/1000,DateParser.parseDate(sDate).getTime()/1000);
110
111
112 sDate = "2000-01";
113 assertEquals(expectedDate.getTime()/1000,DateParser.parseDate(sDate).getTime()/1000);
114
115
116 sDate = "2000";
117 assertEquals(expectedDate.getTime()/1000,DateParser.parseDate(sDate).getTime()/1000);
118
119
120 sDate = "18:10 2000/10/10";
121 assertNotNull(DateParser.parseDate(sDate));
122
123
124 sDate = "X20:10 2000-10-10";
125 assertNull(DateParser.parseDate(sDate));
126
127 }
128 }