2006-10-20 Jonathan Chambers <joncham@gmail.com>
authorJonathan Chambers <joncham@gmail.com>
Fri, 20 Oct 2006 17:34:07 +0000 (17:34 -0000)
committerJonathan Chambers <joncham@gmail.com>
Fri, 20 Oct 2006 17:34:07 +0000 (17:34 -0000)
* cominterop.cs: Added more tests for Variant.
* libtest.c: Added more tests for Variant.

Signed-off-by: Jonathan Chambers <joncham@gmail.com>
svn path=/trunk/mono/; revision=66840

mono/tests/ChangeLog
mono/tests/cominterop.cs
mono/tests/libtest.c

index fa133c51f442d334d00984d27487b8a896647217..3ec2a164699b930f4f641697470a40aebf0bf085 100644 (file)
@@ -1,3 +1,8 @@
+2006-10-20  Jonathan Chambers  <joncham@gmail.com>
+
+       * cominterop.cs: Added more tests for Variant.
+       * libtest.c: Added more tests for Variant.
+       
 2006-10-02  Zoltan Varga  <vargaz@gmail.com>
 
        * static-constructor.cs: Add a new test.
index c91266fbcb44139760f7e36a9f787e49a2b2132e..7ca971ce9c0870c6e0ad51baec423728f698e526 100644 (file)
@@ -54,7 +54,13 @@ public class Tests
        public static extern int mono_test_marshal_variant_in_double([MarshalAs(UnmanagedType.Struct)]object obj);
 
        [DllImport("libtest")]
-       public static extern int mono_test_marshal_variant_in_bstr([MarshalAs(UnmanagedType.Struct)]object obj);
+       public static extern int mono_test_marshal_variant_in_bstr ([MarshalAs (UnmanagedType.Struct)]object obj);
+
+       [DllImport ("libtest")]
+       public static extern int mono_test_marshal_variant_in_bool_true ([MarshalAs (UnmanagedType.Struct)]object obj);
+
+       [DllImport ("libtest")]
+       public static extern int mono_test_marshal_variant_in_bool_false ([MarshalAs (UnmanagedType.Struct)]object obj);
 
        [DllImport("libtest")]
        public static extern int mono_test_marshal_variant_out_sbyte([MarshalAs(UnmanagedType.Struct)]out object obj);
@@ -87,7 +93,13 @@ public class Tests
        public static extern int mono_test_marshal_variant_out_double([MarshalAs(UnmanagedType.Struct)]out object obj);
 
        [DllImport("libtest")]
-       public static extern int mono_test_marshal_variant_out_bstr([MarshalAs(UnmanagedType.Struct)]out object obj);
+       public static extern int mono_test_marshal_variant_out_bstr ([MarshalAs (UnmanagedType.Struct)]out object obj);
+
+       [DllImport("libtest")]
+       public static extern int mono_test_marshal_variant_out_bool_true ([MarshalAs (UnmanagedType.Struct)]out object obj);
+
+       [DllImport ("libtest")]
+       public static extern int mono_test_marshal_variant_out_bool_false ([MarshalAs (UnmanagedType.Struct)]out object obj);
 
     [DllImport ("libtest")]
     public static extern int mono_test_marshal_com_object_create (out IntPtr pUnk);
@@ -95,8 +107,8 @@ public class Tests
     [DllImport ("libtest")]
     public static extern int mono_test_marshal_com_object_destroy (IntPtr pUnk);
 
-    [DllImport ("libtest")]
-    public static extern int mono_test_marshal_com_object_ref_count (IntPtr pUnk);
+       [DllImport ("libtest")]
+       public static extern int mono_test_marshal_com_object_ref_count (IntPtr pUnk);
 
        public static int Main() {
 
index 36cb52fafe9403ed2f8aa459a2082d66d4b5d934..de11ccb49d760dab46d3dbd36534aec4ff6842bc 100644 (file)
@@ -2012,6 +2012,22 @@ mono_test_marshal_variant_in_bstr(VARIANT variant)
        return 1;
 }
 
+STDCALL int
+mono_test_marshal_variant_in_bool_true (VARIANT variant)
+{
+       if (variant.vt == VT_BOOL && variant.ullVal == VARIANT_TRUE)
+               return 0;
+       return 1;
+}
+
+STDCALL int
+mono_test_marshal_variant_in_bool_false (VARIANT variant)
+{
+       if (variant.vt == VT_BOOL && variant.ullVal == VARIANT_FALSE)
+               return 0;
+       return 1;
+}
+
 STDCALL int
 mono_test_marshal_variant_out_sbyte(VARIANT* variant)
 {
@@ -2111,6 +2127,24 @@ mono_test_marshal_variant_out_bstr(VARIANT* variant)
        return 0;
 }
 
+STDCALL int
+mono_test_marshal_variant_out_bool_true (VARIANT* variant)
+{
+       variant->vt = VT_BOOL;
+       variant->bstrVal = VARIANT_TRUE;
+
+       return 0;
+}
+
+STDCALL int
+mono_test_marshal_variant_out_bool_false (VARIANT* variant)
+{
+       variant->vt = VT_BOOL;
+       variant->bstrVal = VARIANT_FALSE;
+
+       return 0;
+}
+
 #ifdef _MSC_VER
 #define COM_STDCALL __stdcall
 #else