1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.scxml.env.jexl;
18
19 import junit.framework.Test;
20 import junit.framework.TestCase;
21 import junit.framework.TestSuite;
22
23 import org.apache.commons.scxml.Context;
24 import org.apache.commons.scxml.Evaluator;
25 import org.apache.commons.scxml.SCXMLExpressionException;
26
27 public class JexlEvaluatorTest extends TestCase {
28
29 private String BAD_EXPRESSION = ">";
30 private Context ctx = new JexlContext();
31
32 public JexlEvaluatorTest(String testName) {
33 super(testName);
34 }
35
36 public static Test suite() {
37 return new TestSuite(JexlEvaluatorTest.class);
38 }
39
40 public static void main(String args[]) {
41 String[] testCaseName = {JexlEvaluatorTest.class.getName()};
42 junit.textui.TestRunner.main(testCaseName);
43 }
44
45 public void testPristine() throws SCXMLExpressionException {
46 Evaluator eval = new JexlEvaluator();
47 assertNotNull(eval);
48 assertTrue(((Boolean) eval.eval(ctx, "1+1 eq 2")).booleanValue());
49 }
50
51 public void testErrorMessage() {
52 Evaluator eval = new JexlEvaluator();
53 assertNotNull(eval);
54 try {
55 eval.eval(ctx, BAD_EXPRESSION);
56 fail("JexlEvaluator should throw SCXMLExpressionException");
57 } catch (SCXMLExpressionException e) {
58 assertTrue("JexlEvaluator: Incorrect error message",
59 e.getMessage().startsWith("eval('" + BAD_EXPRESSION + "'):"));
60 }
61 }
62
63 }