skitching 2004/11/29 20:36:46
Modified: digester/src/test/org/apache/commons/digester
SetNestedPropertiesRuleTestCase.java
Log:
Added test case for bugzilla#31393, reported by James Pine.
SetNestedPropertiesRule fails when invoked re-entrantly.
Revision Changes Path
1.4 +33 -1
jakarta-commons/digester/src/test/org/apache/commons/digester/SetNestedPropertiesRuleTestCase.java
Index: SetNestedPropertiesRuleTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/SetNestedPropertiesRuleTestCase.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SetNestedPropertiesRuleTestCase.java 7 May 2004 01:29:59 -0000
1.3
+++ SetNestedPropertiesRuleTestCase.java 30 Nov 2004 04:36:46 -0000
1.4
@@ -330,6 +330,38 @@
assertNotNull(bean);
}
+ /**
+ * Test that the rule works in a sane manner when the associated pattern
+ * is a wildcard such that the rule matches one of its own child
elements.
+ * <p>
+ * See bugzilla entry 31393.
+ */
+ public void testRecursiveNestedProperties()
+ throws SAXException, IOException {
+
+ String testXml =
+ "<?xml version='1.0'?>" +
+ "<testbean>" +
+ "<beta>BETA BODY</beta>" +
+ "<testbean>" +
+ "<beta>BETA BODY</beta>" +
+ "</testbean>" +
+ "</testbean>";
+
+ Reader reader = new StringReader(testXml);
+
+ // going to be setting properties on a SimpleTestBean
+ digester.addObjectCreate("*/testbean",
+
"org.apache.commons.digester.SimpleTestBean");
+
+ SetNestedPropertiesRule rule = new SetNestedPropertiesRule();
+ rule.setAllowUnknownChildElements(true);
+ digester.addRule("*/testbean", rule);
+
+ SimpleTestBean bean = (SimpleTestBean) digester.parse(reader);
+ assertNotNull(bean);
+ }
+
/**
* Get input stream from [EMAIL PROTECTED] #TEST_XML}.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]