Author: oheger Date: Tue Apr 29 20:35:48 2014 New Revision: 1591092 URL: http://svn.apache.org/r1591092 Log: [CONFIGURATION-573] Added a test for namespaces.
The test checks whether XPathExpressionEngine now handles expressions referencing nodes and attributes with namespaces correctly. Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngineInConfig.java Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngineInConfig.java URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngineInConfig.java?rev=1591092&r1=1591091&r2=1591092&view=diff ============================================================================== --- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngineInConfig.java (original) +++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/tree/xpath/TestXPathExpressionEngineInConfig.java Tue Apr 29 20:35:48 2014 @@ -17,8 +17,14 @@ package org.apache.commons.configuration.tree.xpath; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import java.io.StringReader; +import java.util.Iterator; import org.apache.commons.configuration.XMLConfiguration; +import org.apache.commons.configuration.ex.ConfigurationException; +import org.apache.commons.configuration.io.FileHandler; import org.junit.Before; import org.junit.Test; @@ -26,9 +32,6 @@ import org.junit.Test; * A test class for XPathExpressionEngine that tests the engine integrated into * a hierarchical configuration. * - * @author <a - * href="http://commons.apache.org/configuration/team-list.html">Commons - * Configuration team</a> * @version $Id$ */ public class TestXPathExpressionEngineInConfig @@ -115,4 +118,28 @@ public class TestXPathExpressionEngineIn assertEquals("Wrong field type", "int", config.getString("tables/table[1]/fields/field[1]/@type")); } + + /** + * Tests whether configuration properties with a namespace can be handled. + */ + @Test + public void testPropertiesWithNamespace() throws ConfigurationException + { + String xml = + "<Config>\n" + + "<dsig:Transforms xmlns:dsig=\"http://www.w3.org/2000/09/xmldsig#\">\n" + + " <dsig:Transform Algorithm=\"http://www.w3.org/TR/1999/REC-xpath-19991116\">\n" + + " <dsig:XPath xmlns:ietf=\"http://www.ietf.org\" xmlns:pl=\"http://test.test\">self::pl:policy1</dsig:XPath>\n" + + " </dsig:Transform>\n" + + " <dsig:Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-20010315\"/>\n" + + "</dsig:Transforms>" + "</Config>"; + FileHandler handler = new FileHandler(config); + handler.load(new StringReader(xml)); + + for (Iterator<String> it = config.getKeys(); it.hasNext();) + { + String key = it.next(); + assertNotNull("No value for " + key, config.getString(key)); + } + } }