From 387e415fdc294a14a0dc83bdf4ed065df10a00bb Mon Sep 17 00:00:00 2001 From: Nicolas Le Cam Date: Sat, 27 Jun 2009 12:18:17 +0200 Subject: [PATCH] cabinet/tests: Split an incorrect test in two valid ones. --- dlls/cabinet/tests/fdi.c | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/dlls/cabinet/tests/fdi.c b/dlls/cabinet/tests/fdi.c index 011d94f093f..5d470fade4c 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); }