source: trunk/tests/org/expeditee/items/widgets/InteractiveWidgetTest.java@ 227

Last change on this file since 227 was 227, checked in by ra33, 16 years ago
File size: 3.7 KB
Line 
1package org.expeditee.items.widgets;
2
3import junit.framework.TestCase;
4
5public class InteractiveWidgetTest extends TestCase {
6
7 public void testParseArgs1() {
8
9 assertNull(InteractiveWidget.parseArgs(null));
10 assertNull(InteractiveWidget.parseArgs(""));
11 assertNull(InteractiveWidget.parseArgs(" "));
12
13 String[] args = InteractiveWidget.parseArgs("arg1");
14 assertEquals(1, args.length);
15 assertEquals("arg1", args[0]);
16
17 args = InteractiveWidget.parseArgs("arg1 arg2");
18 assertEquals(2, args.length);
19 assertEquals("arg1", args[0]);
20 assertEquals("arg2", args[1]);
21
22 args = InteractiveWidget.parseArgs(" )*^*$^ 24224 5775 13 : ");
23 assertEquals(5, args.length);
24 assertEquals(")*^*$^", args[0]);
25 assertEquals("24224", args[1]);
26 assertEquals("5775", args[2]);
27 assertEquals("13", args[3]);
28 assertEquals(":", args[4]);
29 }
30
31 public void testParseArgs2() {
32
33 String[] args = InteractiveWidget.parseArgs("\"");
34 assertNull(args);
35
36 args = InteractiveWidget.parseArgs("\"\"");
37 assertEquals(1, args.length);
38 assertEquals("\"", args[0]);
39
40 args = InteractiveWidget.parseArgs("\"\"\"\"\"\"\"");
41 assertEquals(1, args.length);
42 assertEquals("\"\"\"", args[0]);
43
44 args = InteractiveWidget.parseArgs(" \" \" ");
45 assertEquals(1, args.length);
46 assertEquals(" ", args[0]);
47
48 args = InteractiveWidget.parseArgs("arg1\" \"");
49 assertEquals(1, args.length);
50 assertEquals("arg1 ", args[0]);
51
52 args = InteractiveWidget.parseArgs("arg1\" \"+8");
53 assertEquals(1, args.length);
54 assertEquals("arg1 +8", args[0]);
55
56 args = InteractiveWidget.parseArgs("abc\" \"de 123\" \"45");
57 assertEquals(2, args.length);
58 assertEquals("abc de", args[0]);
59 assertEquals("123 45", args[1]);
60
61 args = InteractiveWidget.parseArgs("adgdag\" adgdgadag");
62 assertEquals(1, args.length);
63 assertEquals("adgdag adgdgadag", args[0]);
64
65 args = InteractiveWidget.parseArgs("abc\"\"\" s \" ggg");
66 assertEquals(2, args.length);
67 assertEquals("abc\" s ", args[0]);
68 assertEquals("ggg", args[1]);
69
70 args = InteractiveWidget.parseArgs("abc\"\"123");
71 assertEquals(1, args.length);
72 assertEquals("abc\"123", args[0]);
73
74 args = InteractiveWidget.parseArgs("file=\"a URL with spaces\" title=\"A title with spaces and \"\"quotes\"\"\"");
75 assertEquals(2, args.length);
76 assertEquals("file=a URL with spaces", args[0]);
77 assertEquals("title=A title with spaces and \"quotes\"", args[1]);
78
79
80 }
81
82 public void testFormatParseArgs() {
83
84 AssertArgParsingAndFormatting(null);
85 AssertArgParsingAndFormatting("");
86 AssertArgParsingAndFormatting(" ");
87 AssertArgParsingAndFormatting(" \"");
88 AssertArgParsingAndFormatting(" \" ");
89 AssertArgParsingAndFormatting("arg1");
90 AssertArgParsingAndFormatting("arg1 arg2");
91 AssertArgParsingAndFormatting("%%#%# 13 fgsfa sf SA sa\" f sa\" S sa\" ");
92 AssertArgParsingAndFormatting("\"\"\"\"\"\"\"");
93 AssertArgParsingAndFormatting("\"\\\\ file \"\" \"\"\" ad \"");
94 AssertArgParsingAndFormatting(" add\"\"ad\"aad ");
95 AssertArgParsingAndFormatting("abc\"\"\" s \" ggg");
96 AssertArgParsingAndFormatting("1 2 3 4 5 6 7 8 \"9 10 \"\"\" \"1");
97 AssertArgParsingAndFormatting("file=\"a URL with spaces\" title=\"A title with spaces and \"\"quotes\"\"\"");
98
99 }
100
101 private void AssertArgParsingAndFormatting(String str) {
102
103 String[] args1 = InteractiveWidget.parseArgs(str);
104
105 String formatted = InteractiveWidget.formatArgs(args1);
106
107 String[] args2 = InteractiveWidget.parseArgs(formatted);
108
109 if (args1 == null || args2 == null) assertEquals(args1, args2);
110 else {
111 assertEquals(args1.length, args2.length);
112 for (int i = 0; i < args1.length; i++) {
113 assertEquals(args1[i], args2[i]);
114 }
115 }
116
117 }
118
119}
Note: See TracBrowser for help on using the repository browser.