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"); }
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"); }
//------------------------------------------------------ // // IPERMISSION IMPLEMENTATION // //------------------------------------------------------ public override bool IsSubsetOf(IPermission target) { if (target == null) { // Only safe subset if this is empty return(m_windowFlag == UIPermissionWindow.NoWindows && m_clipboardFlag == UIPermissionClipboard.NoClipboard); } try { UIPermission operand = (UIPermission)target; if (operand.IsUnrestricted()) { return(true); } else if (this.IsUnrestricted()) { return(false); } else { return(this.m_windowFlag <= operand.m_windowFlag && this.m_clipboardFlag <= operand.m_clipboardFlag); } } catch (InvalidCastException) { throw new ArgumentException( Environment.GetResourceString("Argument_WrongType", this.GetType().FullName) ); } }
/// <summary>确定当前权限是否为指定权限的子集。</summary> /// <returns>如果当前权限是指定权限的子集,则为 true;否则为 false。</returns> /// <param name="target">要测试子集关系的权限。此权限必须与当前权限属于同一类型。</param> /// <exception cref="T:System.ArgumentException"> /// <paramref name="target" /> 参数不是 null,而且与当前权限不是同一类型。</exception> public override bool IsSubsetOf(IPermission target) { if (target == null) { if (this.m_windowFlag == UIPermissionWindow.NoWindows) { return(this.m_clipboardFlag == UIPermissionClipboard.NoClipboard); } return(false); } try { UIPermission uiPermission = (UIPermission)target; if (uiPermission.IsUnrestricted()) { return(true); } if (this.IsUnrestricted()) { return(false); } return(this.m_windowFlag <= uiPermission.m_windowFlag && this.m_clipboardFlag <= uiPermission.m_clipboardFlag); } catch (InvalidCastException ex) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", (object)this.GetType().FullName)); } }
public void UIPermission_Clipboard_All () { UIPermission uip = new UIPermission (UIPermissionClipboard.AllClipboard); Assert.AreEqual (UIPermissionClipboard.AllClipboard, uip.Clipboard, "Clipboard"); Assert.AreEqual (UIPermissionWindow.NoWindows, uip.Window, "Window"); Assert.IsFalse (uip.IsUnrestricted (), "IsUnrestricted"); }
/// <summary>Determines whether the current permission is a subset of the specified permission.</summary> /// <param name="target">A permission to test for the subset relationship. This permission must be the same type as the current permission. </param> /// <returns> /// <see langword="true" /> if the current permission is a subset of the specified permission; otherwise, <see langword="false" />.</returns> /// <exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not <see langword="null" /> and is not of the same type as the current permission. </exception> // Token: 0x0600265E RID: 9822 RVA: 0x0008ACE8 File Offset: 0x00088EE8 public override bool IsSubsetOf(IPermission target) { if (target == null) { return(this.m_windowFlag == UIPermissionWindow.NoWindows && this.m_clipboardFlag == UIPermissionClipboard.NoClipboard); } bool result; try { UIPermission uipermission = (UIPermission)target; if (uipermission.IsUnrestricted()) { result = true; } else if (this.IsUnrestricted()) { result = false; } else { result = (this.m_windowFlag <= uipermission.m_windowFlag && this.m_clipboardFlag <= uipermission.m_clipboardFlag); } } catch (InvalidCastException) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", new object[] { base.GetType().FullName })); } return(result); }
public override bool IsSubsetOf(IPermission target) { bool flag; if (target == null) { return((this.m_windowFlag == UIPermissionWindow.NoWindows) && (this.m_clipboardFlag == UIPermissionClipboard.NoClipboard)); } try { UIPermission permission = (UIPermission)target; if (permission.IsUnrestricted()) { return(true); } if (this.IsUnrestricted()) { return(false); } flag = (this.m_windowFlag <= permission.m_windowFlag) && (this.m_clipboardFlag <= permission.m_clipboardFlag); } catch (InvalidCastException) { throw new ArgumentException(Environment.GetResourceString("Argument_WrongType", new object[] { base.GetType().FullName })); } return(flag); }
/// <summary>Determines whether the current permission is a subset of the specified permission.</summary> /// <returns>true if the current permission is a subset of the specified permission; otherwise, false.</returns> /// <param name="target">A permission to test for the subset relationship. This permission must be the same type as the current permission. </param> /// <exception cref="T:System.ArgumentException">The <paramref name="target" /> parameter is not null and is not of the same type as the current permission. </exception> public override bool IsSubsetOf(IPermission target) { UIPermission uipermission = this.Cast(target); if (uipermission == null) { return(this.IsEmpty(this._window, this._clipboard)); } return(uipermission.IsUnrestricted() || (this._window <= uipermission._window && this._clipboard <= uipermission._clipboard)); }
public override bool IsSubsetOf(IPermission target) { UIPermission uip = Cast(target); if (uip == null) { return(IsEmpty(_window, _clipboard)); } if (uip.IsUnrestricted()) { return(true); } // there are not [Flags] so we can't use boolean operators return((_window <= uip._window) && (_clipboard <= uip._clipboard)); }
private void Compare (UIPermission uip1, UIPermission uip2, string prefix) { Assert.AreEqual (uip1.Clipboard, uip2.Clipboard, prefix + ".Clipboard"); Assert.AreEqual (uip1.Window, uip2.Window, prefix + ".Window"); Assert.AreEqual (uip1.IsUnrestricted (), uip2.IsUnrestricted (), prefix + ".IsUnrestricted ()"); }
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"); }
public void UIPermission_Windows_SafeTopLevelWindows () { UIPermission uip = new UIPermission (UIPermissionWindow.SafeTopLevelWindows); Assert.AreEqual (UIPermissionClipboard.NoClipboard, uip.Clipboard, "Clipboard"); Assert.AreEqual (UIPermissionWindow.SafeTopLevelWindows, uip.Window, "Window"); Assert.IsFalse (uip.IsUnrestricted (), "IsUnrestricted"); }