X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Ftests%2Fpinvoke13.cs;h=e3f5f5788c893033b23420dd2f3c6a2fbf5622de;hb=422f30fadcfcdab1d73f87c20d259a0ebb7786c0;hp=6a2a9cf38bfcb9ccaa06a05090577898ee1b5f49;hpb=7ff8f29ff29fa3f08ef305ac43ef079097323286;p=mono.git diff --git a/mono/tests/pinvoke13.cs b/mono/tests/pinvoke13.cs index 6a2a9cf38bf..e3f5f5788c8 100644 --- a/mono/tests/pinvoke13.cs +++ b/mono/tests/pinvoke13.cs @@ -1,40 +1,58 @@ +// +// pinvoke13.cs +// +// Tests for pinvoke name mangling +// using System; using System.Runtime.InteropServices; -public class DumpTest +public class Tests { - /* this should call HexDumpA with ANSI encoded string */ + /* + * These tests exercise the search order associated with the different charset values. + */ + + /* This should call NameManglingAnsi */ [DllImport("libtest", CharSet=CharSet.Ansi)] - private static extern int HexDump (string data); + private static extern int NameManglingAnsi (string data); + + /* This should call NameManglingAnsi2A */ + [DllImport ("libtest", CharSet=CharSet.Ansi)] + private static extern int NameManglingAnsi2 (string data); - /* this should call HexDump default version with Unicode string */ - [DllImport("libtest", EntryPoint="HexDump", CharSet=CharSet.Unicode)] - private static extern int HexDump2(string data); + /* This should call NameManglingUnicodeW */ + [DllImport ("libtest", CharSet=CharSet.Unicode)] + private static extern int NameManglingUnicode (string data); - /* this should call HexDump1W with unicode encoding */ - [DllImport("libtest", CharSet=CharSet.Unicode)] - private static extern int HexDump1(string data); + /* This should call NameManglingUnicode2 */ + [DllImport ("libtest", CharSet=CharSet.Unicode)] + private static extern int NameManglingUnicode2 (string data); - public static int Main() - { + /* This should call NameManglingAutoW under windows, and NameManglingAuto under unix */ + [DllImport ("libtest", CharSet=CharSet.Auto)] + private static extern int NameManglingAuto (string s); + + public static int Main (String[] args) { int res; - - res = HexDump ("First test"); - Console.WriteLine (res); - if (res != 100769) - return 1; - res = HexDump2 ("First test"); - Console.WriteLine (res); - if (res != 404) + res = NameManglingAnsi ("ABC"); + if (res != 198) + return 1; + res = NameManglingAnsi2 ("ABC"); + if (res != 198) return 2; - - res = HexDump1 ("First test"); - Console.WriteLine (res); - if (res != 1000404) + res = NameManglingUnicode ("ABC"); + if (res != 198) return 3; + res = NameManglingUnicode2 ("ABC"); + if (res != 198) + return 4; - return 0; + res = NameManglingAuto ("ABC"); + if (res != 0) + return 5; + + return 0; } }