private void TestEscaping(string prefix, string open, string close, string content, string expectedContent, int expectedTagCount = 0, string expectedTagName = "", string expectedTagContent = "", IDictionary <string, string> args = null) { var doc = new MacroDocParser(prefix, open, close); var result = doc.Parse(content); Assert.AreEqual(result.Content, expectedContent); Assert.AreEqual(result.Tags.Count, expectedTagCount); if (result.Tags.Count == 0) { return; } var first = result.Tags[0]; if (!string.IsNullOrEmpty(expectedTagName)) { Assert.AreEqual(first.Name, expectedTagName); } if (!string.IsNullOrEmpty(expectedTagContent)) { Assert.AreEqual(first.InnerContent, expectedTagContent); } foreach (var pair in args) { Assert.IsTrue(first.Attributes.Contains(pair.Key)); Assert.AreEqual(first.Attributes[pair.Key], pair.Value); } }
private void Test1(string prefix, string open, string close, string content, string expectedTagName, string expectedTagContent, IDictionary <string, string> args, int expectedTagPosition = 0, string expectedContent = "") { var doc = new MacroDocParser(prefix, open, close); var result = doc.Parse(content); var first = result.Tags[0]; Assert.AreEqual(result.Content, expectedContent); Assert.AreEqual(result.Tags.Count, 1); Assert.AreEqual(first.Position, expectedTagPosition); Assert.AreEqual(first.Name, expectedTagName); Assert.AreEqual(first.InnerContent, expectedTagContent); if (args == null) { return; } foreach (var pair in args) { Assert.IsTrue(first.Attributes.Contains(pair.Key)); Assert.AreEqual(first.Attributes[pair.Key], pair.Value); } }