You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oz...@apache.org on 2005/02/14 08:15:50 UTC
svn commit: r153730 -
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java
Author: ozeigermann
Date: Sun Feb 13 23:15:49 2005
New Revision: 153730
URL: http://svn.apache.org/viewcvs?view=rev&rev=153730
Log:
Individual basic test cases for fallback and supplementary rule manager
Modified:
jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java
Modified: jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java?view=diff&r1=153729&r2=153730
==============================================================================
--- jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java (original)
+++ jakarta/commons/proper/digester/branches/digester2/src/test/org/apache/commons/digester2/SupplementaryRuleManagerTestCase.java Sun Feb 13 23:15:49 2005
@@ -25,7 +25,6 @@
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
/**
* <p>
@@ -35,27 +34,33 @@
public class SupplementaryRuleManagerTestCase extends TestCase {
+ private static class NullAction extends AbstractAction {
+ }
+
private static class XMLLikeAction extends AbstractAction {
-
+
boolean rootFoundAbsolute = false;
+
boolean rootFoundRelative = false;
+
boolean wrongRelativeFound = false;
+
boolean longAbsoluteFound = false;
-
+
public void begin(Context context, String namespace, String name, Attributes attrs) {
String path = context.getMatchPath();
if (SupplementaryRuleManager.matches(path, "/root")) {
rootFoundAbsolute = true;
- }
-
+ }
+
if (SupplementaryRuleManager.matches(path, "root")) {
rootFoundRelative = true;
}
if (SupplementaryRuleManager.matches(path, "/root/p/em")) {
longAbsoluteFound = true;
- }
+ }
if (SupplementaryRuleManager.matches(path, "ot/p")) {
wrongRelativeFound = true;
@@ -106,27 +111,52 @@
// Individual Test Methods
// ------------------------------------------------
- public void testGlobalCallBack() throws Exception {
+ public void testFallback() throws Exception {
String inputText = "<root><p>Hi <em>There</em></p></root>";
InputSource source = new InputSource(new StringReader(inputText));
+ // xmlio-style digester
+ XMLLikeAction xmlioLikeAction = new XMLLikeAction();
+
+ FallbackRuleManager manager = new FallbackRuleManager();
+ manager.addFallbackAction(xmlioLikeAction);
+ manager.addRule("/root/p/em", new NullAction());
+
Digester d = new Digester();
+ d.setRuleManager(manager);
+ d.parse(source);
- XMLReader reader = d.getXMLReader();
+ assertTrue("Root element was found absolute", xmlioLikeAction.rootFoundAbsolute);
+ assertTrue("Root element was found relative", xmlioLikeAction.rootFoundRelative);
+ assertFalse("Long absolute path was found by other rule", xmlioLikeAction.longAbsoluteFound);
+ assertFalse("Incomplete relative was not found", xmlioLikeAction.wrongRelativeFound);
+
+ }
+
+ public void testSupplementary() throws Exception {
+ String inputText = "<root><p>Hi <em>There</em></p></root>";
// xmlio-style digester
- XMLLikeAction xmlioLikeHandler = new XMLLikeAction();
+ XMLLikeAction xmlioLikeAction = new XMLLikeAction();
+
+ SupplementaryRuleManager manager = new SupplementaryRuleManager();
+ manager.addSupplementaryAction(xmlioLikeAction);
+ manager.addRule("root", new NullAction());
- RuleManager manager = new SupplementaryRuleManager(xmlioLikeHandler);
+ Digester d = new Digester();
d.setRuleManager(manager);
- d.parse(source);
+ // try twice to check caching
+ for (int i = 0; i < 2; i++) {
+ InputSource source = new InputSource(new StringReader(inputText));
+ d.parse(source);
+
+ assertTrue("Root element was found absolute", xmlioLikeAction.rootFoundAbsolute);
+ assertTrue("Root element was found relative", xmlioLikeAction.rootFoundRelative);
+ assertTrue("Long absolute path was found", xmlioLikeAction.longAbsoluteFound);
+ assertFalse("Incomplete relative was not found", xmlioLikeAction.wrongRelativeFound);
+ }
- assertTrue("Root element was found absolute", xmlioLikeHandler.rootFoundAbsolute);
- assertTrue("Root element was found relative", xmlioLikeHandler.rootFoundRelative);
- assertTrue("Long absolute path was found", xmlioLikeHandler.longAbsoluteFound);
- assertFalse("Incomplete relative was not found", xmlioLikeHandler.wrongRelativeFound);
-
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org