kernel32: Add tests for lstrcmpW (try 2)

André Hentschel nerv at dawncrow.de
Wed Apr 14 13:18:43 CDT 2010


- Design similar to ntdll/tests/error.c
- Passes all Machines on WTB
- with check for existance of function
- just the known 2 instead of 4510
- intendation for todo_wine choosen so that it can be easy removed without touching the tests

---
 dlls/kernel32/tests/locale.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index a462a14..8b1b38d 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -2653,6 +2653,30 @@ static void test_GetCPInfo(void)
     }
 }
 
+#define TESTMARKER(w) \
+        markerW[2] = w; \
+        ok(!lstrcmpW(markerW,nomarkerW), "expected the character 0x%x to be ignored within the string\n", w);
+
+static void test_lstrcmpW(void)
+{
+    static const WCHAR nomarkerW[] = {'t','e','s','t',0};
+    static WCHAR markerW[] = {'t','e','r','s','t',0};
+
+    SetLastError(0xdeadbeef);
+    lstrcmpW(markerW, nomarkerW);
+    if (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+    {
+        win_skip("lstrcmpW is not implemented\n");
+        return;
+    }
+
+    todo_wine
+    {
+    TESTMARKER(0x200e); /* left-to-right marker */
+    TESTMARKER(0x200f); /* right-to-left marker */
+    }
+}
+
 START_TEST(locale)
 {
   InitFunctionPointers();
@@ -2671,6 +2695,7 @@ START_TEST(locale)
   test_LCMapStringW();
   test_FoldStringA();
   test_FoldStringW();
+  test_lstrcmpW();
   test_ConvertDefaultLocale();
   test_EnumSystemLanguageGroupsA();
   test_EnumLanguageGroupLocalesA();
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list