Author: sebb
Date: Sun Apr 26 15:01:06 2009
New Revision: 768716

URL: http://svn.apache.org/viewvc?rev=768716&view=rev
Log:
setSubMap only needs to be called once
Add test to correspond with new Tutorial example

Modified:
    
commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/CommandLineTest.java

Modified: 
commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/CommandLineTest.java
URL: 
http://svn.apache.org/viewvc/commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/CommandLineTest.java?rev=768716&r1=768715&r2=768716&view=diff
==============================================================================
--- 
commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/CommandLineTest.java
 (original)
+++ 
commons/proper/exec/trunk/src/test/java/org/apache/commons/exec/CommandLineTest.java
 Sun Apr 26 15:01:06 2009
@@ -353,9 +353,9 @@
 
         // build the command line
         cmdl = new CommandLine("${JAVA_HOME}\\bin\\java");
-        cmdl.addArguments("-class");
-        cmdl.addArguments("${appMainClass}");
-        cmdl.addArguments("${file}");
+        cmdl.addArgument("-class");
+        cmdl.addArgument("${appMainClass}");
+        cmdl.addArgument("${file}");
 
         // build the first command line
         substitutionMap.put("file", "C:\\Document And 
Settings\\documents\\432431.pdf");
@@ -363,7 +363,7 @@
         result = cmdl.toStrings();
 
         // verify the first command line
-        // please note - the executable argument is changed to using platform 
specific file sperator char
+        // please note - the executable argument is changed to using platform 
specific file separator char
         // whereas all other variable substitution are not touched
         
assertEquals(StringUtils.fixFileSeparatorChar("C:\\Programme\\jdk1.5.0_12\\bin\\java"),
 result[0]);
         assertEquals("-class", result[1]);
@@ -381,7 +381,6 @@
 
         // build the second command line with updated parameters resulting in  
a different command line
         substitutionMap.put("file", "C:\\Document And 
Settings\\documents\\432432.pdf");        
-        cmdl.setSubstitutionMap(substitutionMap);
         result = cmdl.toStrings();
         
assertEquals(StringUtils.fixFileSeparatorChar("C:\\Programme\\jdk1.5.0_12\\bin\\java"),
 result[0]);
         assertEquals("-class", result[1]);
@@ -389,6 +388,21 @@
         assertEquals("C:\\Document And Settings\\documents\\432432.pdf", 
result[3]);                
     }
 
+    public void testCommandLineParsingWithExpansion3(){
+        CommandLine cmdl = CommandLine.parse("AcroRd32.exe");
+        cmdl.addArgument("/p");
+        cmdl.addArgument("/h");
+        cmdl.addArgument("${file}");
+        HashMap params = new HashMap();
+        params.put("file", "C:\\Document And Settings\\documents\\432432.pdf");
+        cmdl.setSubstitutionMap(params);
+        String[] result = cmdl.toStrings();
+        assertEquals("AcroRd32.exe", result[0]);
+        assertEquals("/p", result[1]);
+        assertEquals("/h", result[2]);
+        assertEquals("C:\\Document And Settings\\documents\\432432.pdf", 
result[3]);                
+        
+    }
     /**
      * Test the toString() method
      */


Reply via email to