diff options
author | Atsushi Eno <atsushieno@gmail.com> | 2014-05-20 11:18:55 +0400 |
---|---|---|
committer | Atsushi Eno <atsushieno@gmail.com> | 2014-05-20 11:20:56 +0400 |
commit | 957b3a4a5d250095aa489ef14a260a0338c15acb (patch) | |
tree | 80d3d0a104961ab9c84c771a814b3eedbeb9a54c /mcs/class/Microsoft.Build/Test | |
parent | 79492ddd92534063975dcac11020ca686760908c (diff) |
[MS.Build] add internal expression debugging helper strings.
Diffstat (limited to 'mcs/class/Microsoft.Build/Test')
-rw-r--r-- | mcs/class/Microsoft.Build/Test/Microsoft.Build.Internal/ExpressionParserTest.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/mcs/class/Microsoft.Build/Test/Microsoft.Build.Internal/ExpressionParserTest.cs b/mcs/class/Microsoft.Build/Test/Microsoft.Build.Internal/ExpressionParserTest.cs index 89feec3399f..ebd662e249f 100644 --- a/mcs/class/Microsoft.Build/Test/Microsoft.Build.Internal/ExpressionParserTest.cs +++ b/mcs/class/Microsoft.Build/Test/Microsoft.Build.Internal/ExpressionParserTest.cs @@ -309,6 +309,32 @@ namespace MonoTests.Microsoft.Build.Internal var result = p.Build (new ILogger [] { new ConsoleLogger (LoggerVerbosity.Minimal, sw.WriteLine, null, null)}); Assert.IsTrue (result, "#1: " + sw); } + + [Test] + public void MultipleBinaryCondition () + { + string cond = @"$(AndroidIncludeDebugSymbols) == '' And Exists ('$(_IntermediatePdbFile)') And '$(OS)' == 'Windows_NT'"; + string project_xml = @"<Project xmlns='http://schemas.microsoft.com/developer/msbuild/2003'> + <PropertyGroup> + <X>a/b/c.txt</X> + </PropertyGroup> + <Target Name='Foo'> + <CreateItem Include='$(X)'> + <Output TaskParameter='Include' ItemName='I' /> + </CreateItem> + <CreateProperty Value=""@(I->'%(Filename)%(Extension)')""> + <Output TaskParameter='Value' PropertyName='P' /> + </CreateProperty> + <Error Text=""Expected 'c.txt' but got '$(P)'"" Condition=""" + cond + @""" /> + </Target> +</Project>"; + var xml = XmlReader.Create (new StringReader (project_xml)); + var root = ProjectRootElement.Create (xml); + var p = new ProjectInstance (root); + var sw = new StringWriter (); + var result = p.Build (new ILogger [] { new ConsoleLogger (LoggerVerbosity.Minimal, sw.WriteLine, null, null)}); + Assert.IsTrue (result, "#1: " + sw); + } } } |