diff --git a/src/Traversal.UnitTests/TraversalTests.cs b/src/Traversal.UnitTests/TraversalTests.cs index d6d85d20..6c2ae3d3 100644 --- a/src/Traversal.UnitTests/TraversalTests.cs +++ b/src/Traversal.UnitTests/TraversalTests.cs @@ -16,6 +16,40 @@ namespace Microsoft.Build.Traversal.UnitTests { public class TraversalTests : MSBuildSdkTestBase { + [Theory] + [InlineData("dirs.proj")] + [InlineData("Dirs.proj")] + [InlineData("Dirs.Proj")] + [InlineData("DiRs.PrOj")] + public void IsTraversalPropertyCaseInsensitive(string projectName) + { + ProjectCreator + .Templates + .TraversalProject( + new string[0], + path: GetTempFile(projectName)) + .Save() + .TryGetPropertyValue("IsTraversal", out string isTraversal); + + isTraversal.ShouldBe("true", StringCompareShould.IgnoreCase); + } + + [Theory] + [InlineData("dirs.proj", "true")] + [InlineData("asdf.proj", "")] + public void IsTraversalPropertySetCorrectly(string projectName, string expectedValue) + { + ProjectCreator + .Templates + .TraversalProject( + new string[0], + path: GetTempFile(projectName)) + .Save() + .TryGetPropertyValue("IsTraversal", out string isTraversal); + + isTraversal.ShouldBe(expectedValue, StringCompareShould.IgnoreCase); + } + [Fact] public void SkipsNonExistentTargets() { diff --git a/src/Traversal/Sdk/Sdk.props b/src/Traversal/Sdk/Sdk.props index 1ecc9a72..6e84b157 100644 --- a/src/Traversal/Sdk/Sdk.props +++ b/src/Traversal/Sdk/Sdk.props @@ -19,7 +19,7 @@ dirs.proj $([System.Convert]::ToBoolean($(IsTraversal))) - true + true