2007-05-16 Marek Sieradzki <marek.sieradzki@gmail.com>
authorMarek Sieradzki <msierad@mono-cvs.ximian.com>
Tue, 15 May 2007 22:10:53 +0000 (22:10 -0000)
committerMarek Sieradzki <msierad@mono-cvs.ximian.com>
Tue, 15 May 2007 22:10:53 +0000 (22:10 -0000)
        * CommandLineBuilderTest.cs: Added tests for filenames that contain
        spaces.

svn path=/trunk/mcs/; revision=77442

mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/ChangeLog
mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/CommandLineBuilderTest.cs

index 50aa58c5607e50bb04ae632021428623e78425f5..058dc5ce4f3ea8d63c6cf5acbf655fadceab4d20 100644 (file)
@@ -1,3 +1,8 @@
+2007-05-16  Marek Sieradzki  <marek.sieradzki@gmail.com>
+
+       * CommandLineBuilderTest.cs: Added tests for filenames that contain
+       spaces.
+
 2006-12-19  Marek Sieradzki  <marek.sieradzki@gmail.com>
 
        * CommandLineBuilderTest.cs, TaskItemTest.cs: More tests.
index aa61d7526818e3cc5defbdfb7fe3f089a97e34c3..2c8eda0e063a911004c83782207f7f6828ab0215 100644 (file)
@@ -100,6 +100,13 @@ namespace MonoTests.Microsoft.Build.Utilities {
                        clb.AppendFileNameIfNotNull (item);
                        
                        Assert.AreEqual (itemSpec, clb.ToString (), "A1");
+
+                       item = new TaskItem ();
+                       item.ItemSpec = itemSpec = "a b";
+                       clb = new CommandLineBuilder ();
+                       clb.AppendFileNameIfNotNull (item);
+
+                       Assert.AreEqual ("\"" + itemSpec + "\"", clb.ToString (), "A2");
                }
                
                [Test]
@@ -108,11 +115,16 @@ namespace MonoTests.Microsoft.Build.Utilities {
                        
                        string filename = "filename.txt";
                        
-                       clb = new CommandLineBuilder ();
-                       
+                       clb = new CommandLineBuilder ();        
                        clb.AppendFileNameIfNotNull (filename);
                        
                        Assert.AreEqual (filename, clb.ToString (), "A1");
+
+                       filename = "a b";
+                       clb = new CommandLineBuilder ();
+                       clb.AppendFileNameIfNotNull (filename);
+
+                       Assert.AreEqual ("\"" + filename + "\"", clb.ToString (), "A2");
                }
 
                [Test]
@@ -162,6 +174,11 @@ namespace MonoTests.Microsoft.Build.Utilities {
                        clb.AppendFileNamesIfNotNull ((string[]) null, "sep");
                        
                        Assert.AreEqual ("a\tb\tc", clb.ToString (), "A3");
+
+                       clb = new CommandLineBuilder ();
+                       clb.AppendFileNamesIfNotNull (new string [] { "a", "b c"}, " ");
+
+                       Assert.AreEqual ("a \"b c\"", clb.ToString (), "A4");
                }
                
                [Test]
@@ -185,6 +202,11 @@ namespace MonoTests.Microsoft.Build.Utilities {
                        clb.AppendFileNamesIfNotNull ((ITaskItem[]) null, "sep");
                        
                        Assert.AreEqual ("ab", clb.ToString (), "A2");
+
+                       clb = new CommandLineBuilder ();
+                       clb.AppendFileNamesIfNotNull (new ITaskItem [] { new TaskItem ("a"), new TaskItem ("b c") }, " ");
+
+                       Assert.AreEqual ("a \"b c\"", clb.ToString (), "A3");
                }
 
                [Test]
@@ -523,18 +545,18 @@ namespace MonoTests.Microsoft.Build.Utilities {
                {
                        CLBTester clbt = new CLBTester ();
 
-                       Assert.AreEqual (false, clbt.IsQuotingRequired(""), "A1");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired(" "), "A2");
-                       Assert.AreEqual (false, clbt.IsQuotingRequired("a"), "A3");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("a a"), "A4");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\'\'"), "A5");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\' \'"), "A6");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\"\""), "A7");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\" \""), "A8");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\n\n"), "A9");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\n \n"), "A10");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\t\t"), "A11");
-                       Assert.AreEqual (true, clbt.IsQuotingRequired("\t \t"), "A12");
+                       Assert.AreEqual (false, clbt.IsQuotingRequired (""), "A1");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired (" "), "A2");
+                       Assert.AreEqual (false, clbt.IsQuotingRequired ("a"), "A3");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("a a"), "A4");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\'\'"), "A5");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\' \'"), "A6");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\"\""), "A7");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\" \""), "A8");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\n\n"), "A9");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\n \n"), "A10");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\t\t"), "A11");
+                       Assert.AreEqual (true, clbt.IsQuotingRequired ("\t \t"), "A12");
                }
 
                [Test]