28#include "vbsregexp55.h"
34#define IActiveScriptParse_QueryInterface IActiveScriptParse64_QueryInterface
35#define IActiveScriptParse_Release IActiveScriptParse64_Release
36#define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew
37#define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText
38#define IActiveScriptParseProcedure2_Release IActiveScriptParseProcedure2_64_Release
39#define IActiveScriptParseProcedure2_ParseProcedureText IActiveScriptParseProcedure2_64_ParseProcedureText
43#define IActiveScriptParse_QueryInterface IActiveScriptParse32_QueryInterface
44#define IActiveScriptParse_Release IActiveScriptParse32_Release
45#define IActiveScriptParse_InitNew IActiveScriptParse32_InitNew
46#define IActiveScriptParse_ParseScriptText IActiveScriptParse32_ParseScriptText
47#define IActiveScriptParseProcedure2_Release IActiveScriptParseProcedure2_32_Release
48#define IActiveScriptParseProcedure2_ParseProcedureText IActiveScriptParseProcedure2_32_ParseProcedureText
55#define DEFINE_EXPECT(func) \
56 static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
58#define SET_EXPECT(func) \
59 expect_ ## func = TRUE
61#define REF_EXPECT(func) \
62 (&expect_ ## func), (&called_ ## func)
64#define CHECK_EXPECT2(func) \
66 ok(expect_ ##func, "unexpected call " #func "\n"); \
67 called_ ## func = TRUE; \
70#define CHECK_EXPECT(func) \
72 CHECK_EXPECT2(func); \
73 expect_ ## func = FALSE; \
76#define CHECK_CALLED(func) \
78 ok(called_ ## func, "expected " #func "\n"); \
79 expect_ ## func = called_ ## func = FALSE; \
82#define CHECK_NOT_CALLED(func) \
84 ok(!called_ ## func, "unexpected " #func "\n"); \
85 expect_ ## func = called_ ## func = FALSE; \
88#define CLEAR_CALLED(func) \
89 expect_ ## func = called_ ## func = FALSE
121#define DISPID_GLOBAL_REPORTSUCCESS 1000
122#define DISPID_GLOBAL_TRACE 1001
123#define DISPID_GLOBAL_OK 1002
124#define DISPID_GLOBAL_GETVT 1003
125#define DISPID_GLOBAL_ISENGLANG 1004
126#define DISPID_GLOBAL_VBVAR 1005
127#define DISPID_GLOBAL_TESTOBJ 1006
128#define DISPID_GLOBAL_ISNULLDISP 1007
129#define DISPID_GLOBAL_TESTDISP 1008
130#define DISPID_GLOBAL_REFOBJ 1009
131#define DISPID_GLOBAL_COUNTER 1010
132#define DISPID_GLOBAL_PROPARGPUT 1011
133#define DISPID_GLOBAL_PROPARGPUT1 1012
134#define DISPID_GLOBAL_COLLOBJ 1013
135#define DISPID_GLOBAL_DOUBLEASSTRING 1014
136#define DISPID_GLOBAL_TESTARRAY 1015
137#define DISPID_GLOBAL_THROWINT 1016
138#define DISPID_GLOBAL_TESTOPTIONALARG 1017
139#define DISPID_GLOBAL_LETOBJ 1018
140#define DISPID_GLOBAL_SETOBJ 1019
141#define DISPID_GLOBAL_TODO_WINE_OK 1020
142#define DISPID_GLOBAL_WEEKSTARTDAY 1021
143#define DISPID_GLOBAL_GLOBALCALLBACK 1022
144#define DISPID_GLOBAL_TESTERROROBJECT 1023
145#define DISPID_GLOBAL_THROWWITHDESC 1024
146#define DISPID_GLOBAL_PROPARGSET 1025
147#define DISPID_GLOBAL_UNKOBJ 1026
148#define DISPID_GLOBAL_THROWEXCEPTION 1027
149#define DISPID_GLOBAL_ISARRAYFIXED 1028
150#define DISPID_GLOBAL_MAXCHARSIZE 1029
152#define DISPID_TESTOBJ_PROPGET 2000
153#define DISPID_TESTOBJ_PROPPUT 2001
154#define DISPID_TESTOBJ_KEYWORD 2002
156#define DISPID_COLLOBJ_RESET 3000
158#define FACILITY_VBS 0xa
159#define MAKE_VBSERROR(code) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_VBS, code)
211 return "VT_DISPATCH";
217 return "VT_ARRAY|VT_VARIANT";
219 return "VT_ARRAY|VT_BYREF|VT_VARIANT";
223 ok(0,
"unknown vt %d\n",
V_VT(
v));
262 ok(0,
"unexpected call\n");
294 DISPID id, public_prop_id, public_prop2_id, public_func_id, public_sub_id, defvalget_id, gs_getter_id;
295 DISPID named_args[5] = {DISPID_PROPERTYPUT};
297 DISPPARAMS dp = {
args, named_args};
303 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
304 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08lx\n",
hres);
307 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_prop_id);
312 hres = IDispatchEx_GetDispID(dispex,
str, 0, &
id);
315 ok(public_prop_id ==
id,
"id = %ld\n", public_prop_id);
318 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_prop2_id);
323 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &defvalget_id);
326 ok(defvalget_id == DISPID_VALUE,
"id = %ld\n", defvalget_id);
329 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
332 ok(
id == -1,
"id = %ld\n",
id);
335 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
345 dp.cArgs = dp.cNamedArgs = 1;
351 dp.cArgs = dp.cNamedArgs = 0;
357 dp.cArgs = dp.cNamedArgs = 0;
363 dp.cArgs = dp.cNamedArgs = 0;
377 dp.cArgs = dp.cNamedArgs = 1;
382 dp.cArgs = dp.cNamedArgs = 0;
390 dp.cArgs = dp.cNamedArgs = 1;
396 dp.cArgs = dp.cNamedArgs = 1;
400 dp.cArgs = dp.cNamedArgs = 0;
408 dp.cArgs = dp.cNamedArgs = 1;
412 dp.cArgs = dp.cNamedArgs = 0;
420 dp.cArgs = dp.cNamedArgs = 1;
433 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_func_id);
435 ok(
hres ==
S_OK,
"GetDispID(publicFunction) failed: %08lx\n",
hres);
436 ok(public_func_id != -1,
"public_func_id = -1\n");
439 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_sub_id);
442 ok(public_sub_id != -1,
"public_func_id = -1\n");
444 dp.cArgs = dp.cNamedArgs = 0;
450 dp.cArgs = dp.cNamedArgs = 0;
455 dp.cArgs = dp.cNamedArgs = 0;
461 dp.cArgs = dp.cNamedArgs = 0;
466 dp.cArgs = dp.cNamedArgs = 0;
471 dp.cArgs = dp.cNamedArgs = 0;
478 dp.cArgs = dp.cNamedArgs = 1;
482 dp.cArgs = dp.cNamedArgs = 0;
488 dp.cArgs = dp.cNamedArgs = 0;
494 dp.cArgs = dp.cNamedArgs = 0;
500 dp.cArgs = dp.cNamedArgs = 0;
505 dp.cArgs = dp.cNamedArgs = 0;
511 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
514 ok(
id == -1,
"id = %ld\n",
id);
517 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive|fdexNameEnsure, &
id);
519 ok(
id == -1,
"id = %ld\n",
id);
520 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameEnsure, &
id);
522 ok(
id == -1,
"id = %ld\n",
id);
526 hres = IDispatchEx_GetDispID(dispex,
str, 0x80000000|fdexNameCaseInsensitive, &public_prop_id);
532 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseSensitive, &
id);
535 ok(
id == public_prop_id,
"id = %ld, expected %ld\n",
id, public_prop_id);
539 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseSensitive, &
id);
542 ok(
id == public_prop_id,
"id = %ld, expected %ld\n",
id, public_prop_id);
545 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &gs_getter_id);
547 ok(
hres ==
S_OK,
"GetDispID(publicFunction) failed: %08lx\n",
hres);
548 ok(gs_getter_id != -1,
"gs_getter_id = -1\n");
578 IDispatchEx_Release(dispex);
583 int i, exdims = indims;
587 ok(safearray->
cDims == exdims,
"safearray->cDims = %d, expected %d\n", safearray->
cDims, exdims);
588 ok(safearray->
fFeatures == (FADF_VARIANT|FADF_HAVEVARTYPE|FADF_FIXEDSIZE|FADF_STATIC),
589 "safearray->fFeatures = %x\n", safearray->
fFeatures);
591 ok(!safearray->
cLocks,
"safearray->cLocks = %lx\n", safearray->
cLocks);
593 for(
i=0;
i < safearray->
cDims;
i++) {
600#define test_grfdex(a,b) _test_grfdex(__LINE__,a,b)
670 ok(celt == 1,
"celt = %ld\n", celt);
672 ok(!pCeltFetched,
"pCeltFetched = %p\n", pCeltFetched);
685 ok(0,
"unexpected call\n");
691 ok(0,
"unexpected call\n");
697 ok(0,
"unexpected call\n");
724 for(
i = 0;
i < dispids_cnt;
i++) {
773 ok(0,
"unexpected call\n");
784 LPOLESTR *rgszNames,
UINT cNames,
787 ok(0,
"unexpected call\n");
793 VARIANT *pVarResult, EXCEPINFO *pExcepInfo,
UINT *puArgErr)
795 ok(0,
"unexpected call\n");
807 ok(0,
"unexpected call\n");
813 ok(0,
"unexpected call\n");
819 ok(0,
"unexpected call\n");
825 ok(0,
"unexpected call\n");
831 ok(0,
"unexpected call\n");
837 ok(0,
"unexpected call\n");
844 ok(0,
"unexpected call %ld\n",
id);
929 ok(pdp !=
NULL,
"pdp == NULL\n");
930 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
931 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
932 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
933 ok(pei !=
NULL,
"pei == NULL\n");
935 for(
i=0;
i<pdp->cArgs;
i++) {
936 arg = pdp->rgvarg+pdp->cArgs-
i-1;
942 V_I2(pvarRes) = pdp->cArgs;
948 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
949 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
950 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
951 ok(!pvarRes,
"pvarRes != NULL\n");
952 ok(pei !=
NULL,
"pei == NULL\n");
954 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(args[0]) = %d\n",
V_VT(pdp->rgvarg));
955 ok(
V_I2(pdp->rgvarg) == 0,
"V_I2(args[0]) = %d\n",
V_I2(pdp->rgvarg));
956 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(args[1]) = %d\n",
V_VT(pdp->rgvarg+1));
957 ok(
V_I2(pdp->rgvarg+1) == 2,
"V_I2(args[1]) = %d\n",
V_I2(pdp->rgvarg+1));
958 ok(
V_VT(pdp->rgvarg+2) ==
VT_I2,
"V_VT(args[2]) = %d\n",
V_VT(pdp->rgvarg+2));
959 ok(
V_I2(pdp->rgvarg+2) == 1,
"V_I2(args[2]) = %d\n",
V_I2(pdp->rgvarg+2));
969 ok(pdp !=
NULL,
"pdp == NULL\n");
970 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
971 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
972 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
973 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
974 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
975 ok(pei !=
NULL,
"pei == NULL\n");
984 ok(pdp !=
NULL,
"pdp == NULL\n");
985 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
986 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
987 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
988 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
989 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
990 ok(!pvarRes,
"pvarRes != NULL\n");
991 ok(pei !=
NULL,
"pei == NULL\n");
993 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
994 ok(
V_I2(pdp->rgvarg) == 1,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1003 ok(0,
"unexpected call %ld\n",
id);
1067 case DISPID_NEWENUM:
1072 ok(pdp !=
NULL,
"pdp == NULL\n");
1073 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
1074 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1075 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1076 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1077 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1078 ok(pei !=
NULL,
"pei == NULL\n");
1088 ok(0,
"unexpected call %ld\n",
id);
1158 static const dispid_t dispids[] = {
1207 ok(
wFlags == INVOKE_FUNC ||
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1208 ok(pdp !=
NULL,
"pdp == NULL\n");
1209 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1210 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1211 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1212 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1213 if(
wFlags & INVOKE_PROPERTYGET)
1214 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1216 ok(!pvarRes,
"pvarRes != NULL\n");
1217 ok(pei !=
NULL,
"pei == NULL\n");
1219 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1234 ok(pdp !=
NULL,
"pdp == NULL\n");
1235 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1236 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1237 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1238 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1239 ok(!pvarRes,
"pvarRes != NULL\n");
1240 ok(pei !=
NULL,
"pei == NULL\n");
1242 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1252 ok(pdp !=
NULL,
"pdp == NULL\n");
1253 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1254 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
1255 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1256 ok(!pvarRes,
"pvarRes != NULL\n");
1257 ok(pei !=
NULL,
"pei == NULL\n");
1262 ok(pdp !=
NULL,
"pdp == NULL\n");
1263 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1264 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1265 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1266 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1267 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1269 ok(pei !=
NULL,
"pei == NULL\n");
1276 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1277 ok(pdp !=
NULL,
"pdp == NULL\n");
1278 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1279 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
1280 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1281 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1282 ok(pei !=
NULL,
"pei == NULL\n");
1302 ok(pdp !=
NULL,
"pdp == NULL\n");
1303 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1304 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1305 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1306 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1307 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1308 ok(!pvarRes,
"pvarRes != NULL\n");
1309 ok(pei !=
NULL,
"pei == NULL\n");
1311 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1312 ok(
V_I2(pdp->rgvarg) == 3,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1319 ok(pdp !=
NULL,
"pdp == NULL\n");
1320 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1321 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1322 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1323 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1324 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1325 ok(!pvarRes,
"pvarRes != NULL\n");
1326 ok(pei !=
NULL,
"pei == NULL\n");
1336 ok(pdp !=
NULL,
"pdp == NULL\n");
1337 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1338 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1339 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1340 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1341 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1342 ok(!pvarRes,
"pvarRes != NULL\n");
1343 ok(pei !=
NULL,
"pei == NULL\n");
1352 ok(pdp !=
NULL,
"pdp == NULL\n");
1353 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1354 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1355 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1356 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1357 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1358 ok(pei !=
NULL,
"pei == NULL\n");
1367 ok(pdp !=
NULL,
"pdp == NULL\n");
1368 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1369 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1370 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1371 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1372 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1373 ok(pei !=
NULL,
"pei == NULL\n");
1382 ok(pdp !=
NULL,
"pdp == NULL\n");
1383 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
1384 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1385 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1386 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1387 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1388 ok(pei !=
NULL,
"pei == NULL\n");
1390 IDispatchEx_AddRef(&
RefObj);
1398 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1399 ok(pdp !=
NULL,
"pdp == NULL\n");
1400 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1401 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1402 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1403 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1404 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1405 ok(pei !=
NULL,
"pei == NULL\n");
1419 ok(pdp !=
NULL,
"pdp == NULL\n");
1420 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1421 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1422 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1423 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1424 ok(!pvarRes,
"pvarRes != NULL\n");
1425 ok(pei !=
NULL,
"pei == NULL\n");
1435 ok(pdp !=
NULL,
"pdp == NULL\n");
1436 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1437 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1438 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1439 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1440 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1441 ok(!pvarRes,
"pvarRes != NULL\n");
1442 ok(pei !=
NULL,
"pei == NULL\n");
1444 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1445 ok(
V_I2(pdp->rgvarg) == 0,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1447 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1448 ok(
V_I2(pdp->rgvarg+1) == 2,
"V_I2(psp->rgvargs+1) = %d\n",
V_I2(pdp->rgvarg+1));
1450 ok(
V_VT(pdp->rgvarg+2) ==
VT_I2,
"V_VT(psp->rgvargs+2) = %d\n",
V_VT(pdp->rgvarg+2));
1451 ok(
V_I2(pdp->rgvarg+2) == 1,
"V_I2(psp->rgvargs+2) = %d\n",
V_I2(pdp->rgvarg+2));
1458 ok(pdp !=
NULL,
"pdp == NULL\n");
1459 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1460 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1461 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1462 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1463 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1464 ok(!pvarRes,
"pvarRes != NULL\n");
1465 ok(pei !=
NULL,
"pei == NULL\n");
1467 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1468 ok(
V_I2(pdp->rgvarg) == 0,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1470 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1471 ok(
V_I2(pdp->rgvarg+1) == 1,
"V_I2(psp->rgvargs+1) = %d\n",
V_I2(pdp->rgvarg+1));
1479 ok(pdp !=
NULL,
"pdp == NULL\n");
1480 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1481 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1482 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1483 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1484 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %ld\n", pdp->rgdispidNamedArgs[0]);
1485 ok(!pvarRes,
"pvarRes != NULL\n");
1486 ok(pei !=
NULL,
"pei == NULL\n");
1491 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1492 ok(
V_I2(pdp->rgvarg+1) == 0,
"V_I2(psp->rgvargs+1) = %d\n",
V_I2(pdp->rgvarg+1));
1497 ok(pdp !=
NULL,
"pdp == NULL\n");
1498 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1499 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1500 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1501 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1503 ok(pei !=
NULL,
"pei == NULL\n");
1510 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1511 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1512 ok(
V_VT(pdp->rgvarg) ==
VT_R8,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1513 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1520 ok(pdp !=
NULL,
"pdp == NULL\n");
1521 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1522 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1523 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1524 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1525 ok(!pvarRes,
"pvarRes != NULL\n");
1526 ok(pei !=
NULL,
"pei == NULL\n");
1528 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1531 "V_VT(V_VARIANTREF(psp->rgvargs)) = %d\n",
V_VT(
V_VARIANTREF(pdp->rgvarg)));
1532 if(
V_I2(pdp->rgvarg+1) == -1)
1542 ok((
wFlags & ~INVOKE_PROPERTYGET) == INVOKE_FUNC,
"wFlags = %x\n",
wFlags);
1543 ok(pdp !=
NULL,
"pdp == NULL\n");
1544 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1545 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1546 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1547 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1548 ok(pei !=
NULL,
"pei == NULL\n");
1552 V_BOOL(pvarRes) = VARIANT_FALSE;
1566 ok(0,
"unexpected vt %d\n",
V_VT(
v));
1573 VARIANT *
v = pdp->rgvarg + pdp->cArgs - 1;
1575 ok((
wFlags & ~INVOKE_PROPERTYGET) == INVOKE_FUNC,
"wFlags = %x\n",
wFlags);
1576 ok(pdp !=
NULL,
"pdp == NULL\n");
1577 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1578 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1579 ok(pdp->cArgs >= 1,
"cArgs = %d\n", pdp->cArgs);
1580 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1581 ok(pei !=
NULL,
"pei == NULL\n");
1586 V_BOOL(pvarRes) = VARIANT_FALSE;
1592 memset(pei, 0,
sizeof(*pei));
1595 pei->scode =
V_I2(
v);
1598 pei->scode =
V_I4(
v);
1601 ok(0,
"unexpected vt %d\n",
V_VT(
v));
1605 if(pdp->cArgs >= 2) {
1606 v = pdp->rgvarg + pdp->cArgs - 2;
1614 if(pdp->cArgs >= 3) {
1615 v = pdp->rgvarg + pdp->cArgs - 3;
1624 pei->scode = 0xdeadbeef;
1627 pei->dwHelpContext = 10;
1638 ok(pdp !=
NULL,
"pdp == NULL\n");
1639 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1640 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1641 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1642 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1643 ok(!pvarRes,
"pvarRes != NULL\n");
1644 ok(pei !=
NULL,
"pei == NULL\n");
1646 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1647 opt =
V_I2(pdp->rgvarg);
1648 ok(opt == 1 || opt == 2,
"opt = %d\n", opt);
1649 v = pdp->rgvarg+pdp->cArgs-opt;
1655 DISPPARAMS dp = {0};
1667 ok(pdp !=
NULL,
"pdp == NULL\n");
1668 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1670 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1671 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1672 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1673 ok(!pvarRes,
"pvarRes != NULL\n");
1674 ok(pei !=
NULL,
"pei == NULL\n");
1676 hres = IDispatch_QueryInterface(
V_DISPATCH(pdp->rgvarg), &IID_IDispatchEx, (
void**)&dispex);
1677 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08lx\n",
hres);
1680 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
1686 memset(&ei, 0,
sizeof(ei));
1694 IDispatchEx_Release(dispex);
1711 static WCHAR props[][32] = {
L"clear",
L"description",
L"helpcontext",
L"helpFILE",
L"number",
L"raise",
L"source" };
1716 ok(pdp !=
NULL,
"pdp == NULL\n");
1717 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1718 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1719 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1720 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1721 ok(!pvarRes,
"pvarRes != NULL\n");
1722 ok(pei !=
NULL,
"pei == NULL\n");
1726 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
1729 hres = IDispatch_GetTypeInfoCount(disp, &
count);
1743 memset(&dp, 0,
sizeof(dp));
1744 memset(&ei, 0,
sizeof(ei));
1773 ok(pdp !=
NULL,
"pdp == NULL\n");
1774 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1775 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1776 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1777 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1778 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1780 ok(pei !=
NULL,
"pei == NULL\n");
1788 is_fixed = (
sa->fFeatures & (FADF_FIXEDSIZE | FADF_STATIC)) == (FADF_FIXEDSIZE | FADF_STATIC);
1797 ok(0,
"unexpected call %ld\n",
id);
1823 ok(0,
"unexpected call\n");
1851 ok(!fEnable,
"fEnable = %x\n", fEnable);
1867 ok(0,
"unexpected call\n");
1939 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN,
"unexpected dwReturnMask %lx\n", dwReturnMask);
1940 ok(!ppti,
"ppti != NULL\n");
1946 IUnknown_AddRef(*ppiunkItem);
1956 const VARIANT *pvarResult,
const EXCEPINFO *pexcepinfo)
1977 if(!expect_OnScriptError) {
1980 hres = IActiveScriptError_GetExceptionInfo(pscripterror, &
info);
1986 hres = IActiveScriptError_QueryInterface(pscripterror, &IID_IDispatchEx, (
void**)&dispex);
1991 IActiveScriptError_AddRef(pscripterror);
2038 &IID_IActiveScript, (
void**)&
script);
2046 IActiveScriptParse *
parser;
2054 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2055 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2065 hres = IActiveScript_AddNamedItem(engine,
L"test",
2066 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|
flags);
2072 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
2092 IActiveScriptParse *
parser;
2101 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2102 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2105 IActiveScript_Release(engine);
2149 IActiveScriptParse *
parser;
2159 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2160 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2173 " Public Sub ClMethod\n"
2174 " Call reportSuccess()\n"
2178 "set x = new Cl\n");
2208#define parse_htmlscript(a) _parse_htmlscript(__LINE__,a)
2229 SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS|
flags, &disp);
2232 ok(disp !=
NULL,
"disp = NULL\n");
2234 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
2235 IDispatch_Release(disp);
2236 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08lx\n",
hres);
2244 IActiveScriptParseProcedure2 *parse_proc;
2245 DISPPARAMS dp = {
NULL};
2256 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParseProcedure2, (
void**)&parse_proc);
2257 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 iface: %08lx\n",
hres);
2259 hres =
IActiveScriptParseProcedure2_ParseProcedureText(parse_proc,
NULL,
NULL,
L"",
NULL,
NULL,
NULL, 0, 0, 0, &disp);
2261 IDispatch_Release(disp);
2273 IDispatchEx_Release(
proc);
2286 IDispatchEx_Release(
proc);
2304 IActiveScriptParse *
parser;
2305 DISPPARAMS dp = {
NULL};
2318 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&
parser);
2319 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 iface: %08lx\n",
hres);
2324 L"class CallbackClass\n"
2325 L" public function callback()\n"
2326 L" call ok(err.number = 2, \"err.number = \" & err.number)\n"
2327 L" callback = true\n"
2330 L"function callGlobalCallback()\n"
2331 L" on error resume next\n"
2333 L" call test.globalCallback(new CallbackClass)\n"
2334 L" call ok(err.number = 2, \"err.number = \" & err.number)\n"
2344 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
2345 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08lx\n",
hres);
2346 IDispatch_Release(disp);
2349 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
2380 L"call ok(err.number = 0, \"err.number = \" & err.number)\n"
2381 L"err.raise &h86664004&, \"src\", \"desc\", \"help\", 1\n",
2383 ok(
hres == SCRIPT_E_RECORDED,
"ParseScriptText failed: %08lx\n",
hres);
2388 memset(&ei, 0xcc,
sizeof(ei));
2389 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2391 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2392 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2394 ok(!
wcscmp(ei.bstrSource,
L"Microsoft VBScript runtime error"),
2396 ok(!
wcscmp(ei.bstrDescription,
L"Unknown runtime error"),
2397 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2399 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2400 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2401 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2402 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2406 IActiveScriptError_Release(
error1);
2408 memset(&ei, 0xcc,
sizeof(ei));
2409 hres = IActiveScriptError_GetExceptionInfo(
error2, &ei);
2411 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2412 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2416 ok(ei.dwHelpContext == 1,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2417 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2418 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2419 ok(ei.scode == SCRIPT_E_RECORDED,
"scode = %lx\n", ei.scode);
2422 IActiveScriptError_Release(
error2);
2439 ok(
hres == 0x80102030,
"ParseScriptText failed: %08lx\n",
hres);
2448 L"on error resume next\n"
2450 L"testErrorObject err\n",
2457 IDispatchEx_Release(dispex);
2469 memset(&ei, 0xcc,
sizeof(ei));
2470 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2472 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2473 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2475 ok(!
wcscmp(ei.bstrSource,
L"Microsoft VBScript runtime error"),
2477 ok(!
wcscmp(ei.bstrDescription,
L"Class doesn't support Automation"),
2478 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2480 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2481 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2482 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2483 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2487 IActiveScriptError_Release(
error1);
2495 memset(&ei, 0xcc,
sizeof(ei));
2496 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2498 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2499 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2502 ok(!
wcscmp(ei.bstrDescription,
L"Class doesn't support Automation"),
2503 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2505 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2506 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2507 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2508 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2512 IActiveScriptError_Release(
error1);
2520 memset(&ei, 0xcc,
sizeof(ei));
2521 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2523 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2524 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2526 ok(!ei.bstrSource,
"bstrSource = %s\n",
wine_dbgstr_w(ei.bstrSource));
2527 ok(!
wcscmp(ei.bstrDescription,
L"test desc"),
2528 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2530 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2531 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2532 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2533 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2537 IActiveScriptError_Release(
error1);
2545 memset(&ei, 0xcc,
sizeof(ei));
2546 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2548 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2549 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2552 ok(!
wcscmp(ei.bstrDescription,
L"test desc"),
2553 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2555 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2556 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2557 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2558 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2562 IActiveScriptError_Release(
error1);
2570 memset(&ei, 0xcc,
sizeof(ei));
2571 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2573 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2574 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2578 ok(!ei.bstrDescription,
2579 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2581 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2582 ok(!ei.dwHelpContext,
"dwHelpContext = %lx\n", ei.dwHelpContext);
2583 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2584 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2588 IActiveScriptError_Release(
error1);
2593 IActiveScriptParse *
parser;
2604 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2605 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2613 hres = IActiveScript_AddNamedItem(engine,
L"test",
2614 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2618 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
2623 " Public Sub Class_Terminate\n"
2624 " Call reportSuccess()\n"
2630 "set x = nothing\n");
2638 hres = IActiveScript_Close(engine);
2643 IActiveScript_Release(engine);
2666 " x = 0 End While\n",
2690 " x = 0 Loop While False\n",
2696 " x = 0 Loop Until True\n",
2704 " Call ok(False, \"unexpected case\")\n"
2706 " x = True End Select\n"
2707 "Call ok(x, \"wrong case\")\n",
2712 L"Class C End Class",
2717 L"Class C _\nEnd Class",
2722 L"strcomp(\"x\", \"y\")",
2726 L"\n\n\n cint _\n throwInt(&h80001234&)",
2731 "if true then throwInt(&h80001234&)",
2736 "if x = throwInt(&h80001234&) then x = 1",
2742 " if x = throwInt(&h80001234&) then x = 1\n"
2751 "loop until throwInt(&h80001234&)\n",
2755 L"\n select case 3\n"
2757 " ok false, \"unexpected case\"\n"
2758 " case throwInt(&h80001234&)\n"
2759 " throwInt &h87001234&\n"
2765 " ok false, \"unexpected case\"\n"
2766 " elseif throwInt(&h80001234&) then\n"
2767 " throwInt &h87001234&\n"
2769 " throwInt &h87001234&\n"
2785 ok(
hres == SCRIPT_E_REPORTED,
"[%u] script returned: %08lx\n",
i,
hres);
2810 win_skip(
"Skipping MsgBox tests, broken (probably too old) vbscript\n");
2815 parse_script_w(
L"dim r\n r=MsgBox(\"testing...\")\n Call ok(r=0, \"r=\"&r)");
2847 IActiveScriptParse *
parser;
2857 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2858 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2861 IActiveScript_Release(engine);
2871 hres = IActiveScript_AddNamedItem(engine,
L"test", SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2875 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
2886 hres = IActiveScript_Close(engine);
2890 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
2895 IActiveScript_Release(engine);
2904 IActiveScriptParse *
parser;
2915 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2916 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08lx\n",
hres);
2924 hres = IActiveScript_GetScriptState(engine, &
ss);
2937 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n",
hres);
2970 hres = IActiveScript_GetScriptDispatch(engine,
NULL, &disp);
2977 IDispatch_Release(disp);
3052 IActiveScriptParse *
parser;
3058 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&
parser);
3059 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 iface: %08lx\n",
hres);
3062 L"function duplicatedfunc\n"
3063 L" ok false, \"duplicatedfunc called\"\n"
3069 L"sub duplicatedfunc\n"
3070 L" ok false, \"duplicatedfunc called\"\n"
3076 L"function duplicatedfunc\n"
3077 L" duplicatedfunc = 2\n"
3083 L"ok duplicatedfunc() = 2, \"duplicatedfunc = \" & duplicatedfunc()\n",
3095 const char *file_map;
3244 ok(
hres ==
S_OK,
"use of 'rem' as dot identifier failed: %lx08\n",
hres);
3303 "x(counter(), counter()) = counter\n");
3320 parse_htmlscript(
L"<!--\n<!-- ignore this <> <>\n--> <>\nCall reportSuccess()\n-->\n");
3341 ok(
hres == 0x80080008,
"hres = %08lx\n",
hres);
3358 ok(
hres == SCRIPT_E_REPORTED,
"hres = %08lx\n",
hres);
3370 ok(
hres == SCRIPT_E_REPORTED,
"hres = %08lx\n",
hres);
3394 parse_script_w(
L"dim n,o\n set o = testObj\n n = o(1,2)\n call ok(n=2, \"n = \" & n)\n");
3398 parse_script_w(
L"dim n,o\n set o = testObj\n n = o\n call ok(n=0, \"n = \" & n)\n");
3403 "Call ok(x = 1, \"x = \" & x)\n"
3407 parse_script_w(
L"Call ok(getVT(x) = \"VT_EMPTY*\", \"getVT(x) = \" & getVT(x))\n");
3410 "Call ok(getVT(x) = \"VT_EMPTY*\", \"getVT(x) = \" & getVT(x))\n"
3411 "Call ok(getVT(y) = \"VT_EMPTY*\", \"getVT(y) = \" & getVT(y))");
3423 "Sub testsub(arg)\r"
3424 "If arg = 1 Then\r\r"
3425 "Call reportSuccess()\n\n"
3454 CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
3458 ok(
hres ==
S_OK,
"CoCreateInstance(CLSID_VBScriptRegExp) failed: %lx\n",
hres);
3460 hres = IUnknown_QueryInterface(unk, &IID_IRegExp2, (
void**)®exp);
3462 IRegExp2_Release(regexp);
3463 IUnknown_Release(unk);
3475 skip(
"Skipping some tests in non-English locale\n");
3482 win_skip(
"Broken engine, probably too old\n");
3483 }
else if(
argc > 2) {
enum tagSCRIPTUICHANDLING SCRIPTUICHANDLING
@ SCRIPTUICHANDLING_NOUIERROR
@ SCRIPTUICHANDLING_ALLOW
@ SCRIPTUICHANDLING_NOUIDEFAULT
enum tagSCRIPTUICITEM SCRIPTUICITEM
@ SCRIPTSTATE_INITIALIZED
@ SCRIPTSTATE_UNINITIALIZED
enum tagSCRIPTSTATE SCRIPTSTATE
static struct sockaddr_in sa
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
#define GetProcAddress(x, y)
#define INVALID_HANDLE_VALUE
#define CreateFileMappingW(a, b, c, d, e, f)
#define CreateFileA(a, b, c, d, e, f, g)
#define MultiByteToWideChar
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
DWORD WINAPI SizeofResource(HINSTANCE hModule, HRSRC hRsrc)
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
LANGID WINAPI GetUserDefaultUILanguage(void)
INT WINAPI GetLocaleInfoA(LCID lcid, LCTYPE lctype, LPSTR buffer, INT len)
LCID WINAPI GetUserDefaultLCID(void)
LANGID WINAPI GetUserDefaultLangID(void)
BOOL WINAPI GetCPInfoExA(UINT codepage, DWORD dwFlags, LPCPINFOEXA cpinfo)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
_ACRTIMP int __cdecl _wcsicmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut)
#define EnableModeless(type)
#define test_disp(u, id, v)
static const char * debugstr_variant(const VARIANT *var)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLboolean GLboolean GLboolean b
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define todo_wine_if(is_todo)
#define parse_script(p, s)
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
#define test_grfdex(a, b)
static BOOL run_tests(void)
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static HRESULT WINAPI testObj_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *res, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
static HRESULT WINAPI EnumVARIANT_Skip(IEnumVARIANT *This, ULONG celt)
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static ULONG WINAPI EnumVARIANT_Release(IEnumVARIANT *iface)
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static IDispatchExVtbl GlobalVtbl
static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI DispatchEx_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
#define IActiveScriptParseProcedure2_ParseProcedureText
#define CHECK_EXPECT(func)
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
static HRESULT WINAPI EnumVARIANT_Clone(IEnumVARIANT *This, IEnumVARIANT **ppEnum)
#define DEFINE_EXPECT(func)
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
#define IActiveScriptParse_InitNew
#define DISPID_GLOBAL_REPORTSUCCESS
static HRESULT WINAPI EnumVARIANT_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
#define DISPID_GLOBAL_THROWINT
#define IActiveScriptParse_ParseScriptText
#define DISPID_GLOBAL_TESTOBJ
#define IActiveScriptParseProcedure2_Release
#define IActiveScriptParse_Release
static HRESULT WINAPI EnumVARIANT_Reset(IEnumVARIANT *This)
#define DISPID_GLOBAL_TRACE
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
static IDispatch * script_disp
static void close_script(IActiveScript *script)
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
static void run_from_res(const char *name)
static void _test_grfdex(unsigned line, DWORD grfdex, DWORD expect)
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
static HRESULT WINAPI EnumVARIANT_Next(IEnumVARIANT *This, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched)
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
#define DISPID_GLOBAL_GETVT
#define CHECK_CALLED(func)
static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
static const char * test_name
static HRESULT WINAPI testObj_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
#define DISPID_GLOBAL_PROPARGPUT
static ULONG WINAPI EnumVARIANT_AddRef(IEnumVARIANT *iface)
static void run_from_file(const char *filename)
static HRESULT WINAPI DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static IDispatchEx testObj
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
static BSTR get_script_from_file(const char *filename)
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
static IActiveScript * create_script(void)
static IDispatchEx Global
static IActiveScriptSite ActiveScriptSite
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
static IDispatchExVtbl testObjVtbl
static BOOL strict_dispid_check
static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static void test_safearray(void)
static VARIANTARG static DISPID
static BOOL is_fixed(HANDLE handle)
static HRESULT WINAPI collectionObj_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
static ULONG WINAPI ActiveScriptSiteUIControl_Release(IActiveScriptSiteUIControl *iface)
static void test_parse_errors(void)
static void parse_script_wf(DWORD flags, const WCHAR *src)
static HRESULT test_global_vars_ref(BOOL use_close)
#define CLEAR_CALLED(func)
static ULONG WINAPI ActiveScriptSiteWindow_Release(IActiveScriptSiteWindow *iface)
static IServiceProvider caller_sp
static BOOL strict_enter_script
#define DISPID_GLOBAL_ISNULLDISP
static IEnumVARIANT enumObj
#define DISPID_GLOBAL_ISENGLANG
#define DISPID_GLOBAL_THROWEXCEPTION
#define DISPID_GLOBAL_LETOBJ
static HRESULT WINAPI unkObj_QueryInterface(IUnknown *iface, REFIID riid, void **ppv)
static HRESULT WINAPI collectionObj_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static IDispatchEx * parse_procedure(IActiveScriptParseProcedure2 *parse_proc, const WCHAR *src, DWORD flags)
static ULONG WINAPI ServiceProvider_Release(IServiceProvider *iface)
static ULONG WINAPI RefObj_Release(IDispatchEx *iface)
#define DISPID_TESTOBJ_PROPPUT
static void free_ei(EXCEPINFO *ei)
#define DISPID_GLOBAL_DOUBLEASSTRING
#define DISPID_GLOBAL_WEEKSTARTDAY
static const IActiveScriptSiteWindowVtbl ActiveScriptSiteWindowVtbl
#define DISPID_GLOBAL_GLOBALCALLBACK
static void parse_script_w(const WCHAR *src)
static IActiveScriptError ** store_script_error
static BOOL check_vbscript(void)
static HRESULT parse_script_wr(const WCHAR *src)
static void test_multiple_parse(void)
#define DISPID_GLOBAL_TESTOPTIONALARG
static void test_procedures(void)
static void _parse_htmlscript(unsigned line, const WCHAR *src)
static int first_day_of_week
#define DISPID_GLOBAL_TODO_WINE_OK
static HRESULT onerror_hres
static void test_gc(void)
static void detect_locale(void)
#define DISPID_GLOBAL_VBVAR
static BSTR a2bstr(const char *str)
static SCRIPTUICHANDLING uic_handling
#define DISPID_GLOBAL_PROPARGSET
#define DISPID_GLOBAL_THROWWITHDESC
#define DISPID_GLOBAL_ISARRAYFIXED
#define DISPID_GLOBAL_COLLOBJ
static void test_isexpression(void)
#define DISPID_GLOBAL_TESTERROROBJECT
#define DISPID_GLOBAL_TESTDISP
static IDispatchExVtbl enumDispVtbl
static const IActiveScriptSiteUIControlVtbl ActiveScriptSiteUIControlVtbl
static ULONG WINAPI RefObj_AddRef(IDispatchEx *iface)
#define DISPID_GLOBAL_MAXCHARSIZE
#define CHECK_EXPECT2(func)
#define DISPID_GLOBAL_COUNTER
static ULONG WINAPI Global_Release(IDispatchEx *iface)
static HRESULT WINAPI ActiveScriptSiteWindow_GetWindow(IActiveScriptSiteWindow *iface, HWND *phwnd)
static HRESULT WINAPI enumDisp_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static IActiveScriptSiteWindow ActiveScriptSiteWindow
static void test_callbacks(void)
#define DISPID_GLOBAL_TESTARRAY
static IDispatchExVtbl collectionObjVtbl
static ULONG WINAPI unkObj_Release(IUnknown *iface)
static HRESULT WINAPI ActiveScriptSiteWindow_EnableModeless(IActiveScriptSiteWindow *iface, BOOL fEnable)
static ULONG WINAPI Global_AddRef(IDispatchEx *iface)
static ULONG WINAPI ActiveScriptSiteUIControl_AddRef(IActiveScriptSiteUIControl *iface)
#define DISPID_GLOBAL_SETOBJ
static IDispatchEx RefObj
static const IEnumVARIANTVtbl EnumVARIANTVtbl
#define DISPID_GLOBAL_UNKOBJ
#define DISPID_COLLOBJ_RESET
static HRESULT WINAPI ActiveScriptSiteWindow_QueryInterface(IActiveScriptSiteWindow *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSiteUIControl_GetUIBehavior(IActiveScriptSiteUIControl *iface, SCRIPTUICITEM UicItem, SCRIPTUICHANDLING *pUicHandling)
static HRESULT WINAPI ActiveScriptSiteUIControl_QueryInterface(IActiveScriptSiteUIControl *iface, REFIID riid, void **ppv)
static const char * vt2a(VARIANT *v)
const CLSID CLSID_VBScriptRegExp
static IDispatchEx collectionObj
static IDispatchEx enumDisp
static const IUnknownVtbl unkObjVtbl
#define MAKE_VBSERROR(code)
static HRESULT WINAPI ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
#define DISPID_GLOBAL_PROPARGPUT1
#define DISPID_TESTOBJ_KEYWORD
static ULONG WINAPI ServiceProvider_AddRef(IServiceProvider *iface)
static const IServiceProviderVtbl ServiceProviderVtbl
static ULONG WINAPI unkObj_AddRef(IUnknown *iface)
static BOOL get_dispid(BSTR name, const dispid_t *dispids, SIZE_T dispids_cnt, DISPID *id)
static IDispatchExVtbl RefObjVtbl
#define parse_htmlscript(a)
#define DISPID_TESTOBJ_PROPGET
const CLSID CLSID_VBScript
#define DISPID_GLOBAL_REFOBJ
static IActiveScript * create_and_init_script(DWORD flags, BOOL start)
static IActiveScriptSiteUIControl ActiveScriptSiteUIControl
static ULONG WINAPI ActiveScriptSiteWindow_AddRef(IActiveScriptSiteWindow *iface)
static void test_parse_context(void)
static void test_msgbox(void)
#define FILE_ATTRIBUTE_READONLY
#define LOCALE_USER_DEFAULT
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define DISPATCH_PROPERTYPUT
#define DISPATCH_PROPERTYGET
#define DISPATCH_PROPERTYPUTREF
#define IsEqualGUID(rguid1, rguid2)
static __inline const char * wine_dbgstr_guid(const GUID *id)
int winetest_get_mainargs(char ***pargv)
STDMETHOD() Next(THIS_ ULONG celt, IAssociationElement *pElement, ULONG *pceltFetched) PURE
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static const WCHAR props[]
DWORD WINAPI GetLastError(void)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
#define REGDB_E_CLASSNOTREG
#define DISP_E_PARAMNOTFOUND
#define DISP_E_MEMBERNOTFOUND
#define DISP_E_PARAMNOTOPTIONAL
#define DISP_E_UNKNOWNNAME
#define LOCALE_IDEFAULTANSICODEPAGE
#define LOCALE_IFIRSTDAYOFWEEK
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)