1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.jsieve;
21
22 import junit.framework.TestCase;
23
24 import org.apache.jsieve.exception.SieveException;
25 import org.apache.jsieve.exception.SyntaxException;
26 import org.apache.jsieve.parser.generated.ParseException;
27 import org.apache.jsieve.utils.JUnitUtils;
28
29
30
31
32 public class RequireTest extends TestCase {
33
34
35
36
37 public void testSingleCommandSatisfied() {
38 boolean isTestPassed = false;
39 String script = "require \"if\";";
40
41 try {
42 JUnitUtils.interpret(JUnitUtils.createMail(), script);
43 isTestPassed = true;
44 } catch (ParseException e) {
45 } catch (SieveException e) {
46 }
47 assertTrue(isTestPassed);
48 }
49
50
51
52
53 public void testSingleTestSatisfied() throws Exception {
54 String script = "require \"true\";";
55 JUnitUtils.interpret(JUnitUtils.createMail(), script);
56 }
57
58
59
60
61 public void testMultipleCommandSatisfied() throws Exception {
62 String script = "require [\"if\", \"elsif\", \"else\"];";
63 JUnitUtils.interpret(JUnitUtils.createMail(), script);
64 }
65
66
67
68
69 public void testMultipleTestSatisfied() throws Exception {
70 String script = "require [\"true\", \"false\", \"not\"];";
71 JUnitUtils.interpret(JUnitUtils.createMail(), script);
72 }
73
74
75
76
77 public void testSingleCommandUnsatisfied() throws Exception {
78 boolean isTestPassed = false;
79 String script = "require \"absent\";";
80
81 try {
82 JUnitUtils.interpret(JUnitUtils.createMail(), script);
83 } catch (ParseException e) {
84 isTestPassed = true;
85 }
86 assertTrue(isTestPassed);
87 }
88
89
90
91
92 public void testSingleTestUnsatisfied() throws Exception {
93 boolean isTestPassed = false;
94 String script = "require \"absent\";";
95
96 try {
97 JUnitUtils.interpret(JUnitUtils.createMail(), script);
98 } catch (ParseException e) {
99 isTestPassed = true;
100 }
101 assertTrue(isTestPassed);
102 }
103
104
105
106
107 public void testMissingArgument() throws Exception {
108 boolean isTestPassed = false;
109 String script = "require;";
110
111 try {
112 JUnitUtils.interpret(JUnitUtils.createMail(), script);
113 } catch (SyntaxException e) {
114 isTestPassed = true;
115 }
116 assertTrue(isTestPassed);
117 }
118
119
120
121
122 public void testExtraArgument() throws Exception {
123 boolean isTestPassed = false;
124 String script = "require \"if\" 1;";
125
126 try {
127 JUnitUtils.interpret(JUnitUtils.createMail(), script);
128 } catch (SyntaxException e) {
129 isTestPassed = true;
130 }
131 assertTrue(isTestPassed);
132 }
133
134
135
136
137 public void testRejectBlock() throws Exception {
138 boolean isTestPassed = false;
139 String script = "require \"if\" {stop;}";
140
141 try {
142 JUnitUtils.interpret(JUnitUtils.createMail(), script);
143 } catch (SyntaxException e) {
144 isTestPassed = true;
145 }
146 assertTrue(isTestPassed);
147 }
148
149
150
151
152 public void testInterveningCommand() throws Exception {
153 boolean isTestPassed = false;
154 String script = "fileinto \"someplace\"; require \"fileinto\";";
155
156 try {
157 JUnitUtils.interpret(JUnitUtils.createMail(), script);
158 } catch (ParseException e) {
159 isTestPassed = true;
160 }
161 assertTrue(isTestPassed);
162 }
163
164
165
166
167 public void testRejectInvalidArgument() throws Exception {
168 boolean isTestPassed = false;
169 String script = "require 1 ;";
170
171 try {
172 JUnitUtils.interpret(JUnitUtils.createMail(), script);
173 } catch (SyntaxException e) {
174 isTestPassed = true;
175 }
176 assertTrue(isTestPassed);
177 }
178
179
180
181
182
183 public void testMultipleCommandsUnsatisfied() throws Exception {
184 boolean isTestPassed = false;
185 String script = "require [\"if\", \"elsif\", \"absent\"];";
186
187 try {
188 JUnitUtils.interpret(JUnitUtils.createMail(), script);
189 } catch (ParseException e) {
190 isTestPassed = true;
191 }
192 assertTrue(isTestPassed);
193 }
194
195
196
197
198 public void testMultipleTestsUnsatisfied() throws Exception {
199 boolean isTestPassed = false;
200 String script = "require [\"true\", \"false\", \"absent\"];";
201
202 try {
203 JUnitUtils.interpret(JUnitUtils.createMail(), script);
204 } catch (ParseException e) {
205 isTestPassed = true;
206 }
207 assertTrue(isTestPassed);
208 }
209
210 }