[PATCH 1/2] msvcrt/tests: Added _strnicoll tests.
Eryk Wieliczko
ewdevel at gmail.com
Thu Feb 10 19:22:22 CST 2011
---
dlls/msvcrt/tests/string.c | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/string.c b/dlls/msvcrt/tests/string.c
index c532fce..41d304b 100644
--- a/dlls/msvcrt/tests/string.c
+++ b/dlls/msvcrt/tests/string.c
@@ -64,6 +64,7 @@ static int (__cdecl *p_wcscpy_s)(wchar_t *wcDest, size_t size, const wchar_t *wc
static int (__cdecl *p_wcsncat_s)(wchar_t *dst, size_t elem, const wchar_t *src, size_t count);
static int (__cdecl *p_wcsupr_s)(wchar_t *str, size_t size);
static size_t (__cdecl *p_strnlen)(const char *, size_t);
+static int (__cdecl *p_strnicoll)(const char *, const char *, size_t);
static __int64 (__cdecl *p_strtoi64)(const char *, char **, int);
static unsigned __int64 (__cdecl *p_strtoui64)(const char *, char **, int);
static int (__cdecl *pwcstombs_s)(size_t*,char*,size_t,const wchar_t*,size_t);
@@ -954,6 +955,42 @@ static void test_strnlen(void)
ok(res == 0, "Returned length = %d\n", (int)res);
}
+static const struct {
+ const char* str1;
+ const char* str2;
+ const int digits;
+ const int res;
+} testcases_strnicoll[] = {
+ { "aaaa", "bbbb", 4, -1 },
+ { "bbbb", "aaaa", 4, 1 },
+ { "aaaa", "aaaa", 4, 0 },
+ { "aaac", "aaab", 3, 0 },
+ { "bbbb", "aaaa", 0, 0 },
+ { "aaaa", "bbbb", 0, 0 },
+ { "aaba", "aaaa", 3, 1 },
+ { "aaaa", "aaba", 3, -1 },
+ { "aaaa", "bbbb", 100, -1 },
+ /* end mark */
+ { 0}
+};
+
+static void test__strnicoll(void)
+{
+ int i, res;
+
+ if(!p_strnicoll) {
+ win_skip("_strnicoll not found\n");
+ return;
+ }
+
+ for(i = 0; testcases_strnicoll[i].str1; i++) {
+ res = p_strnicoll(testcases_strnicoll[i].str1, testcases_strnicoll[i].str2, testcases_strnicoll[i].digits);
+ ok(res == testcases_strnicoll[i].res, "str1 = %s, str2 = %s, digits = %d, returned = %d - should be %d\n",
+ testcases_strnicoll[i].str1, testcases_strnicoll[i].str2, testcases_strnicoll[i].digits,
+ res, testcases_strnicoll[i].res );
+ }
+}
+
static void test__strtoi64(void)
{
static const char no1[] = "31923";
@@ -1723,6 +1760,7 @@ START_TEST(string)
p_wcsncat_s = (void *)GetProcAddress( hMsvcrt,"wcsncat_s" );
p_wcsupr_s = (void *)GetProcAddress( hMsvcrt,"_wcsupr_s" );
p_strnlen = (void *)GetProcAddress( hMsvcrt,"strnlen" );
+ p_strnicoll = (void *)GetProcAddress( hMsvcrt,"_strnicoll" );
p_strtoi64 = (void *)GetProcAddress(hMsvcrt, "_strtoi64");
p_strtoui64 = (void *)GetProcAddress(hMsvcrt, "_strtoui64");
pmbstowcs_s = (void *)GetProcAddress(hMsvcrt, "mbstowcs_s");
@@ -1762,6 +1800,7 @@ START_TEST(string)
test__wcsupr_s();
test_strtol();
test_strnlen();
+ test__strnicoll();
test__strtoi64();
test__strtod();
test_mbstowcs();
--
1.7.0.4
More information about the wine-patches
mailing list