kernel32: Add some tests for DeleteFile.
This commit is contained in:
parent
a251a8f166
commit
1b5873accc
|
@ -2,6 +2,7 @@
|
||||||
* Unit tests for file functions in Wine
|
* Unit tests for file functions in Wine
|
||||||
*
|
*
|
||||||
* Copyright (c) 2002, 2004 Jakob Eriksson
|
* Copyright (c) 2002, 2004 Jakob Eriksson
|
||||||
|
* Copyright (c) 2008 Jeff Zaroyko
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
|
@ -841,6 +842,10 @@ static void test_DeleteFileA( void )
|
||||||
static void test_DeleteFileW( void )
|
static void test_DeleteFileW( void )
|
||||||
{
|
{
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
|
WCHAR pathW[MAX_PATH];
|
||||||
|
WCHAR pathsubW[MAX_PATH];
|
||||||
|
static const WCHAR dirW[] = {'d','e','l','e','t','e','f','i','l','e',0};
|
||||||
|
static const WCHAR subdirW[] = {'\\','s','u','b',0};
|
||||||
static const WCHAR emptyW[]={'\0'};
|
static const WCHAR emptyW[]={'\0'};
|
||||||
|
|
||||||
ret = DeleteFileW(NULL);
|
ret = DeleteFileW(NULL);
|
||||||
|
@ -852,6 +857,35 @@ static void test_DeleteFileW( void )
|
||||||
ret = DeleteFileW(emptyW);
|
ret = DeleteFileW(emptyW);
|
||||||
ok(!ret && GetLastError() == ERROR_PATH_NOT_FOUND,
|
ok(!ret && GetLastError() == ERROR_PATH_NOT_FOUND,
|
||||||
"DeleteFileW(\"\") returned ret=%d error=%d\n",ret,GetLastError());
|
"DeleteFileW(\"\") returned ret=%d error=%d\n",ret,GetLastError());
|
||||||
|
|
||||||
|
/* test DeleteFile on empty directory */
|
||||||
|
ret = GetTempPathW(MAX_PATH, pathW);
|
||||||
|
if (ret + sizeof(dirW)/sizeof(WCHAR)-1 + sizeof(subdirW)/sizeof(WCHAR)-1 >= MAX_PATH)
|
||||||
|
{
|
||||||
|
ok(0, "MAX_PATH exceeded in constructing paths");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
lstrcatW(pathW, dirW);
|
||||||
|
lstrcpyW(pathsubW, pathW);
|
||||||
|
lstrcatW(pathsubW, subdirW);
|
||||||
|
ret = CreateDirectoryW(pathW, NULL);
|
||||||
|
ok(ret == TRUE, "couldn't create directory deletefile\n");
|
||||||
|
ret = DeleteFileW(pathW);
|
||||||
|
todo_wine ok(ret == FALSE, "DeleteFile should fail for empty directories\n");
|
||||||
|
ret = RemoveDirectoryW(pathW);
|
||||||
|
todo_wine ok(ret == TRUE, "expected to remove directory deletefile\n");
|
||||||
|
|
||||||
|
/* test DeleteFile on non-empty directory */
|
||||||
|
ret = CreateDirectoryW(pathW, NULL);
|
||||||
|
ok(ret == TRUE, "couldn't create directory deletefile\n");
|
||||||
|
ret = CreateDirectoryW(pathsubW, NULL);
|
||||||
|
ok(ret == TRUE, "couldn't create directory deletefile\\sub\n");
|
||||||
|
ret = DeleteFileW(pathW);
|
||||||
|
todo_wine ok(ret == FALSE, "DeleteFile should fail for non-empty directories\n");
|
||||||
|
ret = RemoveDirectoryW(pathsubW);
|
||||||
|
ok(ret == TRUE, "expected to remove directory deletefile\\sub\n");
|
||||||
|
ret = RemoveDirectoryW(pathW);
|
||||||
|
ok(ret == TRUE, "expected to remove directory deletefile\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#define IsDotDir(x) ((x[0] == '.') && ((x[1] == 0) || ((x[1] == '.') && (x[2] == 0))))
|
#define IsDotDir(x) ((x[0] == '.') && ((x[1] == 0) || ((x[1] == '.') && (x[2] == 0))))
|
||||||
|
|
Loading…
Reference in New Issue