public void Union_Self() { UrlIdentityPermission uip = new UrlIdentityPermission(PermissionState.None); UrlIdentityPermission union = (UrlIdentityPermission)uip.Union(uip); Assert.IsNull(union, "None U None"); foreach (string s in GoodUrls) { uip.Url = s; union = (UrlIdentityPermission)uip.Union(uip); // Fx 1.0/1.1 adds a '/' at the end, while 2.0 keeps the original format // so we only compare the start of the url Assert.IsTrue(union.Url.StartsWith(uip.Url), s); } }
// </Snippet2> // <Snippet3> // Union creates a new permission that is the union of the current permission // and the specified permission. private static void UnionDemo() { UrlIdentityPermission permIdPerm1 = new UrlIdentityPermission("http://www.fourthcoffee.com/process/"); UrlIdentityPermission permIdPerm2 = new UrlIdentityPermission("http://www.fourthcoffee.com/*"); UrlIdentityPermission p3 = (UrlIdentityPermission)permIdPerm1.Union(permIdPerm2); try { if (p3 != null) { Console.WriteLine("The union of " + permIdPerm1.Url + " and \n\t" + permIdPerm2.Url + " is \n\t" + p3.Url + "\n"); } else { Console.WriteLine("The union of " + permIdPerm1.Url + " and \n\t" + permIdPerm2.Url + " is null.\n"); } } catch (SystemException e) { Console.WriteLine("The union of " + permIdPerm1.Url + " and \n\t" + permIdPerm2.Url + " failed."); Console.WriteLine(e.Message); } }
public void Union_None() { // Union with none is same UrlIdentityPermission uip1 = new UrlIdentityPermission(PermissionState.None); UrlIdentityPermission uip2 = new UrlIdentityPermission(PermissionState.None); // a. source (this) is none foreach (string s in GoodUrls) { uip1.Url = s; UrlIdentityPermission union = (UrlIdentityPermission)uip1.Union(uip2); // Fx 1.0/1.1 adds a '/' at the end, while 2.0 keeps the original format // so we only compare the start of the url Assert.IsTrue(union.Url.StartsWith(uip1.Url), s); } uip1 = new UrlIdentityPermission(PermissionState.None); // b. destination (target) is none foreach (string s in GoodUrls) { uip2.Url = s; UrlIdentityPermission union = (UrlIdentityPermission)uip2.Union(uip1); // Fx 1.0/1.1 adds a '/' at the end, while 2.0 keeps the original format // so we only compare the start of the url Assert.IsTrue(union.Url.StartsWith(uip2.Url), s); } }
public static void UrlIdentityPermissionCallMethods() { UrlIdentityPermission uip = new UrlIdentityPermission(new PermissionState()); UrlIdentityPermission uip2 = new UrlIdentityPermission("testsite"); IPermission ip = uip.Copy(); IPermission ip2 = uip.Intersect(ip); bool testbool = uip.IsSubsetOf(ip); ip2 = uip.Union(ip); SecurityElement se = new SecurityElement(""); uip.FromXml(se); se = uip.ToXml(); }
public void Union_Null() { UrlIdentityPermission uip = new UrlIdentityPermission(PermissionState.None); // Union with null is a simple copy foreach (string s in GoodUrls) { uip.Url = s; UrlIdentityPermission union = (UrlIdentityPermission)uip.Union(null); // Fx 1.0/1.1 adds a '/' at the end, while 2.0 keeps the original format // so we only compare the start of the url Assert.IsTrue(union.Url.StartsWith(uip.Url), s); } }
public void Union_Different() { UrlIdentityPermission uip1 = new UrlIdentityPermission(GoodUrls [0]); UrlIdentityPermission uip2 = new UrlIdentityPermission(GoodUrls [1]); UrlIdentityPermission result = (UrlIdentityPermission)uip1.Union(uip2); Assert.IsNotNull(result, "Mono U Novell"); // new XML format is used to contain more than one site SecurityElement se = result.ToXml(); Assert.AreEqual(2, se.Children.Count, "Childs"); Assert.AreEqual(GoodUrls [0], (se.Children [0] as SecurityElement).Attribute("Url"), "Url#1"); Assert.AreEqual(GoodUrls [1], (se.Children [1] as SecurityElement).Attribute("Url"), "Url#2"); // strangely it is still versioned as 'version="1"'. Assert.AreEqual("1", se.Attribute("version"), "Version"); }
public static void UrlIdentityPermissionCallMethods() { UrlIdentityPermission uip = new UrlIdentityPermission(new PermissionState()); UrlIdentityPermission uip2 = new UrlIdentityPermission("testsite"); IPermission ip = uip.Copy(); IPermission ip2 = uip.Intersect(ip); bool testbool = uip.IsSubsetOf(ip); ip2 = uip.Union(ip); SecurityElement se = new SecurityElement(""); uip.FromXml(se); se = uip.ToXml(); }