Revision: 918 http://jwebunit.svn.sourceforge.net/jwebunit/?rev=918&view=rev Author: henryju Date: 2011-09-23 14:19:55 +0000 (Fri, 23 Sep 2011) Log Message: ----------- Support optgroup in getLabeledFieldValue. Minor cleanup in WebTester.
Modified Paths: -------------- trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java Modified: trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java =================================================================== --- trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java 2011-09-23 14:17:12 UTC (rev 917) +++ trunk/jwebunit-core/src/main/java/net/sourceforge/jwebunit/junit/WebTester.java 2011-09-23 14:19:55 UTC (rev 918) @@ -2757,7 +2757,7 @@ private IElement getLabel(String id) { // get all labels for (IElement e : getTestingEngine().getElementsByXPath("//label")) { - if (e.getName().equals("label") && id.equals(e.getAttribute("id"))) + if (id.equals(e.getAttribute("id"))) return e; // label found } return null; @@ -2838,7 +2838,7 @@ */ private void assertLabeledFieldEquals(String identifier, IElement label, String fieldText) { String value = getLabeledFieldValue(identifier, label); - assertEquals("value of field for label [" + identifier + "] should be [" + fieldText + "]", fieldText, value == null ? "" : value); + assertEquals("unexpected value of field for label [" + identifier + "]", fieldText, value == null ? "" : value); } /** @@ -2883,12 +2883,20 @@ value = field.getTextContent(); } else if ("select".equals(field.getName())) { // get the selected option - for (IElement children : field.getChildren()) { - if (children.getName().equals("option") && children.getAttribute("selected") != null) { - value = children.getAttribute("value") == null ? children.getTextContent() : children.getAttribute("value"); - break; - } - } + for (IElement child : field.getChildren()) { + if (child.getName().equals("option") && child.getAttribute("selected") != null) { + value = child.getAttribute("value") == null ? child.getTextContent() : child.getAttribute("value"); + break; + } + if (child.getName().equals("optgroup")) { + for (IElement subchild : child.getChildren()) { + if (subchild.getName().equals("option") && subchild.getAttribute("selected") != null) { + value = child.getAttribute("value") == null ? child.getTextContent() : child.getAttribute("value"); + break; + } + } + } + } } else { throw new RuntimeException("Unexpected field type " + field.getName()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ JWebUnit-development mailing list JWebUnit-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jwebunit-development