[loader] Init MonoClass:sizes.element_size lazily (Fixes #43563) (#5559)
[mono.git] / mono / tests / cattr-object.cs
index 51db9c5ae58a1c7bc78ba174ac949a83eb27f18c..4738a637475e514cfb55822174f0f1a9cc34f0f1 100644 (file)
@@ -1,24 +1,32 @@
 using System;
+using System.Collections.Generic;
 
 [My((long)1)]
 [My(TypeCode.Empty)]
 [My(typeof(System.Enum))]
+[My(new Type[] { typeof(IEnumerable<string>), typeof(IList<string>) })]
 class T {
        static int Main() {
                object[] a = Attribute.GetCustomAttributes (typeof (T), false);
-               if (a.Length != 3)
+               if (a.Length != 4)
                        return 1;
                foreach (object o in a) {
                        My attr = (My)o;
                        if (attr.obj.GetType () == typeof(long)) {
                                long val = (long)attr.obj;
-                               Console.WriteLine ("got value: {0}", val);
                                if (val != 1)
                                        return 2;
                        } else if (attr.obj.GetType () == typeof(TypeCode)) {
                                int val = (int)attr.obj;
                                if (val != (int)TypeCode.Empty)
                                        return 3;
+                       } else if (attr.obj.GetType () == typeof(Type[])) {
+                               Type[] arr = (Type[])attr.obj;
+
+                               if (arr [0] != typeof (IEnumerable<string>))
+                                       return 6;
+                               if (arr [1] != typeof (IList<string>))
+                                       return 7;
                        } else {
                                Type t = attr.obj as Type;
                                if (t == null)