From 9972bf87b4f27d9c8f358ef8414ac1ab957a2f0f Mon Sep 17 00:00:00 2001 From: Jo Shields Date: Wed, 19 Feb 2014 22:12:43 +0000 Subject: Imported Upstream version 3.2.8+dfsg --- .../Microsoft.Build.BuildEngine/BuildItemTest.cs | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/BuildItemTest.cs') diff --git a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/BuildItemTest.cs b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/BuildItemTest.cs index e580d358ed..918c3ff8ae 100644 --- a/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/BuildItemTest.cs +++ b/mcs/class/Microsoft.Build.Engine/Test/Microsoft.Build.BuildEngine/BuildItemTest.cs @@ -284,6 +284,40 @@ namespace MonoTests.Microsoft.Build.BuildEngine { Assert.AreEqual (String.Empty, item.GetMetadata ("AccessedTime"), "A13"); } + [Test] + public void GetMetadata_UnescapedItemSpec () + { + string itemInclude = "a;b;c"; + string escapedItemInclude = Utilities.Escape (itemInclude); + + item = new BuildItem ("name", itemInclude); + Assert.IsTrue (item.GetMetadata ("FullPath").EndsWith (escapedItemInclude), "#1a"); + Assert.IsTrue (item.GetEvaluatedMetadata ("FullPath").EndsWith (itemInclude), "#1b"); + + Assert.AreEqual (itemInclude, item.GetMetadata ("FileName"), "#2b"); + Assert.AreEqual (itemInclude, item.GetEvaluatedMetadata ("FileName"), "#2b"); + + Assert.AreEqual (itemInclude, item.GetMetadata ("Identity"), "#3a"); + Assert.AreEqual (itemInclude, item.GetEvaluatedMetadata ("Identity"), "#3b"); + } + + [Test] + public void GetMetadata_EscapedItemSpec () + { + string itemInclude = "a;b;c"; + string escapedItemInclude = Utilities.Escape (itemInclude); + + item = new BuildItem ("name", escapedItemInclude); + Assert.IsTrue (item.GetMetadata ("FullPath").EndsWith (escapedItemInclude), "#1a"); + Assert.IsTrue (item.GetEvaluatedMetadata ("FullPath").EndsWith (itemInclude), "#1b"); + + Assert.AreEqual (escapedItemInclude, item.GetMetadata ("FileName"), "#2b"); + Assert.AreEqual (itemInclude, item.GetEvaluatedMetadata ("FileName"), "#2b"); + + Assert.AreEqual (escapedItemInclude, item.GetMetadata ("Identity"), "#3a"); + Assert.AreEqual ("a;b;c", item.GetEvaluatedMetadata ("Identity"), "#3b"); + } + [Test] [ExpectedException (typeof (ArgumentNullException))] public void TestGetMetadata2 () -- cgit v1.2.3