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

Reply via email to