CodeAccessPermissionTest.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. //
  2. // CodeAccessPermissionTest.cs - NUnit Test Cases for CodeAccessPermission
  3. //
  4. // Author:
  5. // Sebastien Pouliot ([email protected])
  6. //
  7. // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
  8. //
  9. #if FEATURE_MONO_CAS
  10. using NUnit.Framework;
  11. using System;
  12. using System.Security;
  13. using System.Security.Permissions;
  14. using System.Text;
  15. namespace MonoTests.System.Security {
  16. // Almost minimal CAS class for unit tests
  17. [Serializable]
  18. public class NonAbstractCodeAccessPermission : CodeAccessPermission {
  19. private string _tag;
  20. private string _text;
  21. public NonAbstractCodeAccessPermission (string tag, string text)
  22. {
  23. _tag = tag;
  24. _text = text;
  25. }
  26. public override IPermission Copy ()
  27. {
  28. return new NonAbstractCodeAccessPermission (_tag, _text);
  29. }
  30. public override void FromXml (SecurityElement elem) {}
  31. public override IPermission Intersect (IPermission target)
  32. {
  33. return null;
  34. }
  35. public override bool IsSubsetOf (IPermission target)
  36. {
  37. return true;
  38. }
  39. public override SecurityElement ToXml ()
  40. {
  41. if (_tag == null)
  42. return null;
  43. return new SecurityElement (_tag, _text);
  44. }
  45. }
  46. [TestFixture]
  47. [Category ("CAS")]
  48. public class CodeAccessPermissionTest {
  49. [Test]
  50. public void CustomCAS ()
  51. {
  52. // test for http://bugzilla.ximian.com/show_bug.cgi?id=52626
  53. NonAbstractCodeAccessPermission p = new NonAbstractCodeAccessPermission ("custom", null);
  54. p.Demand ();
  55. }
  56. [Test]
  57. public void Union ()
  58. {
  59. NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
  60. IPermission p = cap.Union (null);
  61. }
  62. [Test]
  63. [ExpectedException (typeof (NullReferenceException))]
  64. public void To_String_Exception ()
  65. {
  66. NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission (null, null);
  67. string s = cap.ToString ();
  68. }
  69. [Test]
  70. public void To_String ()
  71. {
  72. NonAbstractCodeAccessPermission cap = new NonAbstractCodeAccessPermission ("CodeAccessPermission", "NonAbstract");
  73. string s = cap.ToString ();
  74. Assert.AreEqual ("<CodeAccessPermission>NonAbstract</CodeAccessPermission>" + Environment.NewLine, s, "ToString");
  75. }
  76. }
  77. }
  78. #endif