[COM_APITEST]
authorThomas Faber <thomas.faber@reactos.org>
Sun, 10 Apr 2016 09:40:16 +0000 (09:40 +0000)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 10 Apr 2016 09:40:16 +0000 (09:40 +0000)
- Add some classes and interfaces related to CORE-10838.

svn path=/trunk/; revision=71136

rostests/apitests/com/CMakeLists.txt
rostests/apitests/com/browseui.c
rostests/apitests/com/com_apitest.c
rostests/apitests/com/com_apitest.h
rostests/apitests/com/ieframe.c
rostests/apitests/com/ole32.c [new file with mode: 0644]
rostests/apitests/com/shdocvw.c
rostests/apitests/com/testlist.c

index 1a29e20..9f6fd85 100644 (file)
@@ -6,6 +6,7 @@ list(APPEND SOURCE
     ieframe.c
     netcfgx.c
     netshell.c
+    ole32.c
     shdocvw.c
     shell32.c
     com_apitest.c
index a71cd8b..a1c6aaf 100644 (file)
@@ -262,6 +262,27 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   0x38,   &IID_IInputObjectSite },
         }
     },
+    {
+        ID_NAME(CLSID_SH_SearchBand),
+        {
+            {    0x0,   &IID_IUnknown },
+            {   0x74,   &IID_IOleContainer },
+            {   0x78,   &IID_IOleInPlaceFrame },
+            //{   0x78,       &IID_IOleInPlaceUIWindow },
+            {   0x78,           &IID_IOleWindow },
+            {   0xb0,   &IID_IDeskBand },
+            {   0xb0,       &IID_IDockingWindow },
+            {   0xb4,   &IID_IInputObject },
+            {   0xb8,   &IID_IObjectWithSite },
+            {   0xbc,   &IID_IContextMenu },
+            {   0xc0,   &IID_IServiceProvider },
+            {   0xc8,   &IID_ISearchBar },
+            {   0xcc,   &IID_IFileSearchBand },
+            {   0xcc,       &IID_IDispatch },
+            {   0xd0,   &IID_IBandNavigate },
+            {   0xd8,   &IID_IPersist },
+        }
+    },
     {
         ID_NAME(CLSID_SharedTaskScheduler),
         {
index b34a760..a93605d 100644 (file)
@@ -75,6 +75,8 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     { ID_NAME(IID_ICDBurnExt)                        },
     { ID_NAME(IID_ICDBurnPriv)                       },
     { ID_NAME(IID_ICallFactory),                TRUE },
+    { ID_NAME(IID_ICatInformation)                   },
+    { ID_NAME(IID_ICatRegister)                      },
     { ID_NAME(IID_IClassFactory)                     },
     { ID_NAME(IID_IClassFactory2)                    },
     { ID_NAME(IID_IClassFactory3),              TRUE },
@@ -214,6 +216,7 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     { ID_NAME(IID_IObjectWithSite)                   },
     { ID_NAME(IID_IOleClientSite)                    },
     { ID_NAME(IID_IOleCommandTarget)                 },
+    { ID_NAME(IID_IOleContainer)                     },
     { ID_NAME(IID_IOleControl)                       },
     { ID_NAME(IID_IOleControlSite)                   },
     { ID_NAME(IID_IOleInPlaceActiveObject)           },
@@ -267,6 +270,7 @@ static KNOWN_INTERFACE KnownInterfaces[] =
     { ID_NAME(IID_ISearchAssistantOC)                },
     { ID_NAME(IID_ISearchAssistantOC2)               },
     { ID_NAME(IID_ISearchAssistantOC3)               },
+    { ID_NAME(IID_ISearchBar)                        },
     { ID_NAME(IID_ISearches)                         },
     { ID_NAME(IID_ISecMgrCacheSeedTarget)            },
     { ID_NAME(IID_IServerSecurity),             TRUE },
index d90d8bf..d0d1bb6 100644 (file)
@@ -81,7 +81,6 @@ DEFINE_GUID(CLSID_CopyToMenu,              0xC2FBB630, 0x2971, 0x11D1, 0xA1, 0x8
 DEFINE_GUID(CLSID_CDBurn,                  0xfbeb8a05, 0xbeee, 0x4442, 0x80, 0x4e, 0x40, 0x9d, 0x6c, 0x45, 0x15, 0xe9);
 DEFINE_GUID(CLSID_DeskMovr,                0x72267F6A, 0xA6F9, 0x11D0, 0xBC, 0x94, 0x00, 0xC0, 0x4F, 0xB6, 0x78, 0x63);
 DEFINE_GUID(CLSID_FadeTask,                0x7EB5FBE4, 0x2100, 0x49E6, 0x85, 0x93, 0x17, 0xE1, 0x30, 0x12, 0x2F, 0x91);
-DEFINE_GUID(CLSID_FileSearchBand,          0xc4ee31f3, 0x4768, 0x11d2, 0xbe, 0x5c, 0x00, 0xa0, 0xc9, 0xa8, 0x3d, 0xa1);
 DEFINE_GUID(CLSID_FolderItem,              0xfef10fa2, 0x355e, 0x4e06, 0x93, 0x81, 0x9b, 0x24, 0xd7, 0xf7, 0xcc, 0x88);
 DEFINE_GUID(CLSID_FolderItemsFDF,          0x53c74826, 0xab99, 0x4d33, 0xac, 0xa4, 0x31, 0x17, 0xf5, 0x1d, 0x37, 0x88);
 DEFINE_GUID(CLSID_FolderViewHost,          0x20b1cb23, 0x6968, 0x4eb9, 0xb7, 0xd4, 0xa6, 0x6d, 0x00, 0xd0, 0x7c, 0xee);
@@ -159,6 +158,7 @@ DEFINE_GUID(IID_IPreviewHandler,           0x8895b1c6, 0xb41f, 0x4c1c, 0xa5, 0x6
 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);
 DEFINE_GUID(IID_ISLTracker,                0x7c9e512f, 0x41d7, 0x11d1, 0x8e, 0x2e, 0x00, 0xc0, 0x4f, 0xb9, 0x38, 0x6d);
+DEFINE_GUID(IID_ISearchBar,                0xc66abac9, 0x96d0, 0x4940, 0xbf, 0xbc, 0x8f, 0x51, 0x9c, 0xee, 0xeb, 0x13);
 DEFINE_GUID(IID_ISecMgrCacheSeedTarget,    0xfc8afc62, 0xf788, 0x4b36, 0x88, 0x89, 0xfd, 0x07, 0x3f, 0xdd, 0x2f, 0xd9);
 DEFINE_GUID(IID_IShellApp,                 0xa3e14960, 0x935f, 0x11d1, 0xb8, 0xb8, 0x00, 0x60, 0x08, 0x05, 0x93, 0x82);
 DEFINE_GUID(IID_IShellDispatch3,           0x177160ca, 0xbb5a, 0x411c, 0x84, 0x1d, 0xbd, 0x38, 0xfa, 0xcd, 0xea, 0xa0);
index ea25a00..74c0667 100644 (file)
 
 static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
 {
+    {
+        ID_NAME(CLSID_IE_SearchBand),
+        {
+            {  -0x30,   &IID_IObjectWithSite },
+            {  -0x28,   &IID_IDeskBand },
+            {  -0x28,       &IID_IDockingWindow },
+            {  -0x28,           &IID_IOleWindow },
+            {  -0x24,   &IID_IInputObject },
+            {  -0x20,   &IID_IPersistStream },
+            {  -0x20,       &IID_IPersist },
+            {  -0x1c,   &IID_IOleCommandTarget },
+            {  -0x18,   &IID_IServiceProvider },
+            {    0x0,   &IID_IContextMenu },
+            {    0x0,       &IID_IUnknown },
+            {    0x8,   &IID_IDispatch },
+            {   0x10,   &IID_IPersistPropertyBag },
+            {   0x8c,   &IID_IBandNavigate },
+        }
+    },
     {
         ID_NAME(CLSID_Internet),
         {
diff --git a/rostests/apitests/com/ole32.c b/rostests/apitests/com/ole32.c
new file mode 100644 (file)
index 0000000..221d888
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * PROJECT:         ReactOS API tests
+ * LICENSE:         LGPLv2.1+ - See COPYING.LIB in the top level directory
+ * PURPOSE:         COM interface test for ole32 classes
+ * PROGRAMMER:      Thomas Faber <thomas.faber@reactos.org>
+ */
+
+#include "com_apitest.h"
+
+#define NDEBUG
+#include <debug.h>
+
+static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
+{
+    {
+        ID_NAME(CLSID_StdComponentCategoriesMgr),
+        {
+            {    0x0,   &IID_IUnknown },
+            { FARAWY,   &IID_ICatRegister },
+            { FARAWY,   &IID_ICatInformation },
+        },
+        L"Both"
+    },
+};
+static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces);
+
+START_TEST(ole32)
+{
+    TestClasses(L"ole32", ExpectedInterfaces, ExpectedInterfaceCount);
+}
index 0580650..44ecbb6 100644 (file)
@@ -88,6 +88,45 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {    0x0,   &IID_IUnknown },
         }
     },
+    {
+        ID_NAME(CLSID_SH_FavBand),
+        {
+            {  -0x30,   &IID_IDeskBand },
+            {  -0x30,       &IID_IDockingWindow },
+            {  -0x30,           &IID_IOleWindow },
+            {  -0x2c,   &IID_IObjectWithSite },
+            {  -0x24,   &IID_IInputObject },
+            {  -0x20,   &IID_IPersistStream },
+            {  -0x20,       &IID_IPersist },
+            {  -0x1c,   &IID_IOleCommandTarget },
+            {  -0x18,   &IID_IServiceProvider },
+            {    0x0,   &IID_IContextMenu },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IBandNavigate },
+            {    0x8,   &IID_IWinEventHandler },
+            {    0xc,   &IID_INamespaceProxy },
+        }
+    },
+    {
+        ID_NAME(CLSID_SH_HistBand),
+        {
+            {  -0xb4,   &IID_IDeskBand },
+            {  -0xb4,       &IID_IDockingWindow },
+            {  -0xb4,           &IID_IOleWindow },
+            {  -0xb0,   &IID_IObjectWithSite },
+            {  -0xa8,   &IID_IInputObject },
+            {  -0xa4,   &IID_IPersistStream },
+            {  -0xa4,       &IID_IPersist },
+            {  -0xa0,   &IID_IOleCommandTarget },
+            {  -0x9c,   &IID_IServiceProvider },
+            {  -0x84,   &IID_IContextMenu },
+            {  -0x80,   &IID_IBandNavigate },
+            {  -0x7c,   &IID_IWinEventHandler },
+            {  -0x78,   &IID_INamespaceProxy },
+            {    0x0,   &IID_IShellFolderSearchableCallback },
+            {    0x0,       &IID_IUnknown },
+        }
+    },
     {
         ID_NAME(CLSID_SearchAssistantOC),
         {
@@ -114,6 +153,16 @@ static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
             {   0x40,   &IID_IObjectWithSite },
         }
     },
+    {
+        ID_NAME(CLSID_SearchBand),
+        {
+            {    0x0,   &IID_IContextMenu },
+            {    0x0,       &IID_IUnknown },
+            {    0x4,   &IID_IShellExtInit },
+            {    0x8,   &IID_IPersistPropertyBag },
+            {    0x8,       &IID_IPersist },
+        }
+    },
     {
         ID_NAME(CLSID_ShellSearchAssistantOC),
         {
index 71639d9..0311e25 100644 (file)
@@ -8,6 +8,7 @@ extern void func_ieframe(void);
 extern void func_interfaces(void);
 extern void func_netcfgx(void);
 extern void func_netshell(void);
+extern void func_ole32(void);
 extern void func_shdocvw(void);
 extern void func_shell32(void);
 
@@ -18,6 +19,7 @@ const struct test winetest_testlist[] =
     { "interfaces", func_interfaces },
     { "netcfgx", func_netcfgx },
     { "netshell", func_netshell },
+    { "ole32", func_ole32 },
     { "shdocvw", func_shdocvw },
     { "shell32", func_shell32 },