Bump referencesource and add test for the problem.
authorMartin Baulig <martin.baulig@xamarin.com>
Wed, 25 Mar 2015 21:33:02 +0000 (22:33 +0100)
committerMartin Baulig <martin.baulig@xamarin.com>
Wed, 25 Mar 2015 21:33:02 +0000 (22:33 +0100)
external/referencesource
mcs/class/corlib/Test/System/AttributeTest.cs

index 0e2d334288ac34a8a68913c26b8dc395f2f58d44..8e581e65208feb391b855e064eb8d32dfab46e6a 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 0e2d334288ac34a8a68913c26b8dc395f2f58d44
+Subproject commit 8e581e65208feb391b855e064eb8d32dfab46e6a
index a22862896717185c749d4f347458ca953a2db459..160b9b98df29899dc9d770d6ade3b7142c759963 100644 (file)
@@ -1069,6 +1069,12 @@ namespace MonoTests.System
                        {
                        }
                }
+
+               class Multiple {
+                       public void Bar ([Foo] [Bar] string multiple, [Bar] string bar)
+                       {
+                       }
+               }
        }
 
        [TestFixture]
@@ -1161,6 +1167,24 @@ namespace MonoTests.System
                        Assert.AreEqual ("Derived.baz", attributes [0].Data);
                }
 
+               [Test]
+               public void MultipleParameterAttributes ()
+               {
+                       var parameter = GetParameter (typeof(ParamNamespace.Multiple), "Bar", "multiple");
+                       var foo = parameter.GetCustomAttribute<ParamNamespace.FooAttribute> ();
+                       Assert.AreEqual (typeof(ParamNamespace.FooAttribute), foo.GetType ());
+                       var bar = parameter.GetCustomAttribute<ParamNamespace.BarAttribute> ();
+                       Assert.AreEqual (typeof(ParamNamespace.BarAttribute), bar.GetType ());
+               }
+
+               [Test]
+               public void MultipleParameterAttributes2 ()
+               {
+                       var parameter = GetParameter (typeof(ParamNamespace.Multiple), "Bar", "bar");
+                       var foo = parameter.GetCustomAttribute<ParamNamespace.FooAttribute> ();
+                       Assert.IsNull (foo);
+               }
+
                [AttributeUsage(AttributeTargets.Event | AttributeTargets.Method | AttributeTargets.Class)]
                public class MyCAttr : Attribute {}