Author: gnodet
Date: Thu Dec 14 00:21:50 2006
New Revision: 487126

URL: http://svn.apache.org/viewvc?view=rev&rev=487126
Log:
Add a test for java extensions in xpath extensions

Modified:
    
incubator/servicemix/trunk/core/servicemix-core/src/test/java/org/apache/servicemix/expression/JAXPXPathExpressionTest.java

Modified: 
incubator/servicemix/trunk/core/servicemix-core/src/test/java/org/apache/servicemix/expression/JAXPXPathExpressionTest.java
URL: 
http://svn.apache.org/viewvc/incubator/servicemix/trunk/core/servicemix-core/src/test/java/org/apache/servicemix/expression/JAXPXPathExpressionTest.java?view=diff&rev=487126&r1=487125&r2=487126
==============================================================================
--- 
incubator/servicemix/trunk/core/servicemix-core/src/test/java/org/apache/servicemix/expression/JAXPXPathExpressionTest.java
 (original)
+++ 
incubator/servicemix/trunk/core/servicemix-core/src/test/java/org/apache/servicemix/expression/JAXPXPathExpressionTest.java
 Thu Dec 14 00:21:50 2006
@@ -16,7 +16,9 @@
  */
 package org.apache.servicemix.expression;
 
+import org.apache.servicemix.client.DefaultNamespaceContext;
 import org.apache.servicemix.expression.JAXPStringXPathExpression;
+import org.apache.xalan.extensions.XPathFunctionResolverImpl;
 
 
 /**
@@ -44,4 +46,19 @@
             assertExpression(new JAXPStringXPathExpression("$name"), "James", 
"<foo><bar xyz='cheese'/></foo>");
         }
     }
+
+    public void testUsingJavaExtensions() throws Exception {
+        JAXPStringXPathExpression exp = new JAXPStringXPathExpression();
+        
exp.setXPath("java:org.apache.servicemix.expression.JAXPXPathExpressionTest.func(string(/header/value))");
+        DefaultNamespaceContext namespaceContext = new 
DefaultNamespaceContext();
+        namespaceContext.add("java", "http://xml.apache.org/xalan/java";);
+        exp.setNamespaceContext(namespaceContext);
+        exp.setFunctionResolver(new XPathFunctionResolverImpl());
+        assertExpression(exp, "modified12", 
"<header><value>12</value></header>");
+    }
+
+    public static String func(String s) {
+        return "modified" + s;
+    }
+
 }


Reply via email to