public void IsValidTag() { Assert.False(SecurityElement.IsValidTag("x x")); Assert.False(SecurityElement.IsValidTag("x<x")); Assert.False(SecurityElement.IsValidTag("x>x")); Assert.True(SecurityElement.IsValidTag("x\"x")); Assert.True(SecurityElement.IsValidTag("x'x")); Assert.True(SecurityElement.IsValidTag("x&x")); Assert.False(SecurityElement.IsValidTag(null)); Assert.True(SecurityElement.IsValidTag(string.Empty)); }
public void IsValidTag() { Assert.IsFalse(SecurityElement.IsValidTag("x x"), "#1"); Assert.IsFalse(SecurityElement.IsValidTag("x<x"), "#2"); Assert.IsFalse(SecurityElement.IsValidTag("x>x"), "#3"); Assert.IsTrue(SecurityElement.IsValidTag("x\"x"), "#4"); Assert.IsTrue(SecurityElement.IsValidTag("x'x"), "#5"); Assert.IsTrue(SecurityElement.IsValidTag("x&x"), "#6"); Assert.IsFalse(SecurityElement.IsValidTag(null), "#7"); Assert.IsTrue(SecurityElement.IsValidTag(string.Empty), "#8"); }
// Add a child element to the specified security element. private static SecurityElement AddChildElement( SecurityElement parentElement, string tagName, string tagText) { if (parentElement != null) { // Ensure that the tag text is in valid XML format. //<Snippet9> if (!SecurityElement.IsValidText(tagText)) //</Snippet9> { // Replace invalid text with valid XML text // to enforce proper XML formatting. //<Snippet19> tagText = SecurityElement.Escape(tagText); //</Snippet19> } // Determine whether the tag is in valid XML format. //<Snippet10> if (SecurityElement.IsValidTag(tagName)) //</Snippet10> { //<Snippet24> SecurityElement childElement; childElement = parentElement.SearchForChildByTag(tagName); //</Snippet24> if (childElement != null) { //<Snippet25> String elementText; elementText = parentElement.SearchForTextOfTag(tagName); //</Snippet25> if (!elementText.Equals(tagText)) { // Add child element to the parent security element. parentElement.AddChild( new SecurityElement(tagName, tagText)); } } else { // Add child element to the parent security element. parentElement.AddChild( new SecurityElement(tagName, tagText)); } } } return(parentElement); }
// Test the valid string testing operators. public void TestSecurityElementValidStrings() { Assert("ValidAttrName (1)", !SecurityElement.IsValidAttributeName(null)); Assert("ValidAttrName (2)", !SecurityElement.IsValidAttributeName("")); Assert("ValidAttrName (3)", !SecurityElement.IsValidAttributeName("a<b")); Assert("ValidAttrName (4)", !SecurityElement.IsValidAttributeName("a>b")); Assert("ValidAttrName (5)", !SecurityElement.IsValidAttributeName("&")); Assert("ValidAttrName (6)", !SecurityElement.IsValidAttributeName(" ")); Assert("ValidAttrName (7)", SecurityElement.IsValidAttributeName("fooBar")); Assert("ValidAttrName (8)", SecurityElement.IsValidAttributeName("123")); Assert("ValidAttrValue (1)", !SecurityElement.IsValidAttributeValue(null)); Assert("ValidAttrValue (2)", SecurityElement.IsValidAttributeValue("")); Assert("ValidAttrValue (3)", !SecurityElement.IsValidAttributeValue("a<b")); Assert("ValidAttrValue (4)", !SecurityElement.IsValidAttributeValue("a>b")); Assert("ValidAttrValue (5)", SecurityElement.IsValidAttributeValue("&")); Assert("ValidAttrValue (6)", SecurityElement.IsValidAttributeValue(" ")); Assert("ValidAttrValue (7)", SecurityElement.IsValidAttributeValue("fooBar")); Assert("ValidAttrValue (8)", SecurityElement.IsValidAttributeValue("123")); Assert("ValidAttrValue (9)", !SecurityElement.IsValidAttributeValue("\"")); Assert("ValidTag (1)", !SecurityElement.IsValidTag(null)); Assert("ValidTag (2)", !SecurityElement.IsValidTag("")); Assert("ValidTag (3)", !SecurityElement.IsValidTag("a<b")); Assert("ValidTag (4)", !SecurityElement.IsValidTag("a>b")); Assert("ValidTag (5)", !SecurityElement.IsValidTag("&")); Assert("ValidTag (6)", !SecurityElement.IsValidTag(" ")); Assert("ValidTag (7)", SecurityElement.IsValidTag("fooBar")); Assert("ValidTag (8)", SecurityElement.IsValidTag("123")); Assert("ValidText (1)", !SecurityElement.IsValidText(null)); Assert("ValidText (2)", SecurityElement.IsValidText("")); Assert("ValidText (3)", !SecurityElement.IsValidText("a<b")); Assert("ValidText (4)", !SecurityElement.IsValidText("a>b")); Assert("ValidText (5)", SecurityElement.IsValidText("&")); Assert("ValidText (6)", SecurityElement.IsValidText(" ")); Assert("ValidText (7)", SecurityElement.IsValidText("fooBar")); Assert("ValidText (8)", SecurityElement.IsValidText("123")); Assert("ValidText (9)", SecurityElement.IsValidText("\"")); }