View Javadoc

1   /*
2    * $Id: ExpressionParsingTestCase.java 19191 2010-08-25 21:05:23Z tcarlson $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSoft, Inc.  All rights reserved.  http://www.mulesoft.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
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