public bool PosTest2() { bool retVal = true; const string c_TEST_ID = "P002"; string c_TEST_DESC = "PosTest2: Get a friend assembly name that is an emtpy string."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = string.Empty; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not an empty string as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("003" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("004" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return(retVal); }
public bool PosTest1() { bool retVal = true; const string c_TEST_ID = "P001"; string c_TEST_DESC = "PosTest1: Get a normal friend assembly name."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = "myTestCase.dll"; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not the value \"" + assemblyName + "\" as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("001" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("002" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return retVal; }
ICollection <AssemblyName> LoadInternalsVisibleTo() { var result = new List <AssemblyName>(); Assembly assembly = Assembly; if (assembly == null) { return(result); } if (assembly.ReflectionOnly) { EnsureReflectionOnlyAttributeData(); foreach (var cad in _attributeData) { if (LooseTypeExtensions.AssemblyQualifiedNameEquals(cad.Constructor.DeclaringType, typeof(InternalsVisibleToAttribute))) { string assemblyName = cad.ConstructorArguments[0].Value as string; LoadInternalsVisibleToHelper(result, assemblyName, assembly); } } } else { Attribute[] attributes = Attribute.GetCustomAttributes(assembly, typeof(InternalsVisibleToAttribute)); for (int i = 0; i < attributes.Length; i++) { InternalsVisibleToAttribute ivAttrib = (InternalsVisibleToAttribute)attributes[i]; LoadInternalsVisibleToHelper(result, ivAttrib.AssemblyName, assembly); } } return(result); }
public bool PosTest1() { bool retVal = true; const string c_TEST_ID = "P001"; string c_TEST_DESC = "PosTest1: Get a normal friend assembly name."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = "myTestCase.dll"; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not the value \"" + assemblyName + "\" as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("001" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("002" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return(retVal); }
public bool PosTest4() { bool retVal = true; const string c_TEST_ID = "P004"; string c_TEST_DESC = "PosTest4: Get a friend assembly name containing special characters."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = "::B:" + System.IO.Path.DirectorySeparatorChar + "\n\v\r\t\0myTestCase.dll"; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not the value \"" + assemblyName + "\" as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("007" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("008" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return(retVal); }
[Test] // .ctor (String) public void Constructor1() { InternalsVisibleToAttribute ivt; string aname; aname = "Mono"; ivt = new InternalsVisibleToAttribute(aname); Assert.IsTrue(ivt.AllInternalsVisible, "#A:AllInternalsVisible"); Assert.AreSame(aname, ivt.AssemblyName, "#A:AssemblyName"); Assert.AreEqual(ivt.GetType(), ivt.TypeId, "#A:TypeId"); aname = typeof(int).Assembly.FullName; ivt = new InternalsVisibleToAttribute(aname); Assert.IsTrue(ivt.AllInternalsVisible, "#B:AllInternalsVisible"); Assert.AreSame(aname, ivt.AssemblyName, "#B:AssemblyName"); Assert.AreEqual(ivt.GetType(), ivt.TypeId, "#B:TypeId"); aname = string.Empty; ivt = new InternalsVisibleToAttribute(aname); Assert.IsTrue(ivt.AllInternalsVisible, "#C:AllInternalsVisible"); Assert.AreSame(aname, ivt.AssemblyName, "#C:AssemblyName"); Assert.AreEqual(ivt.GetType(), ivt.TypeId, "#C:TypeId"); aname = null; ivt = new InternalsVisibleToAttribute(aname); Assert.IsTrue(ivt.AllInternalsVisible, "#D:AllInternalsVisible"); Assert.IsNull(ivt.AssemblyName, "#D:AssemblyName"); Assert.AreEqual(ivt.GetType(), ivt.TypeId, "#D:TypeId"); }
public void AllInternalsVisible() { InternalsVisibleToAttribute ivt = new InternalsVisibleToAttribute("Mono"); ivt.AllInternalsVisible = false; Assert.IsFalse(ivt.AllInternalsVisible, "#1"); ivt.AllInternalsVisible = true; Assert.IsTrue(ivt.AllInternalsVisible, "#2"); }
private bool InternalsVisible(Assembly assembly) { if (Helpers.IsNullOrEmpty(this.assemblyName)) { return(false); } if (this.knownTrustedAssemblies != null && this.knownTrustedAssemblies.IndexOfReference(assembly) >= 0) { return(true); } if (this.knownUntrustedAssemblies != null && this.knownUntrustedAssemblies.IndexOfReference(assembly) >= 0) { return(false); } bool flag = false; Type type = this.MapType(typeof(InternalsVisibleToAttribute)); if (type == null) { return(false); } object[] customAttributes = assembly.GetCustomAttributes(type, false); int num = 0; while (num < (int)customAttributes.Length) { InternalsVisibleToAttribute internalsVisibleToAttribute = (InternalsVisibleToAttribute)customAttributes[num]; if (internalsVisibleToAttribute.AssemblyName == this.assemblyName || internalsVisibleToAttribute.AssemblyName.StartsWith(string.Concat(this.assemblyName, ","))) { flag = true; break; } else { num++; } } if (!flag) { if (this.knownUntrustedAssemblies == null) { this.knownUntrustedAssemblies = new BasicList(); } this.knownUntrustedAssemblies.Add(assembly); } else { if (this.knownTrustedAssemblies == null) { this.knownTrustedAssemblies = new BasicList(); } this.knownTrustedAssemblies.Add(assembly); } return(flag); }
public static void InternalsVisibleToAttributeTests() { var attr1 = new InternalsVisibleToAttribute("MyAssembly"); Assert.Equal("MyAssembly", attr1.AssemblyName); Assert.True(attr1.AllInternalsVisible); attr1.AllInternalsVisible = false; Assert.False(attr1.AllInternalsVisible); var attr2 = new InternalsVisibleToAttribute(null); Assert.Null(attr2.AssemblyName); }
private static ICommonAttribute CreateCommonInternalsVisibleToAttribute(string internalsVisibleToAssemblyName) { var internalsVisibleToAttribute = new InternalsVisibleToAttribute(internalsVisibleToAssemblyName); var customAttribute = CreateMockFor <CustomAttribute>(); var customAttributeArgument = new CustomAttributeArgument(CreateMockFor <TypeReference>().Object, internalsVisibleToAssemblyName); customAttribute.Setup(attribute => attribute.ConstructorArguments).Returns(new Collection <CustomAttributeArgument>(new[] { customAttributeArgument })); var commonAttribute = CreateMockFor <ICommonAttribute>(); commonAttribute.Setup(attribute => attribute.MonoCecil).Returns(() => customAttribute.Object); commonAttribute.Setup(attribute => attribute.Reflection).Returns(() => internalsVisibleToAttribute); commonAttribute.Setup(attribute => attribute.Type).Returns(() => typeof(InternalsVisibleToAttribute)); commonAttribute.Setup(attribute => attribute.FullName).Returns(() => typeof(InternalsVisibleToAttribute).FullName); return(commonAttribute.Object); }
public bool PosTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest1: Call the constructor directly"); try { InternalsVisibleToAttribute internalsVisibleToAttribute = new InternalsVisibleToAttribute(c_ASSEMBLY_NAME); if (internalsVisibleToAttribute == null) { TestLibrary.TestFramework.LogError("001", "The Constructor did not create a new instance as expected"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("002", "Unexpected exception: " + e); retVal = false; } return retVal; }
public bool PosTest1() { bool retVal = true; TestLibrary.TestFramework.BeginScenario("PosTest1: Call the constructor directly"); try { InternalsVisibleToAttribute internalsVisibleToAttribute = new InternalsVisibleToAttribute(c_ASSEMBLY_NAME); if (internalsVisibleToAttribute == null) { TestLibrary.TestFramework.LogError("001", "The Constructor did not create a new instance as expected"); retVal = false; } } catch (Exception e) { TestLibrary.TestFramework.LogError("002", "Unexpected exception: " + e); retVal = false; } return(retVal); }
private static bool VisibleToDynamicProxy(InternalsVisibleToAttribute attribute) { return(attribute.AssemblyName.Contains(ModuleScope.DEFAULT_ASSEMBLY_NAME)); }
public bool PosTest2() { bool retVal = true; const string c_TEST_ID = "P002"; string c_TEST_DESC = "PosTest2: Get a friend assembly name that is an emtpy string."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = string.Empty; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not an empty string as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("003" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("004" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return retVal; }
public bool PosTest4() { bool retVal = true; const string c_TEST_ID = "P004"; string c_TEST_DESC = "PosTest4: Get a friend assembly name containing special characters."; string errorDesc; string assemblyName; string actualFriendAssemblyName; assemblyName = "::B:" + System.IO.Path.DirectorySeparatorChar + "\n\v\r\t\0myTestCase.dll"; TestLibrary.TestFramework.BeginScenario(c_TEST_DESC); try { InternalsVisibleToAttribute internalIsVisibleTo = new InternalsVisibleToAttribute(assemblyName); actualFriendAssemblyName = internalIsVisibleTo.AssemblyName; if (actualFriendAssemblyName != assemblyName) { errorDesc = "The friend assembly name is not the value \"" + assemblyName + "\" as expected, Actually\"" + actualFriendAssemblyName + "\""; TestLibrary.TestFramework.LogError("007" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } } catch (Exception e) { errorDesc = "Unexpected exception: " + e; TestLibrary.TestFramework.LogError("008" + " TestId-" + c_TEST_ID, errorDesc); retVal = false; } return retVal; }