Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtsushi Eno <atsushieno@gmail.com>2014-05-16 16:58:38 +0400
committerAtsushi Eno <atsushieno@gmail.com>2014-05-16 17:00:05 +0400
commit4930f612ae7f58d3f6b3944da31e8f605ffa6bcc (patch)
tree55354f9af1b4fce5d78c15e2d09b724564caa8d0 /mcs/class/Microsoft.Build/Test
parent554dc2983e3b921bf326623715eb5bc1f5512da9 (diff)
[MS.Build] for item metadata access expression, remove surrounding ' and ".
The test case would explain what is not desired there.
Diffstat (limited to 'mcs/class/Microsoft.Build/Test')
-rw-r--r--mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/ProjectInstanceTest.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/ProjectInstanceTest.cs b/mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/ProjectInstanceTest.cs
index 1f33a64907f..cf41928c19c 100644
--- a/mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/ProjectInstanceTest.cs
+++ b/mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/ProjectInstanceTest.cs
@@ -235,6 +235,36 @@ namespace MonoTests.Microsoft.Build.Execution
var proj = new ProjectInstance (root);
Assert.AreEqual ("xxx;yyy", proj.ExpandString ("@(FOO)"), "#1"); // so, metadata is gone...
}
+
+ [Test]
+ public void EvaluatePropertyWithQuotation ()
+ {
+ string project_xml = @"<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
+ <ItemGroup>
+ <Foo Include='abc/xxx.txt' />
+ </ItemGroup>
+ <PropertyGroup>
+ <B>foobar</B>
+ </PropertyGroup>
+ <Target Name='default'>
+ <CreateProperty Value=""@(Foo->'%(Filename)%(Extension)')"">
+ <Output TaskParameter='Value' PropertyName='P' />
+ </CreateProperty>
+ <CreateProperty Value='$(B)|$(P)'>
+ <Output TaskParameter='Value' PropertyName='Q' />
+ </CreateProperty>
+ </Target>
+</Project>";
+ var xml = XmlReader.Create (new StringReader (project_xml));
+ var root = ProjectRootElement.Create (xml);
+ root.FullPath = "ProjectInstanceTest.EvaluatePropertyWithQuotation.proj";
+ var proj = new ProjectInstance (root);
+ proj.Build ();
+ var p = proj.GetProperty ("P");
+ Assert.AreEqual ("xxx.txt", p.EvaluatedValue, "#1");
+ var q = proj.GetProperty ("Q");
+ Assert.AreEqual ("foobar|xxx.txt", q.EvaluatedValue, "#2");
+ }
}
namespace SubNamespace