public override IPermission Intersect(IPermission target) { // Handle the easy cases first. if (target == null) { return(target); } else if (!(target is FileIOPermission)) { throw new ArgumentException(_("Arg_PermissionMismatch")); } else if (((FileIOPermission)target).IsUnrestricted()) { return(Copy()); } else if (IsUnrestricted()) { return(target.Copy()); } // Create a new object and intersect the lists. return(new FileIOPermission (PermissionState.None, EnvironmentPermission.Intersect(readList, ((FileIOPermission)target).readList), EnvironmentPermission.Intersect(writeList, ((FileIOPermission)target).writeList), EnvironmentPermission.Intersect(appendList, ((FileIOPermission)target).appendList), EnvironmentPermission.Intersect(discoveryList, ((FileIOPermission)target).discoveryList), allLocalFiles & ((FileIOPermission)target).allLocalFiles, allFiles & ((FileIOPermission)target).allFiles)); }
public override IPermission Intersect(IPermission target) { // Handle the easy cases first. if (target == null) { return(target); } else if (!(target is RegistryPermission)) { throw new ArgumentException(_("Arg_PermissionMismatch")); } else if (((RegistryPermission)target).IsUnrestricted()) { return(Copy()); } else if (IsUnrestricted()) { return(target.Copy()); } // Create a new object and intersect the lists. return(new RegistryPermission (PermissionState.None, EnvironmentPermission.Intersect(readList, ((RegistryPermission)target).readList), EnvironmentPermission.Intersect(writeList, ((RegistryPermission)target).writeList), EnvironmentPermission.Intersect(createList, ((RegistryPermission)target).createList))); }
public override IPermission Intersect(IPermission target) { if (target == null) { return(target); } else if (!(target is SiteIdentityPermission)) { throw new ArgumentException(_("Arg_PermissionMismatch")); } else { return(new SiteIdentityPermission (EnvironmentPermission.Intersect (sites, ((SiteIdentityPermission)target).sites))); } }
public void IntersectWithBadPermission () { EnvironmentPermission ep1 = new EnvironmentPermission (EnvironmentPermissionAccess.Read, envVariables); FileDialogPermission fdp2 = new FileDialogPermission (PermissionState.Unrestricted); EnvironmentPermission ep3 = (EnvironmentPermission) ep1.Intersect (fdp2); }
public void Intersect () { // no intersection EnvironmentPermission ep1 = new EnvironmentPermission (EnvironmentPermissionAccess.Write, envVariables); EnvironmentPermission ep2 = new EnvironmentPermission (EnvironmentPermissionAccess.Read, envVariables); EnvironmentPermission ep3 = (EnvironmentPermission) ep1.Intersect (ep2); AssertNull ("EP1 N EP2 == null", ep3); // intersection in read EnvironmentPermission ep4 = new EnvironmentPermission (EnvironmentPermissionAccess.Read, "TMP"); ep3 = (EnvironmentPermission) ep4.Intersect (ep2); AssertEquals ("Intersect-Read", "TMP", ep3.GetPathList (EnvironmentPermissionAccess.Read)); // intersection in write EnvironmentPermission ep5 = new EnvironmentPermission (EnvironmentPermissionAccess.Write, "TEMP"); ep3 = (EnvironmentPermission) ep5.Intersect (ep1); AssertEquals ("Intersect-Read", "TEMP", ep3.GetPathList (EnvironmentPermissionAccess.Write)); // intersection in read and write EnvironmentPermission ep6 = new EnvironmentPermission (EnvironmentPermissionAccess.AllAccess, "TEMP"); EnvironmentPermission ep7 = new EnvironmentPermission (EnvironmentPermissionAccess.AllAccess, envVariables); ep3 = (EnvironmentPermission) ep6.Intersect (ep7); AssertEquals ("Intersect-AllAccess-Read", "TEMP", ep3.GetPathList (EnvironmentPermissionAccess.Read)); AssertEquals ("Intersect-AllAccess-Write", "TEMP", ep3.GetPathList (EnvironmentPermissionAccess.Write)); }
public void IntersectWithUnrestricted () { EnvironmentPermission ep1 = new EnvironmentPermission (PermissionState.Unrestricted); EnvironmentPermission ep2 = new EnvironmentPermission (EnvironmentPermissionAccess.Read, envVariables); EnvironmentPermission ep3 = (EnvironmentPermission) ep1.Intersect (ep2); Assert ("Unrestricted N EP2 == EP2", !ep3.IsUnrestricted ()); AssertEquals ("Unrestricted N EP2 == EP2", ep2.ToXml ().ToString (), ep3.ToXml ().ToString ()); ep3 = (EnvironmentPermission) ep2.Intersect (ep1); Assert ("EP2 N Unrestricted == EP2", !ep3.IsUnrestricted ()); AssertEquals ("EP2 N Unrestricted == EP2", ep2.ToXml ().ToString (), ep3.ToXml ().ToString ()); }
public void IntersectWithNull () { EnvironmentPermission ep1 = new EnvironmentPermission (EnvironmentPermissionAccess.Read, envVariables); EnvironmentPermission ep2 = null; EnvironmentPermission ep3 = (EnvironmentPermission) ep1.Intersect (ep2); AssertNull ("EP1 N null == null", ep3); }