1
2
3
4
5
6
7
8
9
10
11 package org.mule.xml.util.properties;
12
13 import org.mule.DefaultMuleMessage;
14 import org.mule.module.xml.expression.JXPathExpressionEvaluator;
15 import org.mule.tck.AbstractMuleTestCase;
16 import org.mule.tck.testmodels.fruit.Apple;
17 import org.mule.tck.testmodels.fruit.Banana;
18 import org.mule.tck.testmodels.fruit.FruitBowl;
19
20 public class JXPathExpressionEvaluatorTestCase extends AbstractMuleTestCase
21 {
22
23 public void testWithExpressions()
24 {
25 Apple apple = new Apple();
26 apple.wash();
27 FruitBowl payload = new FruitBowl(apple, new Banana());
28 DefaultMuleMessage msg = new DefaultMuleMessage(payload);
29
30 JXPathExpressionEvaluator e = new JXPathExpressionEvaluator();
31 Object value = e.evaluate("apple/washed", msg);
32 assertNotNull(value);
33 assertTrue(value instanceof Boolean);
34 assertTrue(((Boolean)value).booleanValue());
35
36 value = e.evaluate("apple/washed", payload);
37 assertNotNull(value);
38 assertTrue(value instanceof Boolean);
39 assertTrue(((Boolean)value).booleanValue());
40
41 value = e.evaluate("bar", msg);
42 assertNull(value);
43 }
44 }