/* * PROJECT: ReactOS API tests * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) * PURPOSE: COM interface test for zipfldr classes * COPYRIGHT: Copyright 2017 Mark Jansen (mark.jansen@reactos.org) */ #include "com_apitest.h" #define NDEBUG #include /* This is only tested on w10 & 2k3, so the defines might be wrong for the other versions. CLSID_ZipFolderStorageHandler and CLSID_ZipFolderContextMenu seem to be the same. */ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { { ID_NAME(CLSID_ZipFolderStorageHandler), { { 0x0, &IID_IShellFolder2 }, { 0x0, &IID_IShellFolder }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IStorage }, { 0x8, &IID_IContextMenu }, { 0xc, &IID_IShellExtInit }, #if _WIN32_WINNT < 0x0a00 { 0x10, &IID_IPersistFile }, { 0x14, &IID_IPersistFolder2 }, { 0x14, &IID_IPersistFolder }, { 0x14, &IID_IPersist }, #else { 0x10, &IID_IPersistFolder2 }, { 0x10, &IID_IPersistFolder }, { 0x10, &IID_IPersist }, { 0x14, &IID_IFolderType }, #endif }, L"Apartment" }, { ID_NAME(CLSID_ZipFolderSendTo), { #if _WIN32_WINNT >= 0x0a00 { -0x8, &IID_IObjectWithSite }, #endif { 0x0, &IID_IDropTarget }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IPersistFile }, { 0x4, &IID_IPersist }, }, L"Apartment" }, { ID_NAME(CLSID_ZipFolderContextMenu), { { 0x0, &IID_IShellFolder2 }, { 0x0, &IID_IShellFolder }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IStorage }, { 0x8, &IID_IContextMenu }, { 0xc, &IID_IShellExtInit }, #if _WIN32_WINNT < 0x0a00 { 0x10, &IID_IPersistFile }, { 0x14, &IID_IPersistFolder2 }, { 0x14, &IID_IPersistFolder }, { 0x14, &IID_IPersist }, #else { 0x10, &IID_IPersistFolder2 }, { 0x10, &IID_IPersistFolder }, { 0x10, &IID_IPersist }, { 0x14, &IID_IFolderType }, #endif }, L"Apartment" }, { ID_NAME(CLSID_ZipFolderRightDragHandler), { { -0x4, &IID_IContextMenu }, { 0x0, &IID_IShellExtInit }, { 0x0, &IID_IUnknown }, }, L"Apartment" }, { ID_NAME(CLSID_ZipFolderDropHandler), { #if _WIN32_WINNT < 0x0a00 { 0x0, &IID_IDropTarget }, { 0x0, &IID_IUnknown }, { 0x4, &IID_IPersistFile }, { 0x4, &IID_IPersist }, #else { -0x4, &IID_IDropTarget }, { 0x0, &IID_IUnknown }, #endif }, L"Apartment" }, }; static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces); START_TEST(zipfldr) { TestClasses(L"zipfldr", ExpectedInterfaces, ExpectedInterfaceCount); }