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 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 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); } }
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); } }