Hans Leidekker : shlwapi/tests: Fix test failures on Windows 8.

Alexandre Julliard julliard at winehq.org
Tue Mar 11 14:45:40 CDT 2014


Module: wine
Branch: master
Commit: 3a72922e7f5427ea7ae2647fa32545aab9f6b32b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=3a72922e7f5427ea7ae2647fa32545aab9f6b32b

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Mar 11 13:24:42 2014 +0100

shlwapi/tests: Fix test failures on Windows 8.

---

 dlls/shlwapi/tests/assoc.c |   50 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 38 insertions(+), 12 deletions(-)

diff --git a/dlls/shlwapi/tests/assoc.c b/dlls/shlwapi/tests/assoc.c
index 389a9f5..cbc40ce 100644
--- a/dlls/shlwapi/tests/assoc.c
+++ b/dlls/shlwapi/tests/assoc.c
@@ -39,6 +39,8 @@ static const WCHAR invalid[] = { 'i','n','v','a','l','i','d',0 };
 
 static void test_getstring_bad(void)
 {
+    static const WCHAR openwith[] = {'O','p','e','n','W','i','t','h','.','e','x','e',0};
+    WCHAR buf[MAX_PATH];
     HRESULT hr;
     DWORD len;
 
@@ -48,47 +50,71 @@ static void test_getstring_bad(void)
         return;
     }
 
+    len = 0xdeadbeef;
     hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, NULL, open, NULL, &len);
     expect_hr(E_INVALIDARG, hr);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    len = 0xdeadbeef;
     hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, badBad, open, NULL, &len);
     ok(hr == E_FAIL ||
        hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
        "Unexpected result : %08x\n", hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotBad, open, NULL, &len);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    len = sizeof(buf)/sizeof(buf[0]);
+    hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotBad, open, buf, &len);
     ok(hr == E_FAIL ||
-       hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
+       hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */ ||
+       hr == S_OK /* Win8 */,
        "Unexpected result : %08x\n", hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotHtml, invalid, NULL,
-                           &len);
+    if (hr == S_OK)
+    {
+        ok(len < sizeof(buf)/sizeof(buf[0]), "got %u\n", len);
+        ok(!lstrcmpiW(buf + len - sizeof(openwith)/sizeof(openwith[0]), openwith), "wrong data\n");
+    }
+
+    len = 0xdeadbeef;
+    hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotHtml, invalid, NULL, &len);
     ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) ||
        hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
        "Unexpected result : %08x\n", hr);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
     hr = pAssocQueryStringW(0, ASSOCSTR_EXECUTABLE, dotHtml, open, NULL, NULL);
     ok(hr == E_UNEXPECTED ||
        hr == E_INVALIDARG, /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
        "Unexpected result : %08x\n", hr);
 
+    len = 0xdeadbeef;
     hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, NULL, open, NULL, &len);
     expect_hr(E_INVALIDARG, hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, badBad, open, NULL,
-                           &len);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    len = 0xdeadbeef;
+    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, badBad, open, NULL, &len);
     ok(hr == E_FAIL ||
        hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
        "Unexpected result : %08x\n", hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotBad, open, NULL,
-                           &len);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    len = 0xdeadbeef;
+    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotBad, open, NULL, &len);
     ok(hr == E_FAIL ||
        hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */ ||
        hr == HRESULT_FROM_WIN32(ERROR_NOT_FOUND), /* Win8 */
        "Unexpected result : %08x\n", hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotHtml, invalid, NULL,
-                           &len);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    len = 0xdeadbeef;
+    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotHtml, invalid, NULL, &len);
     ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) ||
        hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) || /* W2K/Vista/W2K8 */
        hr == E_FAIL, /* Win9x/WinMe/NT4 */
        "Unexpected result : %08x\n", hr);
-    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotHtml, open, NULL,
-                           NULL);
+    ok(len == 0xdeadbeef, "got %u\n", len);
+
+    hr = pAssocQueryStringW(0, ASSOCSTR_FRIENDLYAPPNAME, dotHtml, open, NULL, NULL);
     ok(hr == E_UNEXPECTED ||
        hr == E_INVALIDARG, /* Win9x/WinMe/NT4/W2K/Vista/W2K8 */
        "Unexpected result : %08x\n", hr);




More information about the wine-cvs mailing list