Module: wine Branch: master Commit: 210c91f9195019d2bed2eea511a36bc19827d623 URL: http://source.winehq.org/git/wine.git/?a=commit;h=210c91f9195019d2bed2eea511...
Author: Juan Lang juan.lang@gmail.com Date: Wed Jul 23 21:46:05 2008 -0700
crypt32: Test CryptRetrieveSubjectGUID with a cab file.
---
dlls/crypt32/tests/sip.c | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/dlls/crypt32/tests/sip.c b/dlls/crypt32/tests/sip.c index 09d5767..69bc18c 100644 --- a/dlls/crypt32/tests/sip.c +++ b/dlls/crypt32/tests/sip.c @@ -2,6 +2,7 @@ * Subject Interface Package tests * * Copyright 2006 Paul Vriens + * Copyright 2008 Juan Lang * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -129,6 +130,14 @@ static void test_AddRemoveProvider(void) ok ( ret, "CryptSIPRemoveProvider should have succeeded\n"); }
+static const BYTE cabFileData[] = { +0x4d,0x53,0x43,0x46,0x00,0x00,0x00,0x00,0x50,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x2c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0x01,0x00,0x01,0x00,0x00,0x00, +0xef,0xbe,0xff,0xff,0x42,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0xf7,0x38,0x4b,0xac,0x00,0x00,0x61,0x2e,0x74,0x78, +0x74,0x00,0x6d,0x5a,0x72,0x78,0x06,0x00,0x06,0x00,0x61,0x2e,0x74,0x78,0x74,0x0a, +}; + static void test_SIPRetrieveSubjectGUID(void) { BOOL ret; @@ -140,6 +149,7 @@ static void test_SIPRetrieveSubjectGUID(void) static const WCHAR deadbeef[] = { 'c',':','\','d','e','a','d','b','e','e','f','.','d','b','f',0 }; /* Couldn't find a name for this GUID, it's the one used for 95% of the files */ static const GUID unknownGUID = { 0xC689AAB8, 0x8E78, 0x11D0, { 0x8C,0x47,0x00,0xC0,0x4F,0xC2,0x95,0xEE }}; + static const GUID cabGUID = { 0xc689aaba, 0x8e78, 0x11d0, {0x8c,0x47,0x00,0xc0,0x4f,0xc2,0x95,0xee }}; static CHAR regeditPath[MAX_PATH]; static WCHAR regeditPathW[MAX_PATH]; static CHAR path[MAX_PATH]; @@ -255,6 +265,23 @@ static void test_SIPRetrieveSubjectGUID(void)
/* Clean up */ DeleteFileA(tempfile); + + /* Create a .cab file */ + file = CreateFileW(tempfileW, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL); + WriteFile(file, cabFileData, sizeof(cabFileData), &written, NULL); + CloseHandle(file); + + SetLastError(0xdeadbeef); + memset(&subject, 1, sizeof(GUID)); + ret = CryptSIPRetrieveSubjectGuid(tempfileW, NULL, &subject); + todo_wine + ok( ret, "CryptSIPRetrieveSubjectGuid failed: %d (0x%08x)\n", + GetLastError(), GetLastError() ); + todo_wine + ok ( !memcmp(&subject, &cabGUID, sizeof(GUID)), + "Expected GUID %s for cabinet file, not %s\n", show_guid(&cabGUID, guid1), show_guid(&subject, guid2)); + /* Clean up */ + DeleteFileW(tempfileW); }
static void test_SIPLoad(void)