Author: sebb
Date: Mon Jan  9 16:46:07 2006
New Revision: 367438

URL: http://svn.apache.org/viewcvs?rev=367438&view=rev
Log:
Don't set Regex Extractor variable on no match if default is empty

Modified:
    
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
    jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
    jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml

Modified: 
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
URL: 
http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- 
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
 (original)
+++ 
jakarta/jmeter/branches/rel-2-1/src/components/org/apache/jmeter/extractor/RegexExtractor.java
 Mon Jan  9 16:46:07 2006
@@ -97,7 +97,10 @@
                String refName = getRefName();
                int matchNumber = getMatchNumber();
 
-               vars.put(refName, getDefaultValue());
+               final String defaultValue = getDefaultValue();
+        if (defaultValue.length() > 0){// Only replace default if it is 
provided
+            vars.put(refName, defaultValue);
+        }
 
                Perl5Matcher matcher = (Perl5Matcher) localMatcher.get();
                PatternMatcherInput input = new PatternMatcherInput(
@@ -477,5 +480,17 @@
                        extractor.process();
                        assertEquals("Value1", vars.get("regVal"));
                }
+
+        public void testNoDefault() throws Exception {
+            extractor.setRegex("<value 
field=\"(pinposition\\d+)\">(\\d+)</value>");
+            extractor.setTemplate("$2$");
+            extractor.setMatchNumber(4);
+            //extractor.setDefaultValue("default");
+            vars.put("regVal", "initial");
+            assertEquals("initial", vars.get("regVal"));
+            extractor.process();
+            assertEquals("initial", vars.get("regVal"));
+        }
+
        }
 }

Modified: jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/changes.xml Mon Jan  9 16:46:07 2006
@@ -42,6 +42,7 @@
 <li>Enhanced the documentation for javascript function to explain escaping 
comma</li>
 <li>Allow CSV Data Set file names to be absolute</li>
 <li>Report Tree compiler errors better</li>
+<li>Don't reset Regex Extractor variable if default is empty</li>
 </ul>
 
 <h4>Bug fixes:</h4>

Modified: 
jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml?rev=367438&r1=367437&r2=367438&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml 
(original)
+++ jakarta/jmeter/branches/rel-2-1/xdocs/usermanual/component_reference.xml 
Mon Jan  9 16:46:07 2006
@@ -2524,7 +2524,9 @@
                        <li> Negative numbers are used in conjunction with the 
ForEach controller - see below.</li>
                </ul>
         </property>
-        <property name="Default Value" required="No">If no matches are found, 
the default value is stored in the variable.</property>
+        <property name="Default Value" required="No">
+        If no matches are found - and a default is provided - the default 
value is stored in the variable.
+        </property>
 </properties>
 <p>
        If the match number is set to a negative number, then all the possible 
matches in the sampler data are processed.



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

Reply via email to