Paul Vriens : wintrust/tests: Add a few parameter tests.
Alexandre Julliard
julliard at winehq.org
Mon Jan 19 08:58:59 CST 2009
Module: wine
Branch: master
Commit: 39361deadcc74433bd2740095f6b0adb4fb3db45
URL: http://source.winehq.org/git/wine.git/?a=commit;h=39361deadcc74433bd2740095f6b0adb4fb3db45
Author: Paul Vriens <Paul.Vriens.Wine at gmail.com>
Date: Mon Jan 19 09:03:04 2009 +0100
wintrust/tests: Add a few parameter tests.
---
dlls/wintrust/tests/crypt.c | 71 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/dlls/wintrust/tests/crypt.c b/dlls/wintrust/tests/crypt.c
index 91b27fd..1f7656a 100644
--- a/dlls/wintrust/tests/crypt.c
+++ b/dlls/wintrust/tests/crypt.c
@@ -89,6 +89,8 @@ static BOOL (WINAPI * pCryptCATAdminRemoveCatalog)(HCATADMIN, LPCWSTR, DWORD);
static BOOL (WINAPI * pCryptCATAdminReleaseCatalogContext)(HCATADMIN, HCATINFO, DWORD);
static HANDLE (WINAPI * pCryptCATOpen)(LPWSTR, DWORD, HCRYPTPROV, DWORD, DWORD);
static BOOL (WINAPI * pCryptCATCatalogInfoFromContext)(HCATINFO, CATALOG_INFO *, DWORD);
+static BOOL (WINAPI * pCryptCATCDFClose)(CRYPTCATCDF *);
+static CRYPTCATCDF * (WINAPI * pCryptCATCDFOpen)(LPWSTR, PFN_CDF_PARSE_ERROR_CALLBACK);
static CRYPTCATATTRIBUTE * (WINAPI * pCryptCATEnumerateCatAttr)(HANDLE, CRYPTCATATTRIBUTE *);
static CRYPTCATMEMBER * (WINAPI * pCryptCATEnumerateMember)(HANDLE, CRYPTCATMEMBER *);
static CRYPTCATATTRIBUTE * (WINAPI * pCryptCATEnumerateAttr)(HANDLE, CRYPTCATMEMBER *, CRYPTCATATTRIBUTE *);
@@ -112,6 +114,8 @@ static void InitFunctionPtrs(void)
WINTRUST_GET_PROC(CryptCATAdminReleaseCatalogContext)
WINTRUST_GET_PROC(CryptCATOpen)
WINTRUST_GET_PROC(CryptCATCatalogInfoFromContext)
+ WINTRUST_GET_PROC(CryptCATCDFClose)
+ WINTRUST_GET_PROC(CryptCATCDFOpen)
WINTRUST_GET_PROC(CryptCATEnumerateCatAttr)
WINTRUST_GET_PROC(CryptCATEnumerateMember)
WINTRUST_GET_PROC(CryptCATEnumerateAttr)
@@ -349,6 +353,71 @@ static void test_calchash(void)
DeleteFileA(temp);
}
+static void WINAPI cdf_callback(DWORD area, DWORD error, WCHAR* line)
+{
+}
+
+static void test_CryptCATCDF_params(void)
+{
+ static WCHAR nonexistent[] = {'d','e','a','d','b','e','e','f','.','c','d','f',0};
+ static CHAR cdffileA[] = "tempfile.cdf";
+ static WCHAR cdffileW[] = {'t','e','m','p','f','i','l','e','.','c','d','f',0};
+ CRYPTCATCDF *catcdf;
+ HANDLE file;
+ BOOL ret;
+
+ if (!pCryptCATCDFOpen)
+ {
+ win_skip("CryptCATCDFOpen is not available\n");
+ return;
+ }
+
+ SetLastError(0xdeadbeef);
+ catcdf = pCryptCATCDFOpen(NULL, NULL);
+ ok(catcdf == NULL, "CryptCATCDFOpen succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+
+ SetLastError(0xdeadbeef);
+ catcdf = pCryptCATCDFOpen(NULL, cdf_callback);
+ ok(catcdf == NULL, "CryptCATCDFOpen succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+
+ /* File doesn't exist */
+ SetLastError(0xdeadbeef);
+ catcdf = pCryptCATCDFOpen(nonexistent, cdf_callback);
+ ok(catcdf == NULL, "CryptCATCDFOpen succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_FILE_NOT_FOUND, "Expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError());
+
+ /* Empty file */
+ DeleteFileA(cdffileA);
+ file = CreateFileA(cdffileA, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ ok(file != INVALID_HANDLE_VALUE, "CreateFileA failed %u\n", GetLastError());
+ CloseHandle(file);
+
+ SetLastError(0xdeadbeef);
+ catcdf = pCryptCATCDFOpen(cdffileW, cdf_callback);
+ ok(catcdf == NULL, "CryptCATCDFOpen succeeded\n");
+ todo_wine
+ ok(GetLastError() == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", GetLastError());
+ DeleteFileA(cdffileA);
+
+ SetLastError(0xdeadbeef);
+ ret = pCryptCATCDFClose(NULL);
+ ok(!ret, "Expected failure\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+
+ catcdf = NULL;
+ SetLastError(0xdeadbeef);
+ ret = pCryptCATCDFClose(catcdf);
+ ok(!ret, "Expected failure\n");
+ todo_wine
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
+}
+
static void test_CryptCATAdminAddRemoveCatalog(void)
{
static WCHAR basenameW[] = {'w','i','n','e','t','e','s','t','.','c','a','t',0};
@@ -584,6 +653,8 @@ START_TEST(crypt)
test_context();
test_calchash();
+ /* Parameter checking only */
+ test_CryptCATCDF_params();
test_CryptCATAdminAddRemoveCatalog();
test_catalog_properties();
}
More information about the wine-cvs
mailing list