shell32/tests: Fix a test failure on Win9x, NT4, Vista and W2K8.
authorPaul Vriens <Paul.Vriens.Wine@gmail.com>
Thu, 4 Dec 2008 10:39:09 +0000 (11:39 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 4 Dec 2008 14:46:10 +0000 (15:46 +0100)
dlls/shell32/tests/shfldr_special.c

index e8f266fb3aaa7b0287555cdcd9621f68734f7257..8c14e517d4b894399faedd7b6827137e87900f3c 100644 (file)
@@ -100,7 +100,6 @@ static void test_parse_for_control_panel(void)
     DWORD eaten = 0xdeadbeef;
     LPITEMIDLIST pidl;
     DWORD attr = ~0;
-    DWORD expected_attr;
 
     hr = SHGetDesktopFolder(&psfDesktop);
     ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%x\n", hr);
@@ -108,9 +107,13 @@ static void test_parse_for_control_panel(void)
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, control_panel_path, &eaten, &pidl, &attr);
     ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%x\n", hr);
     todo_wine ok(eaten == 0xdeadbeef, "eaten should not have been set to %u\n", eaten);
-
-    expected_attr = SFGAO_CANLINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
-    todo_wine ok(attr == expected_attr, "attr should be 0x%x, not 0x%x\n", expected_attr, attr);
+    todo_wine
+    ok((attr == (SFGAO_CANLINK | SFGAO_FOLDER)) || /* Win9x, NT4 */
+       (attr == (SFGAO_CANLINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_STREAM)) || /* W2K */
+       (attr == (SFGAO_CANLINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER)) || /* W2K, XP, W2K3 */
+       (attr == (SFGAO_CANLINK | SFGAO_NONENUMERATED)) || /* Vista */
+       (attr == SFGAO_CANLINK), /* Vista, W2K8 */
+       "Unexpected attributes : %08x\n", attr);
 
     ILFree(pidl);
 }