예제 #1
0
        public void FromXml_WrongTagCase()
        {
            UIPermission    uip = new UIPermission(PermissionState.None);
            SecurityElement se  = uip.ToXml();

            se.Tag = "IPERMISSION";             // instead of IPermission
            uip.FromXml(se);
        }
예제 #2
0
        public void FromXml_NoVersion()
        {
            UIPermission    uip = new UIPermission(PermissionState.None);
            SecurityElement se  = uip.ToXml();

            SecurityElement w = new SecurityElement(se.Tag);

            w.AddAttribute("class", se.Attribute("class"));
            uip.FromXml(w);
        }
예제 #3
0
        public void FromXml_NoClass()
        {
            UIPermission    uip = new UIPermission(PermissionState.None);
            SecurityElement se  = uip.ToXml();

            SecurityElement w = new SecurityElement(se.Tag);

            w.AddAttribute("version", se.Attribute("version"));
            uip.FromXml(w);
            // doesn't even care of the class attribute presence
        }
예제 #4
0
        public void FromXml_WrongClass()
        {
            UIPermission    uip = new UIPermission(PermissionState.None);
            SecurityElement se  = uip.ToXml();

            SecurityElement w = new SecurityElement(se.Tag);

            w.AddAttribute("class", "Wrong" + se.Attribute("class"));
            w.AddAttribute("version", se.Attribute("version"));
            uip.FromXml(w);
            // doesn't care of the class name at that stage
            // anyway the class has already be created so...
        }
예제 #5
0
        public void Unrestricted()
        {
            UIPermission    uip = new UIPermission(PermissionState.None);
            SecurityElement se  = uip.ToXml();

            // attribute value is not case-sensitive
            se.AddAttribute("Unrestricted", "TRUE");
            uip.FromXml(se);
            Assert.IsTrue(uip.IsUnrestricted(), "IsUnrestricted-TRUE");

            uip = new UIPermission(PermissionState.None);
            // attribute name is not case-sensitive either!!!
            se.AddAttribute("UNRESTRICTED", "TRUE");
            uip.FromXml(se);
            Assert.IsTrue(uip.IsUnrestricted(), "IsUnrestricted-UPPER");
        }
예제 #6
0
        public static void UIPermissionCallMethods()
        {
            UIPermission uip      = new UIPermission(new PermissionState());
            UIPermission uip2     = new UIPermission(new UIPermissionClipboard());
            UIPermission uip3     = new UIPermission(new UIPermissionWindow());
            UIPermission uip4     = new UIPermission(new UIPermissionWindow(), new UIPermissionClipboard());
            IPermission  ip       = uip.Copy();
            IPermission  ip2      = uip.Intersect(ip);
            bool         testbool = uip.IsSubsetOf(ip);

            testbool = uip.IsUnrestricted();
            ip2      = uip.Union(ip);
            SecurityElement se = new SecurityElement("");

            uip.FromXml(se);
            se = uip.ToXml();
        }
예제 #7
0
        public void PermissionStateUnrestricted()
        {
            UIPermission uip = new UIPermission(PermissionState.Unrestricted);

            Assert.AreEqual(UIPermissionClipboard.AllClipboard, uip.Clipboard, "Clipboard");
            Assert.AreEqual(UIPermissionWindow.AllWindows, uip.Window, "Window");
            Assert.IsTrue(uip.IsUnrestricted(), "IsUnrestricted");

            SecurityElement se = uip.ToXml();

            Assert.AreEqual("true", se.Attribute("Unrestricted"), "Xml-Unrestricted");

            UIPermission copy = (UIPermission)uip.Copy();

            Assert.AreEqual(UIPermissionClipboard.AllClipboard, uip.Clipboard, "Copy-Clipboard");
            Assert.AreEqual(UIPermissionWindow.AllWindows, uip.Window, "Copy-Window");
            Assert.IsTrue(uip.IsUnrestricted(), "Copy-IsUnrestricted");
        }
예제 #8
0
        public void PermissionStateNone()
        {
            UIPermission uip = new UIPermission(PermissionState.None);

            Assert.AreEqual(UIPermissionClipboard.NoClipboard, uip.Clipboard, "Clipboard");
            Assert.AreEqual(UIPermissionWindow.NoWindows, uip.Window, "Window");
            Assert.IsFalse(uip.IsUnrestricted(), "IsUnrestricted");

            SecurityElement se = uip.ToXml();

            Assert.IsNull(se.Attribute("Unrestricted"), "Xml-Unrestricted");

            UIPermission copy = (UIPermission)uip.Copy();

            Assert.AreEqual(UIPermissionClipboard.NoClipboard, uip.Clipboard, "Copy-Clipboard");
            Assert.AreEqual(UIPermissionWindow.NoWindows, uip.Window, "Copy-Window");
            Assert.IsFalse(uip.IsUnrestricted(), "Copy-IsUnrestricted");
        }
예제 #9
0
    //</Snippet5>
    //<Snippet6>
    // ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
    // permission with the specified state from the XML encoding.
    private static void ToFromXmlDemo()
    {
        UIPermission uiPerm1 = new UIPermission(UIPermissionWindow.SafeTopLevelWindows);
        UIPermission uiPerm2 = new UIPermission(PermissionState.None);

        uiPerm2.FromXml(uiPerm1.ToXml());
        bool result = uiPerm2.Equals(uiPerm1);

        if (result)
        {
            Console.WriteLine("Result of ToFromXml = " + uiPerm2.ToString());
        }
        else
        {
            Console.WriteLine(uiPerm2.ToString());
            Console.WriteLine(uiPerm1.ToString());
        }
    }
예제 #10
0
 public static void UIPermissionCallMethods()
 {
     UIPermission uip = new UIPermission(new PermissionState());
     UIPermission uip2 = new UIPermission(new UIPermissionClipboard());
     UIPermission uip3 = new UIPermission(new UIPermissionWindow());
     UIPermission uip4 = new UIPermission(new UIPermissionWindow(), new UIPermissionClipboard());
     IPermission ip = uip.Copy();
     IPermission ip2 = uip.Intersect(ip);
     bool testbool = uip.IsSubsetOf(ip);
     testbool = uip.IsUnrestricted();
     ip2 = uip.Union(ip);
     SecurityElement se = new SecurityElement("");
     uip.FromXml(se);
     se = uip.ToXml();
 }