/rocks/Test/Mono.Cecil.Tests/SecurityDeclarationRocksTests.cs

http://github.com/jbevain/cecil · C# · 66 lines · 44 code · 22 blank · 0 comment · 0 complexity · fc222cb11021dbbd3a487264443cf703 MD5 · raw file

  1. #if !NET_CORE
  2. using System.Security.Permissions;
  3. using NUnit.Framework;
  4. using Mono.Cecil.Rocks;
  5. namespace Mono.Cecil.Tests {
  6. [TestFixture]
  7. public class SecurityDeclarationRocksTests : BaseTestFixture {
  8. [Test]
  9. public void ToPermissionSetFromPermissionSetAttribute ()
  10. {
  11. TestModule ("decsec-xml.dll", module => {
  12. var type = module.GetType ("SubLibrary");
  13. Assert.IsTrue (type.HasSecurityDeclarations);
  14. Assert.AreEqual (1, type.SecurityDeclarations.Count);
  15. var declaration = type.SecurityDeclarations [0];
  16. var permission_set = declaration.ToPermissionSet ();
  17. Assert.IsNotNull (permission_set);
  18. string permission_set_value = "<PermissionSet class=\"System.Security.PermissionSe"
  19. + "t\"\r\nversion=\"1\">\r\n<IPermission class=\"{0}\"\r\nversion=\"1\"\r\nFla"
  20. + "gs=\"UnmanagedCode\"/>\r\n</PermissionSet>\r\n";
  21. permission_set_value = string.Format (permission_set_value, typeof (SecurityPermission).AssemblyQualifiedName);
  22. Assert.AreEqual (Normalize (permission_set_value), Normalize (permission_set.ToXml ().ToString ()));
  23. });
  24. }
  25. [Test]
  26. public void ToPermissionSetFromSecurityAttribute ()
  27. {
  28. TestModule ("decsec-att.dll", module => {
  29. var type = module.GetType ("SubLibrary");
  30. Assert.IsTrue (type.HasSecurityDeclarations);
  31. Assert.AreEqual (1, type.SecurityDeclarations.Count);
  32. var declaration = type.SecurityDeclarations [0];
  33. var permission_set = declaration.ToPermissionSet ();
  34. Assert.IsNotNull (permission_set);
  35. string permission_set_value = "<PermissionSet class=\"System.Security.PermissionSe"
  36. + "t\"\r\nversion=\"1\">\r\n<IPermission class=\"{0}\"\r\nversion=\"1\"\r\nFla"
  37. + "gs=\"UnmanagedCode\"/>\r\n</PermissionSet>\r\n";
  38. permission_set_value = string.Format (permission_set_value, typeof (SecurityPermission).AssemblyQualifiedName);
  39. Assert.AreEqual (Normalize (permission_set_value), Normalize (permission_set.ToXml ().ToString ()));
  40. });
  41. }
  42. }
  43. }
  44. #endif