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]