1
2
3
4
5
6
7
8
9
10 package org.mule.expression;
11
12 import org.mule.DefaultMuleMessage;
13 import org.mule.api.expression.ExpressionEvaluator;
14 import org.mule.tck.AbstractMuleTestCase;
15
16 import java.util.HashMap;
17
18 public class ExpressionParsingTestCase extends AbstractMuleTestCase
19 {
20
21 private ExpressionEvaluator newlyRegistered;
22
23 @Override
24 protected void doSetUp() throws Exception
25 {
26 newlyRegistered = new MapPayloadExpressionEvaluator();
27 String name = newlyRegistered.getName();
28 if (muleContext.getExpressionManager().isEvaluatorRegistered(name))
29 {
30 newlyRegistered = null;
31 }
32 else
33 {
34 muleContext.getExpressionManager().registerEvaluator(newlyRegistered);
35 }
36 }
37
38 @Override
39 protected void doTearDown() throws Exception
40 {
41 if (newlyRegistered == null)
42 {
43 return;
44 }
45 String name = newlyRegistered.getName();
46 muleContext.getExpressionManager().unregisterEvaluator(name);
47 }
48
49 public void testEvaluatorBraces()
50 {
51 String template = "#[map-payload:time] - #[map-payload:comment]";
52
53 HashMap<String, Object> map = new HashMap<String, Object>();
54 map.put("time", "12:10");
55 map.put("comment", "$3 vs $3 shinogi 41+51.t must be #1140ob");
56
57 assertEquals(
58 "12:10 - comment", "12:10 - $3 vs $3 shinogi 41+51.t must be #1140ob",
59 muleContext.getExpressionManager().parse(template, new DefaultMuleMessage(map, muleContext)));
60 }
61 }
62