Author: sebb
Date: Thu May  7 14:18:19 2009
New Revision: 772656

URL: http://svn.apache.org/viewvc?rev=772656&view=rev
Log:
Cannot fix Bug 46831, but need to ensure compatible behaviour

Modified:
    jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/PackageTest.java

Modified: 
jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/PackageTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/PackageTest.java?rev=772656&r1=772655&r2=772656&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/PackageTest.java 
(original)
+++ 
jakarta/jmeter/trunk/test/src/org/apache/jmeter/engine/util/PackageTest.java 
Thu May  7 14:18:19 2009
@@ -157,23 +157,44 @@
                assertEquals("$3.47,$5.67", newProp.getStringValue());
        }
 
-       // Escaped dollar with no variable reference
+       // Escaped dollar commma and backslash with no variable reference
     public void testParseExample11() throws Exception {
-        StringProperty prop = new StringProperty("html", "\\$a 
jakarta.apache.org");
+        StringProperty prop = new StringProperty("html", "\\$a \\, \\\\ 
jakarta.apache.org");
         JMeterProperty newProp = transformer.transformValue(prop);
         newProp.setRunningVersion(true);
         assertEquals("org.apache.jmeter.testelement.property.StringProperty", 
newProp.getClass().getName());
-        assertEquals("\\$a jakarta.apache.org", newProp.getStringValue());
+        assertEquals("\\$a \\, \\\\ jakarta.apache.org", 
newProp.getStringValue());
     }
 
-    // Escaped dollar with variable reference
-    // TODO - currently fails - see Bug 46831
-    public void xtestParseExample12() throws Exception {
-        StringProperty prop = new StringProperty("html", "\\$a ${server}");
+    // N.B. See Bug 46831 which wanted to changed the behaviour of \$
+    // It's too late now, as this would invalidate some existing test plans,
+    // so document the current behaviour with some more tests.
+    
+    // Escaped dollar commma and backslash with variable reference
+    public void testParseExample12() throws Exception {
+        StringProperty prop = new StringProperty("html", "\\$a \\, \\\\ 
${server} \\$b \\, \\\\ cd");
         JMeterProperty newProp = transformer.transformValue(prop);
         newProp.setRunningVersion(true);
-        
assertEquals("org.apache.jmeter.testelement.property.FunctionProperty", 
newProp.getClass().getName());
-        assertEquals("\\$a jakarta.apache.org", newProp.getStringValue());
+        // N.B. Backslashes are removed before dollar, comma and backslash
+        assertEquals("$a , \\ jakarta.apache.org $b , \\ cd", 
newProp.getStringValue());
+    }
+
+    // Escaped dollar commma and backslash with missing variable reference
+    public void testParseExample13() throws Exception {
+        StringProperty prop = new StringProperty("html", "\\$a \\, \\\\ 
${missing} \\$b \\, \\\\ cd");
+        JMeterProperty newProp = transformer.transformValue(prop);
+        newProp.setRunningVersion(true);
+        // N.B. Backslashes are removed before dollar, comma and backslash
+        assertEquals("$a , \\ ${missing} $b , \\ cd", 
newProp.getStringValue());
+    }
+
+    // Escaped dollar commma and backslash with missing function reference
+    public void testParseExample14() throws Exception {
+        StringProperty prop = new StringProperty("html", "\\$a \\, \\\\ 
${__missing(a)} \\$b \\, \\\\ cd");
+        JMeterProperty newProp = transformer.transformValue(prop);
+        newProp.setRunningVersion(true);
+        // N.B. Backslashes are removed before dollar, comma and backslash
+        assertEquals("$a , \\ ${__missing(a)} $b , \\ cd", 
newProp.getStringValue());
     }
 
        public void testNestedExample1() throws Exception {



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org

Reply via email to