cabinet/tests: Split an incorrect test in two valid one.

Nicolas Le Cam niko.lecam at gmail.com
Sat Jun 27 05:18:17 CDT 2009


---
 dlls/cabinet/tests/fdi.c |   35 ++++++++++++++++++++++++++++-------
 1 files changed, 28 insertions(+), 7 deletions(-)

diff --git a/dlls/cabinet/tests/fdi.c b/dlls/cabinet/tests/fdi.c
index 011d94f..5d470fa 100644
--- a/dlls/cabinet/tests/fdi.c
+++ b/dlls/cabinet/tests/fdi.c
@@ -608,8 +608,6 @@ static void test_FDICopy(void)
     char name[] = "extract.cab";
     char path[MAX_PATH + 1];
 
-    GetCurrentDirectoryA(MAX_PATH, path);
-
     set_cab_parameters(&cabParams);
 
     hfci = FCICreate(&erf, file_placed, mem_alloc, mem_free, fci_open,
@@ -621,6 +619,31 @@ static void test_FDICopy(void)
 
     FCIDestroy(hfci);
 
+    lstrcpyA(path, CURR_DIR);
+
+    /* path doesn't have a trailing backslash */
+    if (lstrlenA(path) > 2)
+    {
+        hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
+                         fdi_write, fdi_close, fdi_seek,
+                         cpuUNKNOWN, &erf);
+
+        SetLastError(0xdeadbeef);
+        ret = FDICopy(hfdi, name, path, 0, CopyProgress, NULL, 0);
+        ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
+        todo_wine
+        {
+            ok(GetLastError() == ERROR_INVALID_HANDLE,
+               "Expected ERROR_INVALID_HANDLE, got %d\n", GetLastError());
+        }
+
+        FDIDestroy(hfdi);
+    }
+    else
+        skip("Running on a root drive directory.\n");
+
+    lstrcatA(path, "\\");
+
     hfdi = FDICreate(fdi_alloc, fdi_free, fdi_open, fdi_read,
                      fdi_write, fdi_close, fdi_seek,
                      cpuUNKNOWN, &erf);
@@ -628,14 +651,12 @@ static void test_FDICopy(void)
     /* cabinet with no files or folders */
     SetLastError(0xdeadbeef);
     ret = FDICopy(hfdi, name, path, 0, CopyProgress, NULL, 0);
-    ok(ret == FALSE, "Expected FALSE, got %d\n", ret);
     todo_wine
-    {
-        ok(GetLastError() == ERROR_INVALID_HANDLE,
-           "Expected ERROR_INVALID_HANDLE, got %d\n", GetLastError());
-    }
+    ok(ret == TRUE, "Expected TRUE, got %d\n", ret);
+    ok(GetLastError() == 0, "Expected 0f, got %d\n", GetLastError());
 
     FDIDestroy(hfdi);
+
     DeleteFileA(name);
 }
 
-- 
1.6.0.4


--=-97K9oarHZiSKhIe3c258--




More information about the wine-patches mailing list