Пример #1
0
 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);
    }
Пример #4
0
    // 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("&amp;"));
        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("&amp;"));
        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("&amp;"));
        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("&amp;"));
        Assert("ValidText (6)",
               SecurityElement.IsValidText(" "));
        Assert("ValidText (7)",
               SecurityElement.IsValidText("fooBar"));
        Assert("ValidText (8)",
               SecurityElement.IsValidText("123"));
        Assert("ValidText (9)",
               SecurityElement.IsValidText("\""));
    }