View Javadoc

1   /*
2    * $Id: ExpressionConfigTestCase.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.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  }