Piotr Caban : msvcp90/tests: Added char_traits equal tests.
Alexandre Julliard
julliard at winehq.org
Wed Jul 21 10:54:48 CDT 2010
Module: wine
Branch: master
Commit: b5a6ed7469a9f1a408d4c9c72c12a316d710b785
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b5a6ed7469a9f1a408d4c9c72c12a316d710b785
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Jul 20 23:24:51 2010 +0200
msvcp90/tests: Added char_traits equal tests.
---
dlls/msvcp90/tests/misc.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 44 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcp90/tests/misc.c b/dlls/msvcp90/tests/misc.c
index 2995dfd..10616a9 100644
--- a/dlls/msvcp90/tests/misc.c
+++ b/dlls/msvcp90/tests/misc.c
@@ -28,6 +28,10 @@ static void (__cdecl *p_char_assign)(void*, const void*);
static void (__cdecl *p_wchar_assign)(void*, const void*);
static void (__cdecl *p_short_assign)(void*, const void*);
+static BYTE (__cdecl *p_char_eq)(const void*, const void*);
+static BYTE (__cdecl *p_wchar_eq)(const void*, const void*);
+static BYTE (__cdecl *p_short_eq)(const void*, const void*);
+
static int invalid_parameter = 0;
static void __cdecl test_invalid_parameter_handler(const wchar_t *expression,
const wchar_t *function, const wchar_t *file,
@@ -62,6 +66,10 @@ static BOOL init(void)
p_wchar_assign = (void*)GetProcAddress(msvcp, "?assign@?$char_traits at _W@std@@SAXAA_WAB_W at Z");
p_short_assign = (void*)GetProcAddress(msvcp, "?assign@?$char_traits at G@std@@SAXAAGABG at Z");
+ p_char_eq = (void*)GetProcAddress(msvcp, "?eq@?$char_traits at D@std@@SA_NABD0 at Z");
+ p_wchar_eq = (void*)GetProcAddress(msvcp, "?eq@?$char_traits at _W@std@@SA_NAB_W0 at Z");
+ p_short_eq = (void*)GetProcAddress(msvcp, "?eq@?$char_traits at G@std@@SA_NABG0 at Z");
+
return TRUE;
}
@@ -93,12 +101,48 @@ static void test_assign(void)
ok(out[2] == '#', "out[2] = %c\n", out[2]);
}
+static void test_equal(void)
+{
+ static const char in1[] = "abc";
+ static const char in2[] = "ab";
+ static const char in3[] = "a";
+ static const char in4[] = "b";
+ BYTE ret;
+
+ if(!p_char_eq || !p_wchar_eq || !p_short_eq) {
+ win_skip("equal tests skipped\n");
+ return;
+ }
+
+ ret = p_char_eq(in1, in2);
+ ok(ret == TRUE, "ret = %d\n", (int)ret);
+ ret = p_char_eq(in1, in3);
+ ok(ret == TRUE, "ret = %d\n", (int)ret);
+ ret = p_char_eq(in1, in4);
+ ok(ret == FALSE, "ret = %d\n", (int)ret);
+
+ ret = p_wchar_eq(in1, in2);
+ ok(ret == TRUE, "ret = %d\n", (int)ret);
+ ret = p_wchar_eq(in1, in3);
+ ok(ret == FALSE, "ret = %d\n", (int)ret);
+ ret = p_wchar_eq(in1, in4);
+ ok(ret == FALSE, "ret = %d\n", (int)ret);
+
+ ret = p_short_eq(in1, in2);
+ ok(ret == TRUE, "ret = %d\n", (int)ret);
+ ret = p_short_eq(in1, in3);
+ ok(ret == FALSE, "ret = %d\n", (int)ret);
+ ret = p_short_eq(in1, in4);
+ ok(ret == FALSE, "ret = %d\n", (int)ret);
+}
+
START_TEST(misc)
{
if(!init())
return;
test_assign();
+ test_equal();
ok(!invalid_parameter, "invalid_parameter_handler was invoked too many times\n");
}
More information about the wine-cvs
mailing list