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:
authorAlan McGovern <alan@xamarin.com>2014-01-29 01:18:57 +0400
committerAlan McGovern <alan@xamarin.com>2014-01-29 01:18:57 +0400
commit216608a1833ef04c0aeee05be5732f1e1b24f4c7 (patch)
treefcbcab440f997383ae88485583fd6d6d4f6db55b /mcs/class/Microsoft.Build.Utilities
parentd5611e8dc60099b979f3f371c84fc28f581302f6 (diff)
[Microsoft.Build.Utilities] Properly escape/unescape ItemSpec
With tests.
Diffstat (limited to 'mcs/class/Microsoft.Build.Utilities')
-rw-r--r--mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs2
-rw-r--r--mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/TaskItemTest.cs14
2 files changed, 15 insertions, 1 deletions
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs
index bbda9528245..03c018a54d9 100644
--- a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs
+++ b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs
@@ -153,7 +153,7 @@ namespace Microsoft.Build.Utilities
public string ItemSpec {
get { return MSBuildUtils.Unescape (itemSpec); }
- set { itemSpec = MSBuildUtils.Escape (value); }
+ set { itemSpec = value; }
}
public int MetadataCount {
diff --git a/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/TaskItemTest.cs b/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/TaskItemTest.cs
index 8f23aaba4e9..79e2eff5f67 100644
--- a/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/TaskItemTest.cs
+++ b/mcs/class/Microsoft.Build.Utilities/Test/Microsoft.Build.Utilities/TaskItemTest.cs
@@ -285,5 +285,19 @@ namespace MonoTests.Microsoft.Build.Utilities {
item = new TaskItem ("lalala");
item.SetMetadata ("Identity", "some value");
}
+
+ [Test]
+ public void TestSetItemSpec ()
+ {
+ var itemSpec = "foo@2x.png";
+ var escapedItemSpec = global::Microsoft.Build.BuildEngine.Utilities.Escape (itemSpec);
+
+ var item = new TaskItem ("foo");
+ item.ItemSpec = itemSpec;
+ Assert.AreEqual (itemSpec, item.ItemSpec, "#1");
+
+ item.ItemSpec = escapedItemSpec;
+ Assert.AreEqual (itemSpec, item.ItemSpec, "#2");
+ }
}
}