1 | package org.expeditee.items.widgets;
|
---|
2 |
|
---|
3 | import junit.framework.TestCase;
|
---|
4 |
|
---|
5 | public class InteractiveWidgetTest extends TestCase {
|
---|
6 |
|
---|
7 | public void testParseArgs1() {
|
---|
8 |
|
---|
9 | assertNull(Widget.parseArgs(null));
|
---|
10 | assertNull(Widget.parseArgs(""));
|
---|
11 | assertNull(Widget.parseArgs(" "));
|
---|
12 |
|
---|
13 | String[] args = Widget.parseArgs("arg1");
|
---|
14 | assertEquals(1, args.length);
|
---|
15 | assertEquals("arg1", args[0]);
|
---|
16 |
|
---|
17 | args = Widget.parseArgs("arg1 arg2");
|
---|
18 | assertEquals(2, args.length);
|
---|
19 | assertEquals("arg1", args[0]);
|
---|
20 | assertEquals("arg2", args[1]);
|
---|
21 |
|
---|
22 | args = Widget.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 = Widget.parseArgs("\"");
|
---|
34 | assertNull(args);
|
---|
35 |
|
---|
36 | args = Widget.parseArgs("\"\"");
|
---|
37 | assertEquals(1, args.length);
|
---|
38 | assertEquals("\"", args[0]);
|
---|
39 |
|
---|
40 | args = Widget.parseArgs("\"\"\"\"\"\"\"");
|
---|
41 | assertEquals(1, args.length);
|
---|
42 | assertEquals("\"\"\"", args[0]);
|
---|
43 |
|
---|
44 | args = Widget.parseArgs(" \" \" ");
|
---|
45 | assertEquals(1, args.length);
|
---|
46 | assertEquals(" ", args[0]);
|
---|
47 |
|
---|
48 | args = Widget.parseArgs("arg1\" \"");
|
---|
49 | assertEquals(1, args.length);
|
---|
50 | assertEquals("arg1 ", args[0]);
|
---|
51 |
|
---|
52 | args = Widget.parseArgs("arg1\" \"+8");
|
---|
53 | assertEquals(1, args.length);
|
---|
54 | assertEquals("arg1 +8", args[0]);
|
---|
55 |
|
---|
56 | args = Widget.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 = Widget.parseArgs("adgdag\" adgdgadag");
|
---|
62 | assertEquals(1, args.length);
|
---|
63 | assertEquals("adgdag adgdgadag", args[0]);
|
---|
64 |
|
---|
65 | args = Widget.parseArgs("abc\"\"\" s \" ggg");
|
---|
66 | assertEquals(2, args.length);
|
---|
67 | assertEquals("abc\" s ", args[0]);
|
---|
68 | assertEquals("ggg", args[1]);
|
---|
69 |
|
---|
70 | args = Widget.parseArgs("abc\"\"123");
|
---|
71 | assertEquals(1, args.length);
|
---|
72 | assertEquals("abc\"123", args[0]);
|
---|
73 |
|
---|
74 | args = Widget.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 = Widget.parseArgs(str);
|
---|
104 |
|
---|
105 | String formatted = Widget.formatArgs(args1);
|
---|
106 |
|
---|
107 | String[] args2 = Widget.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 | }
|
---|