Author: sebb
Date: Sun Jun 10 09:20:33 2007
New Revision: 545905

URL: http://svn.apache.org/viewvc?view=rev&rev=545905
Log:
Add some attribute and empty child test cases

Modified:
    
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java

Modified: 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java?view=diff&rev=545905&r1=545904&r2=545905
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-2/test/src/org/apache/jmeter/extractor/TestXPathExtractor.java
 Sun Jun 10 09:20:33 2007
@@ -26,9 +26,6 @@
 import org.apache.jmeter.threads.JMeterContextService;
 import org.apache.jmeter.threads.JMeterVariables;
 
-/**
- * @version $Revision$
- */
 public class TestXPathExtractor extends TestCase {
                XPathExtractor extractor;
 
@@ -51,13 +48,42 @@
                        extractor.setRefName(VAL_NAME);
             extractor.setDefaultValue("Default");
                        result = new SampleResult();
-                       String data = 
"<book><preface>zero</preface><page>one</page><page>two</page></book>";
+                       String data = "<book><preface 
title='Intro'>zero</preface><page>one</page><page>two</page><empty></empty><a><b></b></a></book>";
                        result.setResponseData(data.getBytes());
                        vars = new JMeterVariables();
                        jmctx.setVariables(vars);
                        jmctx.setPreviousResult(result);
                }
 
+               public void testAttributeExtraction() throws Exception {
+                       extractor.setXPathQuery("/book/preface/@title");
+                       extractor.process();
+                       assertEquals("Intro", vars.get(VAL_NAME));
+            assertEquals("1", vars.get(VAL_NAME_NR));
+            assertEquals("Intro", vars.get(VAL_NAME+"_1"));
+            assertNull(vars.get(VAL_NAME+"_2"));
+
+            extractor.setXPathQuery("/book/[EMAIL PROTECTED]");
+                       extractor.process();
+                       assertEquals("zero", vars.get(VAL_NAME));
+            assertEquals("1", vars.get(VAL_NAME_NR));
+            assertEquals("zero", vars.get(VAL_NAME+"_1"));
+            assertNull(vars.get(VAL_NAME+"_2"));
+
+            extractor.setXPathQuery("/book/[EMAIL PROTECTED]'Intro']");
+                       extractor.process();
+                       assertEquals("zero", vars.get(VAL_NAME));
+            assertEquals("1", vars.get(VAL_NAME_NR));
+            assertEquals("zero", vars.get(VAL_NAME+"_1"));
+            assertNull(vars.get(VAL_NAME+"_2"));
+
+            extractor.setXPathQuery("/book/[EMAIL PROTECTED]'xyz']");
+                       extractor.process();
+                       assertEquals("Default", vars.get(VAL_NAME));
+            assertEquals("0", vars.get(VAL_NAME_NR));
+            assertNull(vars.get(VAL_NAME+"_1"));
+               }
+               
         public void testVariableExtraction() throws Exception {
                        extractor.setXPathQuery("/book/preface");
                        extractor.process();
@@ -88,6 +114,19 @@
             assertEquals("0", vars.get(VAL_NAME_NR));
             assertNull(vars.get(VAL_NAME+"_1"));
 
+            // Has child, but child is empty
+            extractor.setXPathQuery("/book/a");
+            extractor.process();
+            assertEquals("Default", vars.get(VAL_NAME));
+            assertEquals("1", vars.get(VAL_NAME_NR));
+            assertNull(vars.get(VAL_NAME+"_1"));
+
+            // Has no child
+            extractor.setXPathQuery("/book/empty");
+            extractor.process();
+            assertEquals("Default", vars.get(VAL_NAME));
+            assertEquals("1", vars.get(VAL_NAME_NR));
+            assertNull(vars.get(VAL_NAME+"_1"));
         }
 
         public void testInvalidXpath() throws Exception {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to