Nikolay Sivov : shell32/tests: Fix a test failure on W2K ( unimplemented method).

Alexandre Julliard julliard at winehq.org
Tue Apr 20 11:32:22 CDT 2010


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

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Tue Apr 20 02:57:09 2010 +0400

shell32/tests: Fix a test failure on W2K (unimplemented method).

---

 dlls/shell32/tests/shfldr_special.c |   48 ++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/dlls/shell32/tests/shfldr_special.c b/dlls/shell32/tests/shfldr_special.c
index 7be2bdf..24374bc 100644
--- a/dlls/shell32/tests/shfldr_special.c
+++ b/dlls/shell32/tests/shfldr_special.c
@@ -162,32 +162,34 @@ if (0)
     hr = IShellFolder2_GetDefaultColumnState(folder, 6, &state);
     ok(broken(hr == E_NOTIMPL) || hr == E_INVALIDARG /* Win7 */, "got 0x%08x\n", hr);
 
-    for(i = 0; i < 6; i++)
+    hr = IShellFolder2_GetDetailsOf(folder, NULL, 0, &details);
+    ok(hr == S_OK || broken(E_NOTIMPL) /* W2K */, "got 0x%08x\n", hr);
+    /* test every column if method is implemented */
+    if (hr == S_OK)
     {
-        hr = IShellFolder2_GetDetailsOf(folder, NULL, i, &details);
-        /* doesn't work on W2K */
-        if (hr == E_NOTIMPL) break;
-
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        /* all columns are left-aligned */
-        ok(details.fmt == LVCFMT_LEFT, "got 0x%x\n", details.fmt);
-        /* can't be on w9x at this point, IShellFolder2 unsupported there,
-           check present for running Wine with w9x setup */
-        if (SHELL_OsIsUnicode()) SHFree(details.str.u.pOleStr);
-
-        hr = IShellFolder2_GetDefaultColumnState(folder, i, &state);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        /* all columns are string except document count */
-        if (i == 1)
-            ok(state == (SHCOLSTATE_TYPE_INT | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
-        else
-            ok(state == (SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
+        ok(details.str.uType == STRRET_WSTR, "got %d\n", details.str.uType);
+
+        for(i = 0; i < 6; i++)
+        {
+            hr = IShellFolder2_GetDetailsOf(folder, NULL, i, &details);
+            ok(hr == S_OK, "got 0x%08x\n", hr);
+
+            /* all columns are left-aligned */
+            ok(details.fmt == LVCFMT_LEFT, "got 0x%x\n", details.fmt);
+            /* can't be on w9x at this point, IShellFolder2 unsupported there,
+               check present for running Wine with w9x setup */
+            if (SHELL_OsIsUnicode()) SHFree(details.str.u.pOleStr);
+
+            hr = IShellFolder2_GetDefaultColumnState(folder, i, &state);
+            ok(hr == S_OK, "got 0x%08x\n", hr);
+            /* all columns are string except document count */
+            if (i == 1)
+                ok(state == (SHCOLSTATE_TYPE_INT | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
+            else
+                ok(state == (SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
+        }
     }
 
-    hr = IShellFolder2_GetDetailsOf(folder, NULL, 0, &details);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(details.str.uType == STRRET_WSTR, "got %d\n", details.str.uType);
-
     /* default pidl */
     hr = IShellFolder2_QueryInterface(folder, &IID_IPersistFolder2, (void**)&pf);
     ok(hr == S_OK, "got 0x%08x\n", hr);




More information about the wine-cvs mailing list