urlmon: Fixed handling MIME type in Binding object.
[wine] / dlls / urlmon / tests / generated.c
1 /* File generated automatically from tools/winapi/test.dat; do not edit! */
2 /* This file can be copied, modified and distributed without restriction. */
3
4 /*
5  * Unit tests for data structure packing
6  */
7
8 #define WINVER 0x0501
9 #define _WIN32_IE 0x0501
10 #define _WIN32_WINNT 0x0501
11
12 #define WINE_NOWINSOCK
13
14 #include <stdarg.h>
15 #include "windef.h"
16 #include "winbase.h"
17 #include "urlmon.h"
18
19 #include "wine/test.h"
20
21 /***********************************************************************
22  * Compability macros
23  */
24
25 #define DWORD_PTR UINT_PTR
26 #define LONG_PTR INT_PTR
27 #define ULONG_PTR UINT_PTR
28
29 /***********************************************************************
30  * Windows API extension
31  */
32
33 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
34 # define FIELD_ALIGNMENT(type, field) __alignof(((type*)0)->field)
35 #elif defined(__GNUC__)
36 # define FIELD_ALIGNMENT(type, field) __alignof__(((type*)0)->field)
37 #else
38 /* FIXME: Not sure if is possible to do without compiler extension */
39 #endif
40
41 #if defined(_MSC_VER) && (_MSC_VER >= 1300) && defined(__cplusplus)
42 # define _TYPE_ALIGNMENT(type) __alignof(type)
43 #elif defined(__GNUC__)
44 # define _TYPE_ALIGNMENT(type) __alignof__(type)
45 #else
46 /*
47  * FIXME: Not sure if is possible to do without compiler extension
48  *        (if type is not just a name that is, if so the normal)
49  *         TYPE_ALIGNMENT can be used)
50  */
51 #endif
52
53 #if defined(TYPE_ALIGNMENT) && defined(_MSC_VER) && _MSC_VER >= 800 && !defined(__cplusplus)
54 #pragma warning(disable:4116)
55 #endif
56
57 #if !defined(TYPE_ALIGNMENT) && defined(_TYPE_ALIGNMENT)
58 # define TYPE_ALIGNMENT _TYPE_ALIGNMENT
59 #endif
60
61 /***********************************************************************
62  * Test helper macros
63  */
64
65 #ifdef FIELD_ALIGNMENT
66 # define TEST_FIELD_ALIGNMENT(type, field, align) \
67    ok(FIELD_ALIGNMENT(type, field) == align, \
68        "FIELD_ALIGNMENT(" #type ", " #field ") == %d (expected " #align ")\n", \
69            (int)FIELD_ALIGNMENT(type, field))
70 #else
71 # define TEST_FIELD_ALIGNMENT(type, field, align) do { } while (0)
72 #endif
73
74 #define TEST_FIELD_OFFSET(type, field, offset) \
75     ok(FIELD_OFFSET(type, field) == offset, \
76         "FIELD_OFFSET(" #type ", " #field ") == %ld (expected " #offset ")\n", \
77              (long int)FIELD_OFFSET(type, field))
78
79 #ifdef _TYPE_ALIGNMENT
80 #define TEST__TYPE_ALIGNMENT(type, align) \
81     ok(_TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)_TYPE_ALIGNMENT(type))
82 #else
83 # define TEST__TYPE_ALIGNMENT(type, align) do { } while (0)
84 #endif
85
86 #ifdef TYPE_ALIGNMENT
87 #define TEST_TYPE_ALIGNMENT(type, align) \
88     ok(TYPE_ALIGNMENT(type) == align, "TYPE_ALIGNMENT(" #type ") == %d (expected " #align ")\n", (int)TYPE_ALIGNMENT(type))
89 #else
90 # define TEST_TYPE_ALIGNMENT(type, align) do { } while (0)
91 #endif
92
93 #define TEST_TYPE_SIZE(type, size) \
94     ok(sizeof(type) == size, "sizeof(" #type ") == %d (expected " #size ")\n", ((int) sizeof(type)))
95
96 /***********************************************************************
97  * Test macros
98  */
99
100 #define TEST_FIELD(type, field_type, field_name, field_offset, field_size, field_align) \
101   TEST_TYPE_SIZE(field_type, field_size); \
102   TEST_FIELD_ALIGNMENT(type, field_name, field_align); \
103   TEST_FIELD_OFFSET(type, field_name, field_offset); \
104
105 #define TEST_TYPE(type, size, align) \
106   TEST_TYPE_ALIGNMENT(type, align); \
107   TEST_TYPE_SIZE(type, size)
108
109 #define TEST_TYPE_POINTER(type, size, align) \
110     TEST__TYPE_ALIGNMENT(*(type)0, align); \
111     TEST_TYPE_SIZE(*(type)0, size)
112
113 #define TEST_TYPE_SIGNED(type) \
114     ok((type) -1 < 0, "(" #type ") -1 < 0\n");
115
116 #define TEST_TYPE_UNSIGNED(type) \
117      ok((type) -1 > 0, "(" #type ") -1 > 0\n");
118
119 static void test_pack_BINDINFO(void)
120 {
121     /* BINDINFO (pack 4) */
122     TEST_FIELD(BINDINFO, ULONG, cbSize, 0, 4, 4);
123     TEST_FIELD(BINDINFO, LPWSTR, szExtraInfo, 4, 4, 4);
124 }
125
126 static void test_pack_IBindHost(void)
127 {
128     /* IBindHost */
129 }
130
131 static void test_pack_IBindHostVtbl(void)
132 {
133     /* IBindHostVtbl (pack 4) */
134 }
135
136 static void test_pack_IBindStatusCallback(void)
137 {
138     /* IBindStatusCallback */
139 }
140
141 static void test_pack_IBindStatusCallbackVtbl(void)
142 {
143     /* IBindStatusCallbackVtbl (pack 4) */
144 }
145
146 static void test_pack_IBinding(void)
147 {
148     /* IBinding */
149 }
150
151 static void test_pack_IBindingVtbl(void)
152 {
153     /* IBindingVtbl (pack 4) */
154 }
155
156 static void test_pack_IInternetProtocolInfo(void)
157 {
158     /* IInternetProtocolInfo */
159 }
160
161 static void test_pack_IInternetProtocolInfoVtbl(void)
162 {
163     /* IInternetProtocolInfoVtbl (pack 4) */
164 }
165
166 static void test_pack_IInternetSession(void)
167 {
168     /* IInternetSession */
169 }
170
171 static void test_pack_IInternetSessionVtbl(void)
172 {
173     /* IInternetSessionVtbl (pack 4) */
174 }
175
176 static void test_pack_IPersistMoniker(void)
177 {
178     /* IPersistMoniker */
179 }
180
181 static void test_pack_IPersistMonikerVtbl(void)
182 {
183     /* IPersistMonikerVtbl (pack 4) */
184 }
185
186 static void test_pack_IWinInetHttpInfo(void)
187 {
188     /* IWinInetHttpInfo */
189 }
190
191 static void test_pack_IWinInetHttpInfoVtbl(void)
192 {
193     /* IWinInetHttpInfoVtbl (pack 4) */
194 }
195
196 static void test_pack_IWinInetInfo(void)
197 {
198     /* IWinInetInfo */
199 }
200
201 static void test_pack_IWinInetInfoVtbl(void)
202 {
203     /* IWinInetInfoVtbl (pack 4) */
204 }
205
206 static void test_pack_LPBINDHOST(void)
207 {
208     /* LPBINDHOST */
209     TEST_TYPE(LPBINDHOST, 4, 4);
210 }
211
212 static void test_pack_LPBINDING(void)
213 {
214     /* LPBINDING */
215     TEST_TYPE(LPBINDING, 4, 4);
216 }
217
218 static void test_pack_LPBINDSTATUSCALLBACK(void)
219 {
220     /* LPBINDSTATUSCALLBACK */
221     TEST_TYPE(LPBINDSTATUSCALLBACK, 4, 4);
222 }
223
224 static void test_pack_LPIINTERNETPROTOCOLINFO(void)
225 {
226     /* LPIINTERNETPROTOCOLINFO */
227     TEST_TYPE(LPIINTERNETPROTOCOLINFO, 4, 4);
228 }
229
230 static void test_pack_LPIINTERNETSESSION(void)
231 {
232     /* LPIINTERNETSESSION */
233     TEST_TYPE(LPIINTERNETSESSION, 4, 4);
234 }
235
236 static void test_pack_LPPERSISTMONIKER(void)
237 {
238     /* LPPERSISTMONIKER */
239     TEST_TYPE(LPPERSISTMONIKER, 4, 4);
240 }
241
242 static void test_pack_LPREMFORMATETC(void)
243 {
244     /* LPREMFORMATETC */
245     TEST_TYPE(LPREMFORMATETC, 4, 4);
246 }
247
248 static void test_pack_LPREMSECURITY_ATTRIBUTES(void)
249 {
250     /* LPREMSECURITY_ATTRIBUTES */
251     TEST_TYPE(LPREMSECURITY_ATTRIBUTES, 4, 4);
252 }
253
254 static void test_pack_LPWININETHTTPINFO(void)
255 {
256     /* LPWININETHTTPINFO */
257     TEST_TYPE(LPWININETHTTPINFO, 4, 4);
258 }
259
260 static void test_pack_LPWININETINFO(void)
261 {
262     /* LPWININETINFO */
263     TEST_TYPE(LPWININETINFO, 4, 4);
264 }
265
266 static void test_pack_PREMSECURITY_ATTRIBUTES(void)
267 {
268     /* PREMSECURITY_ATTRIBUTES */
269     TEST_TYPE(PREMSECURITY_ATTRIBUTES, 4, 4);
270 }
271
272 static void test_pack_REMSECURITY_ATTRIBUTES(void)
273 {
274     /* REMSECURITY_ATTRIBUTES (pack 4) */
275     TEST_TYPE(REMSECURITY_ATTRIBUTES, 12, 4);
276     TEST_FIELD(REMSECURITY_ATTRIBUTES, DWORD, nLength, 0, 4, 4);
277     TEST_FIELD(REMSECURITY_ATTRIBUTES, DWORD, lpSecurityDescriptor, 4, 4, 4);
278     TEST_FIELD(REMSECURITY_ATTRIBUTES, BOOL, bInheritHandle, 8, 4, 4);
279 }
280
281 static void test_pack_RemBINDINFO(void)
282 {
283     /* RemBINDINFO (pack 4) */
284     TEST_TYPE(RemBINDINFO, 72, 4);
285     TEST_FIELD(RemBINDINFO, ULONG, cbSize, 0, 4, 4);
286     TEST_FIELD(RemBINDINFO, LPWSTR, szExtraInfo, 4, 4, 4);
287     TEST_FIELD(RemBINDINFO, DWORD, grfBindInfoF, 8, 4, 4);
288     TEST_FIELD(RemBINDINFO, DWORD, dwBindVerb, 12, 4, 4);
289     TEST_FIELD(RemBINDINFO, LPWSTR, szCustomVerb, 16, 4, 4);
290     TEST_FIELD(RemBINDINFO, DWORD, cbstgmedData, 20, 4, 4);
291     TEST_FIELD(RemBINDINFO, DWORD, dwOptions, 24, 4, 4);
292     TEST_FIELD(RemBINDINFO, DWORD, dwOptionsFlags, 28, 4, 4);
293     TEST_FIELD(RemBINDINFO, DWORD, dwCodePage, 32, 4, 4);
294     TEST_FIELD(RemBINDINFO, REMSECURITY_ATTRIBUTES, securityAttributes, 36, 12, 4);
295     TEST_FIELD(RemBINDINFO, IID, iid, 48, 16, 4);
296     TEST_FIELD(RemBINDINFO, IUnknown *, pUnk, 64, 4, 4);
297     TEST_FIELD(RemBINDINFO, DWORD, dwReserved, 68, 4, 4);
298 }
299
300 static void test_pack_RemFORMATETC(void)
301 {
302     /* RemFORMATETC (pack 4) */
303     TEST_TYPE(RemFORMATETC, 20, 4);
304     TEST_FIELD(RemFORMATETC, DWORD, cfFormat, 0, 4, 4);
305     TEST_FIELD(RemFORMATETC, DWORD, ptd, 4, 4, 4);
306     TEST_FIELD(RemFORMATETC, DWORD, dwAspect, 8, 4, 4);
307     TEST_FIELD(RemFORMATETC, LONG, lindex, 12, 4, 4);
308     TEST_FIELD(RemFORMATETC, DWORD, tymed, 16, 4, 4);
309 }
310
311 static void test_pack(void)
312 {
313     test_pack_BINDINFO();
314     test_pack_IBindHost();
315     test_pack_IBindHostVtbl();
316     test_pack_IBindStatusCallback();
317     test_pack_IBindStatusCallbackVtbl();
318     test_pack_IBinding();
319     test_pack_IBindingVtbl();
320     test_pack_IInternetProtocolInfo();
321     test_pack_IInternetProtocolInfoVtbl();
322     test_pack_IInternetSession();
323     test_pack_IInternetSessionVtbl();
324     test_pack_IPersistMoniker();
325     test_pack_IPersistMonikerVtbl();
326     test_pack_IWinInetHttpInfo();
327     test_pack_IWinInetHttpInfoVtbl();
328     test_pack_IWinInetInfo();
329     test_pack_IWinInetInfoVtbl();
330     test_pack_LPBINDHOST();
331     test_pack_LPBINDING();
332     test_pack_LPBINDSTATUSCALLBACK();
333     test_pack_LPIINTERNETPROTOCOLINFO();
334     test_pack_LPIINTERNETSESSION();
335     test_pack_LPPERSISTMONIKER();
336     test_pack_LPREMFORMATETC();
337     test_pack_LPREMSECURITY_ATTRIBUTES();
338     test_pack_LPWININETHTTPINFO();
339     test_pack_LPWININETINFO();
340     test_pack_PREMSECURITY_ATTRIBUTES();
341     test_pack_REMSECURITY_ATTRIBUTES();
342     test_pack_RemBINDINFO();
343     test_pack_RemFORMATETC();
344 }
345
346 START_TEST(generated)
347 {
348     test_pack();
349 }