[xbuild] Add string to char[] argument conversion
authorMarek Safar <marek.safar@gmail.com>
Sat, 17 May 2014 09:25:54 +0000 (11:25 +0200)
committerMarek Safar <marek.safar@gmail.com>
Mon, 19 May 2014 08:03:07 +0000 (10:03 +0200)
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/MemberInvocationReference.cs
mcs/class/Microsoft.Build.Engine/Test/various/Properties.cs

index 85185c44723b5412c0e55b3e11c1092f82358d70..ada57788f2a2e18ccc41690861e67912df33a63a 100644 (file)
@@ -184,6 +184,10 @@ namespace Microsoft.Build.BuildEngine
                                var s = value as string;
                                if (s != null)
                                        return ConvertToEnum (s, ptype);
+                       } else if (ptype == typeof (char[])) {
+                               var s = value as string;
+                               if (s != null)
+                                       return s.ToCharArray ();
                        }
 
                        try {
index ba809fc5c1129cf6221788c3e2ece3148157719f..fba19683c18aeb799a09d5f4eaa23888737574e8 100644 (file)
@@ -1,8 +1,9 @@
 //
 // Properties.cs
 //
-// Author:
+// Authors:
 //   Marek Sieradzki (marek.sieradzki@gmail.com)
+//   Marek Safar (marek.safar@gmail.com)
 //
 // (C) 2006 Marek Sieradzki
 //
@@ -99,10 +100,12 @@ namespace MonoTests.Microsoft.Build.BuildEngine.Various {
                                                <PropertyGroup>
                                                        <Config>debug</Config>
                                                        <NullValue>null</NullValue>
+                                                       <TargetValue>  </TargetValue>
                                                        <Prop1>$(Config.Substring(0,3)) </Prop1>
                                                        <Prop2>$(Config.Length )</Prop2>
                                                        <Prop3>$(Config.StartsWith ('DE', System.StringComparison.OrdinalIgnoreCase))</Prop3>
                                                        <Prop4>$(NullValue.StartsWith ('Te', StringComparison.OrdinalIgnoreCase))</Prop4>
+                                                       <Prop5>$(TargetValue.Trim('\\'))</Prop5>
                                                </PropertyGroup>
                                        </Project>
                                ";
@@ -112,6 +115,7 @@ namespace MonoTests.Microsoft.Build.BuildEngine.Various {
                        Assert.AreEqual ("5", proj.GetEvaluatedProperty ("Prop2"), "#2");
                        Assert.AreEqual ("True", proj.GetEvaluatedProperty ("Prop3"), "#3");
                        Assert.AreEqual ("False", proj.GetEvaluatedProperty ("Prop4"), "#4");
+                       Assert.AreEqual ("", proj.GetEvaluatedProperty ("Prop5"), "#5");
                }
 
                [Test]