[COM_APITEST]
[reactos.git] / rostests / apitests / com / browseui.c
1 /*
2 * PROJECT: ReactOS api tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: COM interface test for browseui classes
5 * PROGRAMMER: Thomas Faber <thfabba@gmx.de>
6 */
7
8 #include "com_apitest.h"
9
10 #define NDEBUG
11 #include <debug.h>
12
13 static const CLASS_AND_INTERFACES ExpectedInterfaces[] =
14 {
15 {
16 ID_NAME(CLSID_ACLMulti),
17 {
18 { 0x0, &IID_IEnumString },
19 { 0x0, &IID_IUnknown },
20 { 0x4, &IID_IObjMgr },
21 { 0x8, &IID_IACList },
22 }
23 },
24 {
25 ID_NAME(CLSID_AddressEditBox),
26 {
27 { 0x0, &IID_IWinEventHandler },
28 { 0x0, &IID_IUnknown },
29 { 0x4, &IID_IDispatch },
30 { 0x8, &IID_IAddressBand },
31 { 0xc, &IID_IAddressEditBox },
32 { 0x10, &IID_IOleCommandTarget },
33 { 0x14, &IID_IPersistStream },
34 { 0x18, &IID_IShellService },
35 }
36 },
37 {
38 ID_NAME(CLSID_BandProxy),
39 {
40 { 0x0, &IID_IBandProxy },
41 { 0x0, &IID_IUnknown },
42 }
43 },
44 {
45 ID_NAME(CLSID_BrandBand),
46 {
47 { 0x0, &IID_IDeskBand },
48 { 0x0, &IID_IDockingWindow },
49 { 0x0, &IID_IOleWindow },
50 { 0x0, &IID_IUnknown },
51 { 0x4, &IID_IObjectWithSite },
52 { 0xc, &IID_IInputObject },
53 { 0x10, &IID_IPersistStream },
54 { 0x10, &IID_IPersist },
55 { 0x14, &IID_IOleCommandTarget },
56 { 0x18, &IID_IServiceProvider },
57 { 0x30, &IID_IWinEventHandler },
58 { 0x34, &IID_IDispatch },
59 }
60 },
61 {
62 ID_NAME(CLSID_BandSiteMenu),
63 {
64 { 0x0, &IID_IContextMenu3 },
65 { 0x0, &IID_IContextMenu2 },
66 { 0x0, &IID_IContextMenu },
67 { 0x0, &IID_IUnknown },
68 { 0x4, &IID_IShellService },
69 }
70 },
71 {
72 ID_NAME(CLSID_CCommonBrowser),
73 {
74 { 0x0, &IID_IUnknown },
75 { 0xc, &IID_IShellBrowser },
76 { 0xc, &IID_IOleWindow },
77 { 0x10, &IID_IBrowserService3 },
78 { 0x10, &IID_IBrowserService2 },
79 { 0x10, &IID_IBrowserService },
80 { 0x14, &IID_IServiceProvider },
81 { 0x18, &IID_IOleCommandTarget },
82 { 0x1c, &IID_IDockingWindowSite },
83 { 0x20, &IID_IDockingWindowFrame },
84 { 0x24, &IID_IInputObjectSite },
85 { 0x28, &IID_IDropTarget },
86 { 0x2c, &IID_IShellBrowserService },
87 }
88 },
89 {
90 ID_NAME(CLSID_CRegTreeOptions),
91 {
92 { 0x0, &IID_IRegTreeOptions },
93 { 0x0, &IID_IUnknown },
94 { 0x4, &IID_IObjectWithSite },
95 }
96 },
97 {
98 ID_NAME(CLSID_DeskBar),
99 {
100 { -0xb8, &IID_IOleCommandTarget },
101 { -0xb4, &IID_IServiceProvider },
102 { -0xb0, &IID_IDeskBar },
103 { -0xb0, &IID_IOleWindow },
104 { -0xac, &IID_IInputObjectSite },
105 { -0xa8, &IID_IInputObject },
106 { -0x70, &IID_IDockingWindow },
107 { -0x6c, &IID_IObjectWithSite },
108 { -0x68, &IID_IPersistStreamInit },
109 { -0x68, &IID_IPersistStream },
110 { -0x68, &IID_IPersist },
111 { -0x64, &IID_IPersistPropertyBag },
112 { 0x0, &IID_IUnknown },
113 }
114 },
115 {
116 ID_NAME(CLSID_DeskBarApp),
117 {
118 { -0xb8, &IID_IOleCommandTarget },
119 { -0xb4, &IID_IServiceProvider },
120 { -0xb0, &IID_IDeskBar },
121 { -0xb0, &IID_IOleWindow },
122 { -0xac, &IID_IInputObjectSite },
123 { -0xa8, &IID_IInputObject },
124 { -0x70, &IID_IDockingWindow },
125 { -0x6c, &IID_IObjectWithSite },
126 { -0x68, &IID_IPersistStreamInit },
127 { -0x68, &IID_IPersistStream },
128 { -0x68, &IID_IPersist },
129 { -0x64, &IID_IPersistPropertyBag },
130 { 0x0, &IID_IUnknown },
131 { 0x8, &IID_IContextMenu3 },
132 { 0x8, &IID_IContextMenu2 },
133 { 0x8, &IID_IContextMenu },
134 }
135 },
136 {
137 ID_NAME(CLSID_GlobalFolderSettings),
138 {
139 { 0x0, &IID_IGlobalFolderSettings },
140 { 0x0, &IID_IUnknown },
141 },
142 L"Both"
143 },
144 {
145 ID_NAME(CLSID_InternetToolbar),
146 {
147 { -0x54, &IID_IOleCommandTarget },
148 { -0x50, &IID_IServiceProvider },
149 { -0x4c, &IID_IDeskBar },
150 { -0x4c, &IID_IOleWindow },
151 { -0x48, &IID_IInputObjectSite },
152 { -0x44, &IID_IInputObject },
153 { -0xc, &IID_IDockingWindow },
154 { -0x8, &IID_IObjectWithSite },
155 { -0x4, &IID_IExplorerToolbar },
156 { 0x0, &IID_IDispatch },
157 { 0x0, &IID_IUnknown },
158 { 0x4, &IID_IPersistStreamInit },
159 { 0x8, &IID_IShellChangeNotify },
160 }
161 },
162 {
163 ID_NAME(CLSID_RebarBandSite),
164 {
165 { 0x0, &IID_IUnknown },
166 { 0xc, &IID_IBandSite },
167 { 0x10, &IID_IInputObjectSite },
168 { 0x14, &IID_IInputObject },
169 { 0x18, &IID_IDeskBarClient },
170 { 0x18, &IID_IOleWindow },
171 { 0x1c, &IID_IWinEventHandler },
172 { 0x20, &IID_IPersistStream },
173 { 0x20, &IID_IPersist },
174 { 0x24, &IID_IDropTarget },
175 { 0x28, &IID_IServiceProvider },
176 { 0x2c, &IID_IBandSiteHelper },
177 { 0x30, &IID_IOleCommandTarget },
178 }
179 },
180 {
181 ID_NAME(CLSID_SH_AddressBand),
182 {
183 { 0x0, &IID_IDeskBand },
184 { 0x0, &IID_IDockingWindow },
185 { 0x0, &IID_IOleWindow },
186 { 0x0, &IID_IUnknown },
187 { 0x4, &IID_IObjectWithSite },
188 { 0xc, &IID_IInputObject },
189 { 0x10, &IID_IPersistStream },
190 { 0x10, &IID_IPersist },
191 { 0x14, &IID_IOleCommandTarget },
192 { 0x18, &IID_IServiceProvider },
193 { 0x30, &IID_IWinEventHandler },
194 { 0x34, &IID_IAddressBand },
195 { 0x38, &IID_IInputObjectSite },
196 }
197 },
198 {
199 ID_NAME(CLSID_ShellSearchExt),
200 {
201 { 0x0, &IID_IContextMenu },
202 { 0x0, &IID_IUnknown },
203 { 0x4, &IID_IObjectWithSite },
204 }
205 },
206 };
207 static const INT ExpectedInterfaceCount = RTL_NUMBER_OF(ExpectedInterfaces);
208
209 START_TEST(browseui)
210 {
211 TestClasses(L"browseui", ExpectedInterfaces, ExpectedInterfaceCount);
212 }