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