1
2
3
4
5
6
7
8
9
10 package org.mule.expression;
11
12 import org.mule.api.MuleMessage;
13 import org.mule.api.expression.ExpressionEvaluator;
14 import org.mule.tck.AbstractMuleTestCase;
15
16 public class ExpressionConfigTestCase extends AbstractMuleTestCase
17 {
18 public void testConfig() throws Exception
19 {
20 ExpressionConfig config = new ExpressionConfig("foo=bar", "header", null, "$[", "]");
21 config.validate(muleContext.getExpressionManager());
22 assertEquals("$[header:foo=bar]", config.getFullExpression(muleContext.getExpressionManager()));
23
24 config = new ExpressionConfig("foo,bar", "headers", null);
25 config.validate(muleContext.getExpressionManager());
26 assertEquals("#[headers:foo,bar]", config.getFullExpression(muleContext.getExpressionManager()));
27
28 config = new ExpressionConfig();
29 config.parse("#[attachment:baz]");
30 config.validate(muleContext.getExpressionManager());
31 assertEquals("attachment", config.getEvaluator());
32 assertEquals("baz", config.getExpression());
33 assertNull(config.getCustomEvaluator());
34
35 }
36
37 public void testCustomConfig() throws Exception
38 {
39 muleContext.getExpressionManager().registerEvaluator(new ExpressionEvaluator()
40 {
41 public Object evaluate(String expression, MuleMessage message) { return null; }
42
43 public void setName(String name) { }
44
45 public String getName() { return "customEval"; }
46 });
47
48 ExpressionConfig config = new ExpressionConfig("foo,bar", "custom", "customEval");
49 config.validate(muleContext.getExpressionManager());
50 assertEquals("#[customEval:foo,bar]", config.getFullExpression(muleContext.getExpressionManager()));
51 }
52 }