1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.configuration.plist;
19
20 import java.io.Reader;
21 import java.util.Calendar;
22 import java.util.SimpleTimeZone;
23
24 import junit.framework.TestCase;
25 import junitx.framework.ArrayAssert;
26
27 /***
28 * @author Emmanuel Bourg
29 * @version $Revision: 590474 $, $Date: 2007-10-30 22:35:11 +0100 (Di, 30 Okt 2007) $
30 */
31 public class TestPropertyListParser extends TestCase
32 {
33 private PropertyListParser parser = new PropertyListParser((Reader) null);
34
35 public void testRemoveQuotes()
36 {
37 assertEquals("unquoted string", "abc", parser.removeQuotes("abc"));
38 assertEquals("quoted string", "abc", parser.removeQuotes("\"abc\""));
39 assertEquals("empty quotes", "", parser.removeQuotes("\"\""));
40 assertEquals("empty string", "", parser.removeQuotes(""));
41 assertEquals("null string", null, parser.removeQuotes(null));
42 }
43
44 public void testUnescapeQuotes()
45 {
46 assertEquals("non escaped quotes", "aaa\"bbb\"ccc", parser.unescapeQuotes("aaa\"bbb\"ccc"));
47 assertEquals("escaped quotes", "aaa\"bbb\"ccc", parser.unescapeQuotes("aaa//\"bbb//\"ccc"));
48 }
49
50 public void testParseDate() throws Exception
51 {
52 Calendar calendar = Calendar.getInstance();
53 calendar.set(Calendar.YEAR, 2002);
54 calendar.set(Calendar.MONTH, Calendar.MARCH);
55 calendar.set(Calendar.DAY_OF_MONTH, 22);
56 calendar.set(Calendar.HOUR_OF_DAY, 11);
57 calendar.set(Calendar.MINUTE, 30);
58 calendar.set(Calendar.SECOND, 0);
59 calendar.set(Calendar.MILLISECOND, 0);
60 calendar.setTimeZone(new SimpleTimeZone(60 * 60 * 1000, "Apache/Jakarta"));
61
62 assertEquals("parsed date", calendar.getTime(), parser.parseDate("<*D2002-03-22 11:30:00 +0100>"));
63 }
64
65 public void testFilterData() throws Exception
66 {
67 byte[] expected = new byte[] {0x20, 0x20};
68 ArrayAssert.assertEquals("null string", null, parser.filterData(null));
69 ArrayAssert.assertEquals("data with < >", expected, parser.filterData("<2020>"));
70 ArrayAssert.assertEquals("data without < >", expected, parser.filterData("2020"));
71 ArrayAssert.assertEquals("data with space", expected, parser.filterData("20 20"));
72 ArrayAssert.assertEquals("odd length", new byte[]{9, 0x20}, parser.filterData("920"));
73 }
74 }