From: Thomas Faber Date: Sun, 19 Apr 2015 21:28:09 +0000 (+0000) Subject: [COM_APITEST] X-Git-Tag: backups/colins-printing-for-freedom@73041~303 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=a04d175469e061d0651cd0068d40e32f0953a333 [COM_APITEST] - Add test for netshell classes - Add some interfaces svn path=/trunk/; revision=67313 --- diff --git a/rostests/apitests/com/CMakeLists.txt b/rostests/apitests/com/CMakeLists.txt index 0e6cfcd4136..813a4218fee 100644 --- a/rostests/apitests/com/CMakeLists.txt +++ b/rostests/apitests/com/CMakeLists.txt @@ -4,6 +4,7 @@ add_definitions(-DWINE_NO_UNICODE_MACROS) list(APPEND SOURCE browseui.c ieframe.c + netshell.c shdocvw.c shell32.c com_apitest.c diff --git a/rostests/apitests/com/com_apitest.c b/rostests/apitests/com/com_apitest.c index 9f053ee9686..9dec3dfd946 100644 --- a/rostests/apitests/com/com_apitest.c +++ b/rostests/apitests/com/com_apitest.c @@ -34,7 +34,11 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IACList), TRUE }, { ID_NAME(IID_IACList2), TRUE }, { ID_NAME(IID_IADesktopP2), TRUE }, + { ID_NAME(IID_IAccIdentity) }, + { ID_NAME(IID_IAccPropServer) }, + { ID_NAME(IID_IAccPropServices) }, { ID_NAME(IID_IAccessible) }, + { ID_NAME(IID_IAccessibleHandler) }, { ID_NAME(IID_IAccessControl), TRUE }, { ID_NAME(IID_IAccessor) }, { ID_NAME(IID_IActiveDesktop), TRUE }, @@ -88,6 +92,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IDefViewFrameGroup) }, { ID_NAME(IID_IDefViewSafety), }, { ID_NAME(IID_IDefViewScript), TRUE }, + { ID_NAME(IID_IDelayedRelease), TRUE }, { ID_NAME(IID_IDeskBand) }, { ID_NAME(IID_IDeskBandEx) }, { ID_NAME(IID_IDeskBar), TRUE }, @@ -105,6 +110,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IEnumExtraSearch) }, { ID_NAME(IID_IEnumGUID) }, { ID_NAME(IID_IEnumIDList) }, + { ID_NAME(IID_IEnumNetConnection) }, { ID_NAME(IID_IEnumShellItems) }, { ID_NAME(IID_IEnumString) }, { ID_NAME(IID_IEnumUnknown) }, @@ -132,6 +138,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IFolderViewHost), TRUE }, { ID_NAME(IID_IFolderViewOC) }, { ID_NAME(IID_IFolderViewSettings) }, + { ID_NAME(IID_IGetNameSpaceExtensionPointer),TRUE}, { ID_NAME(IID_IGlobalFolderSettings), TRUE }, { ID_NAME(IID_IHWEventHandler) }, { ID_NAME(IID_IHWEventHandler2) }, @@ -148,6 +155,12 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IMultiQI), TRUE }, { ID_NAME(IID_INamespaceProxy), TRUE }, { ID_NAME(IID_INameSpaceTreeControl), TRUE }, + { ID_NAME(IID_INetConnectionConnectUi), TRUE }, + { ID_NAME(IID_INetConnectionPropertyUi), TRUE }, + { ID_NAME(IID_INetConnectionPropertyUi2), TRUE }, + { ID_NAME(IID_INetConnectionManager) }, + { ID_NAME(IID_INewShortcutHookA), TRUE }, + { ID_NAME(IID_INewShortcutHookW), TRUE }, { ID_NAME(IID_INSCTree), TRUE }, { ID_NAME(IID_INSCTree2), TRUE }, { ID_NAME(IID_IObjMgr), TRUE }, @@ -169,6 +182,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IPersistFolder) }, { ID_NAME(IID_IPersistFolder2) }, { ID_NAME(IID_IPersistFolder3) }, + { ID_NAME(IID_IPersistFreeThreadedObject), TRUE }, { ID_NAME(IID_IPersistHistory) }, { ID_NAME(IID_IPersistIDList) }, { ID_NAME(IID_IPersistMemory) }, @@ -183,6 +197,7 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IProgressDialog), TRUE }, { ID_NAME(IID_IPropertyBag) }, { ID_NAME(IID_IPropertyBag2) }, + { ID_NAME(IID_IPropSheetPage), TRUE }, { ID_NAME(IID_IQueryAssociations), TRUE }, { ID_NAME(IID_IQueryInfo), TRUE }, { ID_NAME(IID_IRegTreeOptions), TRUE }, @@ -196,6 +211,8 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IShellBrowser) }, { ID_NAME(IID_IShellBrowserService), TRUE }, { ID_NAME(IID_IShellChangeNotify), TRUE }, + { ID_NAME(IID_IShellCopyHookA), TRUE }, + { ID_NAME(IID_IShellCopyHookW), TRUE }, { ID_NAME(IID_IShellDesktopTray), TRUE }, { ID_NAME(IID_IShellDetails), TRUE }, { ID_NAME(IID_IShellDispatch) }, @@ -203,9 +220,9 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_IShellDispatch3) }, { ID_NAME(IID_IShellDispatch4) }, { ID_NAME(IID_IShellDispatch5), TRUE }, + { ID_NAME(IID_IShellExecuteHookA), TRUE }, + { ID_NAME(IID_IShellExecuteHookW), TRUE }, { ID_NAME(IID_IShellExtInit), TRUE }, - { ID_NAME(IID_IShellPropSheetExt), TRUE }, - { ID_NAME(IID_IShellIconOverlayIdentifier), TRUE }, { ID_NAME(IID_IShellFolder) }, { ID_NAME(IID_IShellFolder2) }, { ID_NAME(IID_IShellFolderBand), TRUE }, @@ -257,6 +274,8 @@ static KNOWN_INTERFACE KnownInterfaces[] = { ID_NAME(IID_ITrayPriv), TRUE }, { ID_NAME(IID_ITrayPriv2), TRUE }, { ID_NAME(IID_IUnknown) }, + { ID_NAME(IID_IURLSearchHook), TRUE }, + { ID_NAME(IID_IURLSearchHook2), TRUE }, { ID_NAME(IID_IViewObject) }, { ID_NAME(IID_IViewObject2) }, { ID_NAME(IID_IViewObjectEx), TRUE }, diff --git a/rostests/apitests/com/com_apitest.h b/rostests/apitests/com/com_apitest.h index 51b00891ef2..172edd6f8e7 100644 --- a/rostests/apitests/com/com_apitest.h +++ b/rostests/apitests/com/com_apitest.h @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -126,9 +127,11 @@ DEFINE_GUID(IID_IFolderFilterSite, 0xc0a651f5, 0xb48b, 0x11d2, 0xb5, 0xe DEFINE_GUID(IID_IFolderView2, 0x1af3a467, 0x214f, 0x4298, 0x90, 0x8e, 0x06, 0xb0, 0x3e, 0x0b, 0x39, 0xf9); DEFINE_GUID(IID_IFolderViewHost, 0x1ea58f02, 0xd55a, 0x411d, 0xb0, 0x9e, 0x9e, 0x65, 0xac, 0x21, 0x60, 0x5b); DEFINE_GUID(IID_IFolderViewSettings, 0xae8c987d, 0x8797, 0x4ed3, 0xbe, 0x72, 0x2a, 0x47, 0xdd, 0x93, 0x8d, 0xb0); +DEFINE_GUID(IID_IGetNameSpaceExtensionPointer,0x287d4a71, 0x439f, 0x43a4, 0x8d, 0x5b, 0x0e, 0x0a, 0xe7, 0x1e, 0x84, 0xa9); DEFINE_GUID(IID_IHWEventHandler, 0xc1fb73d0, 0xec3a, 0x4ba2, 0xb5, 0x12, 0x8c, 0xdb, 0x91, 0x87, 0xb6, 0xd1); DEFINE_GUID(IID_IHWEventHandler2, 0xcfcc809f, 0x295d, 0x42e8, 0x9f, 0xfc, 0x42, 0x4b, 0x33, 0xc4, 0x87, 0xe6); DEFINE_GUID(IID_IMultiMonitorDockingSite, 0x03879de0, 0xa205, 0x11d0, 0x99, 0xcb, 0x00, 0xc0, 0x4f, 0xd6, 0x55, 0xe1); +DEFINE_GUID(IID_IPersistFreeThreadedObject,0xc7264bf0, 0xedb6, 0x11d1, 0x85, 0x46, 0x00, 0x60, 0x08, 0x05, 0x93, 0x68); DEFINE_GUID(IID_IPreviewHandler, 0x8895b1c6, 0xb41f, 0x4c1c, 0xa5, 0x62, 0x0d, 0x56, 0x42, 0x50, 0x83, 0x6f); DEFINE_GUID(IID_IPreviewHandlerFrame, 0xfec87aaf, 0x35f9, 0x447a, 0xad, 0xb7, 0x20, 0x23, 0x44, 0x91, 0x40, 0x1a); DEFINE_GUID(IID_IPreviewHandlerVisuals, 0x196bf9a5, 0xb346, 0x4ef0, 0xaa, 0x1e, 0x5d, 0xcd, 0xb7, 0x67, 0x68, 0xb1); diff --git a/rostests/apitests/com/ieframe.c b/rostests/apitests/com/ieframe.c index c45aa226ad4..864a8e33e2b 100644 --- a/rostests/apitests/com/ieframe.c +++ b/rostests/apitests/com/ieframe.c @@ -15,12 +15,20 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { ID_NAME(CLSID_ShellWindows), { - { -0xa0, &IID_IMarshal }, - { -0x20, &IID_IClientSecurity }, - { 0x0, &IID_IMultiQI }, + { -0xa0, &IID_IMarshal }, + { -0x20, &IID_IClientSecurity }, + { 0x0, &IID_IMultiQI }, + { 0x0, &IID_IUnknown }, + { FARAWY, &IID_IShellWindows }, + { FARAWY, &IID_IDispatch }, + } + }, + { + ID_NAME(CLSID_CURLSearchHook), + { + { 0x0, &IID_IURLSearchHook2 }, + { 0x0, &IID_IURLSearchHook }, { 0x0, &IID_IUnknown }, - { FARAWY, &IID_IShellWindows }, - { FARAWY, &IID_IDispatch }, } }, }; diff --git a/rostests/apitests/com/netshell.c b/rostests/apitests/com/netshell.c new file mode 100644 index 00000000000..616941618ff --- /dev/null +++ b/rostests/apitests/com/netshell.c @@ -0,0 +1,152 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: COM interface test for netshell classes + * PROGRAMMER: Thomas Faber + */ + +#include "com_apitest.h" + +#define NDEBUG +#include + +static const CLASS_AND_INTERFACES ExpectedInterfaces[] = +{ + { + ID_NAME(CLSID_ConnectionCommonUi), + { + { 0x0, &IID_IUnknown }, + }, + L"Both" + }, + { + ID_NAME(CLSID_ConnectionFolder), + { + { 0x0, &IID_IPersistFolder2 }, + { 0x0, &IID_IPersistFolder }, + { 0x0, &IID_IPersist }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_IShellExtInit }, + { 0x8, &IID_IShellFolder2 }, + { 0x8, &IID_IShellFolder }, + { 0xc, &IID_IOleCommandTarget }, + { 0x10, &IID_IShellFolderViewCB }, + }, + L"Both" + }, + { + ID_NAME(CLSID_ConnectionFolderEnum), + { + { 0x0, &IID_IEnumIDList }, + { 0x0, &IID_IUnknown }, + }, + L"Both" + }, +#if 0 + { + ID_NAME(CLSID_ConnectionManager), + { + { 0x0, &IID_IUnknown }, + } + }, +#endif + { + ID_NAME(CLSID_ConnectionTray), + { + { 0x0, &IID_IOleCommandTarget }, + { 0x0, &IID_IUnknown }, + }, + L"Both" + }, + { + ID_NAME(CLSID_DialupConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + //{ 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_DirectConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + //{ 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_InboundConnectionUi), + { + { 0x0, &IID_INetConnectionPropertyUi2 }, + { 0x0, &IID_IUnknown }, + }, + L"Both" + }, + { + ID_NAME(CLSID_InternetConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + //{ 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_LanConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + { 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_NetConnectionUiUtilities), + { + { 0x0, &IID_IUnknown }, + }, + L"Both" + }, + { + ID_NAME(CLSID_SharedAccessConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + { 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_PPPoEUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + //{ 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, + { + ID_NAME(CLSID_VpnConnectionUi), + { + { 0x0, &IID_INetConnectionConnectUi }, + { 0x0, &IID_IUnknown }, + { 0x4, &IID_INetConnectionPropertyUi2 }, + //{ 0x4, &IID_INetConnectionPropertyUi }, + }, + L"Both" + }, +}; +static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces); + +START_TEST(netshell) +{ + TestClasses(L"netshell", ExpectedInterfaces, ExpectedInterfaceCount); +} diff --git a/rostests/apitests/com/shdocvw.c b/rostests/apitests/com/shdocvw.c index c46a702695f..dfcdbca23a8 100644 --- a/rostests/apitests/com/shdocvw.c +++ b/rostests/apitests/com/shdocvw.c @@ -57,7 +57,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { ID_NAME(CLSID_ShellDispatchInproc), { - { 0x0, &IID_IUnknown }, + { 0x0, &IID_IUnknown }, } }, #endif diff --git a/rostests/apitests/com/shell32.c b/rostests/apitests/com/shell32.c index 5bd474dddbb..8cc9ce4f56f 100644 --- a/rostests/apitests/com/shell32.c +++ b/rostests/apitests/com/shell32.c @@ -274,6 +274,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x10, &IID_IPersistFolder2 }, { 0x10, &IID_IPersistFolder }, { 0x10, &IID_IPersist }, + { 0x10, &IID_IPersistFreeThreadedObject }, { FARAWY, &IID_IShellIconOverlay }, { FARAWY, &IID_IShellFolder2 }, { FARAWY, &IID_IShellFolder }, @@ -304,6 +305,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x10, &IID_IPersistFolder2 }, { 0x10, &IID_IPersistFolder }, { 0x10, &IID_IPersist }, + { 0x10, &IID_IPersistFreeThreadedObject }, { FARAWY, &IID_IShellIconOverlay }, { FARAWY, &IID_IShellFolder2 }, { FARAWY, &IID_IShellFolder }, @@ -453,6 +455,7 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] = { 0x18, &IID_IPersistFolder2 }, { 0x18, &IID_IPersistFolder }, { 0x18, &IID_IPersist }, + { 0x18, &IID_IPersistFreeThreadedObject }, { 0x1c, &IID_IStorage }, { 0x2c, &IID_IContextMenuCB }, { 0x34, &IID_IOleCommandTarget }, diff --git a/rostests/apitests/com/testlist.c b/rostests/apitests/com/testlist.c index 9aa449d576c..9f8df8df0b9 100644 --- a/rostests/apitests/com/testlist.c +++ b/rostests/apitests/com/testlist.c @@ -6,6 +6,7 @@ extern void func_browseui(void); extern void func_ieframe(void); extern void func_interfaces(void); +extern void func_netshell(void); extern void func_shdocvw(void); extern void func_shell32(void); @@ -14,6 +15,7 @@ const struct test winetest_testlist[] = { "browseui", func_browseui }, { "ieframe", func_ieframe }, { "interfaces", func_interfaces }, + { "netshell", func_netshell }, { "shdocvw", func_shdocvw }, { "shell32", func_shell32 },