2010-05-27 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / tests / test-39.cs
index e1d6897c9ebe6919b6bc67a98b435868705395bf..72035a58c90286088b12e98c6f0a3a5a65912e37 100644 (file)
@@ -45,16 +45,36 @@ public interface IFoo {
         bool MethodTwo (float x, float y);
 }
 
+[Simple ("Fifth", D=new double[] { -1 })]
+class Blah2
+{
+}
+
+[Simple ("Fifth", D=new double[0])]
+class Blah3
+{
+}
+
 [Simple ("Dummy", MyNamedArg = "Dude!")]
 [Simple ("Vids", MyNamedArg = "Raj", AnotherArg = "Foo")]
 [Simple ("Trip", LongValue=0)]
 [Simple ("Fourth", ArrayValue=new long[] { 0 })]
-//[Simple ("Fifth", D=new double[] { -1 })] // runtime bug #77916
 public class Blah {
 
         public static int Main ()
         {
-                Console.WriteLine ("A dummy app which tests attribute emission");
+                               object o = (((SimpleAttribute)typeof(Blah2).GetCustomAttributes (typeof (SimpleAttribute), false)[0]).D);
+                               if (o.ToString () != "System.Double[]")
+                                       return 1;
+
+                               if (((double[])o)[0].GetType () != typeof (double))
+                                       return 2;
+
+                               o = (((SimpleAttribute)typeof(Blah3).GetCustomAttributes (typeof (SimpleAttribute), false)[0]).D);
+                               if (o.ToString () != "System.Double[]")
+                                       return 3;
+                               
+                               Console.WriteLine ("OK");
                 return 0;
         }
 }