Update of /cvsroot/jwebunit/jWebUnit/src/net/sourceforge/jwebunit
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15415/src/net/sourceforge/jwebunit
Modified Files:
TextAndElementWalker.java
Added Files:
TextAndElementWalkerReverse.java
Log Message:
Added possibility to walk DOM tree in reverse order, to find elements like
checkboxes placed before the text label.
--- NEW FILE: TextAndElementWalkerReverse.java ---
package net.sourceforge.jwebunit;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
/**
* Walks over a DOM subtree in reverse order associate labels with preceding
element.
*/
public class TextAndElementWalkerReverse extends TextAndElementWalker {
public TextAndElementWalkerReverse(Element root, String[] tags) {
super(root, tags);
}
protected void traverse(NodeList children) {
for (int i = children.getLength() - 1; i >= 0; i--) {
walk(children.item(i));
}
}
}
Index: TextAndElementWalker.java
===================================================================
RCS file:
/cvsroot/jwebunit/jWebUnit/src/net/sourceforge/jwebunit/TextAndElementWalker.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TextAndElementWalker.java 4 Jul 2003 01:51:16 -0000 1.1
--- TextAndElementWalker.java 22 Dec 2005 16:19:11 -0000 1.2
***************
*** 25,29 ****
}
! private void walk(Node node) {
if (node instanceof CharacterData) {
currentText.append(((CharacterData) node).getData());
--- 25,29 ----
}
! protected void walk(Node node) {
if (node instanceof CharacterData) {
currentText.append(((CharacterData) node).getData());
***************
*** 34,44 ****
} else {
NodeList children = node.getChildNodes();
! for (int i = 0; i < children.getLength(); i++) {
! walk(children.item(i));
! }
}
}
}
private boolean matches(String tag) {
for (int i = 0; i < tags.length; i++) {
--- 34,48 ----
} else {
NodeList children = node.getChildNodes();
! traverse(children);
}
}
}
+ protected void traverse(NodeList children) {
+ for (int i = 0; i < children.getLength(); i++) {
+ walk(children.item(i));
+ }
+ }
+
private boolean matches(String tag) {
for (int i = 0; i < tags.length; i++) {
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Jwebunit-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jwebunit-development