01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.commons.configuration.plist;
19:
20: import java.io.Reader;
21:
22: import junit.framework.TestCase;
23: import junitx.framework.ArrayAssert;
24:
25: /**
26: * @author Emmanuel Bourg
27: * @version $Revision$, $Date$
28: */
29: public class TestPropertyListParser extends TestCase {
30: private PropertyListParser parser = new PropertyListParser(
31: (Reader) null);
32:
33: public void testRemoveQuotes() {
34: assertEquals("unquoted string", "abc", parser
35: .removeQuotes("abc"));
36: assertEquals("quoted string", "abc", parser
37: .removeQuotes("\"abc\""));
38: assertEquals("empty quotes", "", parser.removeQuotes("\"\""));
39: assertEquals("empty string", "", parser.removeQuotes(""));
40: assertEquals("null string", null, parser.removeQuotes(null));
41: }
42:
43: public void testUnescapeQuotes() {
44: assertEquals("non escaped quotes", "aaa\"bbb\"ccc", parser
45: .unescapeQuotes("aaa\"bbb\"ccc"));
46: assertEquals("escaped quotes", "aaa\"bbb\"ccc", parser
47: .unescapeQuotes("aaa\\\"bbb\\\"ccc"));
48: }
49:
50: public void testFilterData() throws Exception {
51: byte[] expected = new byte[] { 0x20, 0x20 };
52: ArrayAssert.assertEquals("null string", null, parser
53: .filterData(null));
54: ArrayAssert.assertEquals("data with < >", expected, parser
55: .filterData("<2020>"));
56: ArrayAssert.assertEquals("data without < >", expected, parser
57: .filterData("2020"));
58: ArrayAssert.assertEquals("data with space", expected, parser
59: .filterData("20 20"));
60: ArrayAssert.assertEquals("odd length", new byte[] { 9, 0x20 },
61: parser.filterData("920"));
62: }
63: }
|