Source code: com/sun/syndication/unittest/TestDateParser.java
1 /*
2 * Copyright 2004-2005 Sun Microsystems, Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
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
26 /**
27 *
28 * Start of tests for DateParser
29 *
30 * @author Nick Lothian
31 *
32 */
33 public class TestDateParser extends TestCase {
34 public void testParseRFC822() {
35 Calendar cal = new GregorianCalendar();
36 cal.setTimeZone(TimeZone.getTimeZone("GMT"));
37
38 // four-digit year
39 String sDate = "Tue, 19 Jul 2005 23:00:51 GMT";
40 cal.setTime(DateParser.parseRFC822(sDate));
41
42 assertEquals(2005, cal.get(Calendar.YEAR));
43 assertEquals(6, cal.get(Calendar.MONTH)); // month is zero-indexed
44 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
45 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
46 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
47 assertEquals(0, cal.get(Calendar.MINUTE));
48 assertEquals(51, cal.get(Calendar.SECOND));
49
50 // two-digit year
51 sDate = "Tue, 19 Jul 05 23:00:51 GMT";
52 cal.setTime(DateParser.parseRFC822(sDate));
53
54 assertEquals(2005, cal.get(Calendar.YEAR));
55 assertEquals(6, cal.get(Calendar.MONTH)); // month is zero-indexed
56 assertEquals(19, cal.get(Calendar.DAY_OF_MONTH));
57 assertEquals(3, cal.get(Calendar.DAY_OF_WEEK));
58 assertEquals(23, cal.get(Calendar.HOUR_OF_DAY));
59 assertEquals(0, cal.get(Calendar.MINUTE));
60 assertEquals(51, cal.get(Calendar.SECOND));
61
62 //RFC822
63 sDate = "Tue, 19 Jul 2005 23:00:51 GMT";
64 assertNotNull(DateParser.parseDate(sDate));
65
66 //RFC822
67 sDate = "Tue, 19 Jul 05 23:00:51 GMT";
68 assertNotNull(DateParser.parseDate(sDate));
69
70 //W3C
71 sDate = "2000-01-01T00:00:00Z";
72 assertNotNull(DateParser.parseDate(sDate));
73
74 //EXTRA
75 sDate = "18:10 2000/10/10";
76 assertNotNull(DateParser.parseDate(sDate));
77
78 //INVALID
79 sDate = "X20:10 2000-10-10";
80 assertNull(DateParser.parseDate(sDate));
81
82 }
83 }