/// <summary> /// Helper for metadata escaping tests /// </summary> private void SpecialCharactersInMetadataValueTests(net.r_eg.IeXod.Evaluation.ProjectItem item) { Assert.Equal("%3B", item.GetMetadata("EscapedSemicolon").UnevaluatedValue); Assert.Equal(";", item.GetMetadata("EscapedSemicolon").EvaluatedValue); Assert.Equal(";", item.GetMetadataValue("EscapedSemicolon")); Assert.Equal("%24", item.GetMetadata("EscapedDollarSign").UnevaluatedValue); Assert.Equal("$", item.GetMetadata("EscapedDollarSign").EvaluatedValue); Assert.Equal("$", item.GetMetadataValue("EscapedDollarSign")); }
public void SpecialCharactersInMetadataValueConstruction() { string projectString = ObjectModelHelpers.CleanupFileContents(@"<Project DefaultTargets=""Build"" ToolsVersion=""msbuilddefaulttoolsversion"" xmlns=""msbuildnamespace""> <ItemGroup> <None Include='MetadataTests'> <EscapedSemicolon>%3B</EscapedSemicolon> <EscapedDollarSign>%24</EscapedDollarSign> </None> </ItemGroup> </Project>"); System.Xml.XmlReader reader = XmlReader.Create(new StringReader(projectString)); net.r_eg.IeXod.Evaluation.Project project = new net.r_eg.IeXod.Evaluation.Project(reader); net.r_eg.IeXod.Evaluation.ProjectItem item = project.GetItems("None").Single(); SpecialCharactersInMetadataValueTests(item); }
public void SpecialCharactersInMetadataValueEvaluation() { net.r_eg.IeXod.Evaluation.Project project = new net.r_eg.IeXod.Evaluation.Project(); var metadata = new Dictionary <string, string> { { "EscapedSemicolon", "%3B" }, // net.r_eg.IeXod.Internal.Utilities.Escape(";") { "EscapedDollarSign", "%24" }, // net.r_eg.IeXod.Internal.Utilities.Escape("$") }; net.r_eg.IeXod.Evaluation.ProjectItem item = project.AddItem( "None", "MetadataTests", metadata).Single(); SpecialCharactersInMetadataValueTests(item); project.ReevaluateIfNecessary(); SpecialCharactersInMetadataValueTests(item); }