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 118 #define DISPID_GLOBAL_REPORTSUCCESS 1000 119 #define DISPID_GLOBAL_TRACE 1001 120 #define DISPID_GLOBAL_OK 1002 121 #define DISPID_GLOBAL_GETVT 1003 122 #define DISPID_GLOBAL_ISENGLANG 1004 123 #define DISPID_GLOBAL_VBVAR 1005 124 #define DISPID_GLOBAL_TESTOBJ 1006 125 #define DISPID_GLOBAL_ISNULLDISP 1007 126 #define DISPID_GLOBAL_TESTDISP 1008 127 #define DISPID_GLOBAL_REFOBJ 1009 128 #define DISPID_GLOBAL_COUNTER 1010 129 #define DISPID_GLOBAL_PROPARGPUT 1011 130 #define DISPID_GLOBAL_PROPARGPUT1 1012 131 #define DISPID_GLOBAL_COLLOBJ 1013 132 #define DISPID_GLOBAL_DOUBLEASSTRING 1014 133 #define DISPID_GLOBAL_TESTARRAY 1015 134 #define DISPID_GLOBAL_THROWINT 1016 135 #define DISPID_GLOBAL_TESTOPTIONALARG 1017 136 #define DISPID_GLOBAL_LETOBJ 1018 137 #define DISPID_GLOBAL_SETOBJ 1019 138 #define DISPID_GLOBAL_TODO_WINE_OK 1020 139 #define DISPID_GLOBAL_WEEKSTARTDAY 1021 140 #define DISPID_GLOBAL_GLOBALCALLBACK 1022 141 #define DISPID_GLOBAL_TESTERROROBJECT 1023 143 #define DISPID_TESTOBJ_PROPGET 2000 144 #define DISPID_TESTOBJ_PROPPUT 2001 145 #define DISPID_TESTOBJ_KEYWORD 2002 147 #define DISPID_COLLOBJ_RESET 3000 149 #define FACILITY_VBS 0xa 150 #define MAKE_VBSERROR(code) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_VBS, code) 218 return "VT_DISPATCH";
222 return "VT_ARRAY|VT_VARIANT";
224 return "VT_ARRAY|VT_BYREF|VT_VARIANT";
228 ok(0,
"unknown vt %d\n",
V_VT(
v));
253 ok(0,
"unexpected call\n");
285 DISPID id, public_prop_id, public_prop2_id, public_func_id, public_sub_id, defvalget_id, gs_getter_id;
286 DISPID named_args[5] = {DISPID_PROPERTYPUT};
294 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
295 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
298 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_prop_id);
303 hres = IDispatchEx_GetDispID(dispex,
str, 0, &
id);
306 ok(public_prop_id ==
id,
"id = %d\n", public_prop_id);
309 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_prop2_id);
314 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &defvalget_id);
317 ok(defvalget_id == DISPID_VALUE,
"id = %d\n", defvalget_id);
320 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
323 ok(
id == -1,
"id = %d\n",
id);
326 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
336 dp.cArgs = dp.cNamedArgs = 1;
342 dp.cArgs = dp.cNamedArgs = 0;
348 dp.cArgs = dp.cNamedArgs = 0;
354 dp.cArgs = dp.cNamedArgs = 0;
368 dp.cArgs = dp.cNamedArgs = 1;
373 dp.cArgs = dp.cNamedArgs = 0;
381 dp.cArgs = dp.cNamedArgs = 1;
387 dp.cArgs = dp.cNamedArgs = 1;
391 dp.cArgs = dp.cNamedArgs = 0;
399 dp.cArgs = dp.cNamedArgs = 1;
403 dp.cArgs = dp.cNamedArgs = 0;
411 dp.cArgs = dp.cNamedArgs = 1;
424 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_func_id);
426 ok(
hres ==
S_OK,
"GetDispID(publicFunction) failed: %08x\n",
hres);
427 ok(public_func_id != -1,
"public_func_id = -1\n");
430 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &public_sub_id);
433 ok(public_sub_id != -1,
"public_func_id = -1\n");
435 dp.cArgs = dp.cNamedArgs = 0;
441 dp.cArgs = dp.cNamedArgs = 0;
446 dp.cArgs = dp.cNamedArgs = 0;
452 dp.cArgs = dp.cNamedArgs = 0;
457 dp.cArgs = dp.cNamedArgs = 0;
462 dp.cArgs = dp.cNamedArgs = 0;
469 dp.cArgs = dp.cNamedArgs = 1;
473 dp.cArgs = dp.cNamedArgs = 0;
479 dp.cArgs = dp.cNamedArgs = 0;
485 dp.cArgs = dp.cNamedArgs = 0;
491 dp.cArgs = dp.cNamedArgs = 0;
496 dp.cArgs = dp.cNamedArgs = 0;
502 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
505 ok(
id == -1,
"id = %d\n",
id);
508 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive|fdexNameEnsure, &
id);
510 ok(
id == -1,
"id = %d\n",
id);
511 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameEnsure, &
id);
513 ok(
id == -1,
"id = %d\n",
id);
517 hres = IDispatchEx_GetDispID(dispex,
str, 0x80000000|fdexNameCaseInsensitive, &public_prop_id);
523 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseSensitive, &
id);
526 ok(
id == public_prop_id,
"id = %d, expected %d\n",
id, public_prop_id);
530 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseSensitive, &
id);
533 ok(
id == public_prop_id,
"id = %d, expected %d\n",
id, public_prop_id);
536 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &gs_getter_id);
538 ok(
hres ==
S_OK,
"GetDispID(publicFunction) failed: %08x\n",
hres);
539 ok(gs_getter_id != -1,
"gs_getter_id = -1\n");
569 IDispatchEx_Release(dispex);
574 int i, exdims = indims;
578 ok(safearray->
cDims == exdims,
"safearray->cDims = %d, expected %d\n", safearray->
cDims, exdims);
580 ok(safearray->
fFeatures == (FADF_VARIANT|FADF_HAVEVARTYPE|FADF_FIXEDSIZE|FADF_STATIC),
581 "safearray->fFeatures = %x\n", safearray->
fFeatures);
583 ok(!safearray->
cLocks,
"safearray->cLocks = %x\n", safearray->
cLocks);
585 for(
i=0;
i < safearray->
cDims;
i++) {
592 #define test_grfdex(a,b) _test_grfdex(__LINE__,a,b) 633 ok(celt == 1,
"celt = %d\n", celt);
635 ok(!pCeltFetched,
"pCeltFetched = %p\n", pCeltFetched);
648 ok(0,
"unexpected call\n");
654 ok(0,
"unexpected call\n");
660 ok(0,
"unexpected call\n");
705 ok(0,
"unexpected call\n");
719 ok(0,
"unexpected call\n");
727 ok(0,
"unexpected call\n");
739 ok(0,
"unexpected call\n");
745 ok(0,
"unexpected call\n");
751 ok(0,
"unexpected call\n");
757 ok(0,
"unexpected call\n");
763 ok(0,
"unexpected call\n");
769 ok(0,
"unexpected call\n");
776 ok(0,
"unexpected call %d\n",
id);
783 const char *
const name;
789 dispid_t dispids[] = {
847 dispid_t *
d = &dispids[
i];
849 ok(*
d->expect,
"unexpected call %s\n",
d->
name);
874 ok(pdp !=
NULL,
"pdp == NULL\n");
875 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
876 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
877 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
878 ok(pei !=
NULL,
"pei == NULL\n");
880 for(
i=0;
i<pdp->cArgs;
i++) {
881 arg = pdp->rgvarg+pdp->cArgs-
i-1;
887 V_I2(pvarRes) = pdp->cArgs;
894 ok(pdp !=
NULL,
"pdp == NULL\n");
895 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
896 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
897 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
898 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
899 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
900 ok(pei !=
NULL,
"pei == NULL\n");
909 ok(pdp !=
NULL,
"pdp == NULL\n");
910 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
911 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
912 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
913 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
914 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
915 ok(!pvarRes,
"pvarRes != NULL\n");
916 ok(pei !=
NULL,
"pei == NULL\n");
918 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
919 ok(
V_I2(pdp->rgvarg) == 1,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
928 ok(0,
"unexpected call %d\n",
id);
997 ok(pdp !=
NULL,
"pdp == NULL\n");
998 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
999 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1000 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1001 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1002 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1003 ok(pei !=
NULL,
"pei == NULL\n");
1013 ok(0,
"unexpected call %d\n",
id);
1088 if(!
strcmp_wa(bstrName,
"todo_wine_ok")) {
1098 if(!
strcmp_wa(bstrName,
"reportSuccess")) {
1109 if(!
strcmp_wa(bstrName,
"isEnglishLang")) {
1114 if(!
strcmp_wa(bstrName,
"firstDayOfWeek")) {
1119 if(!
strcmp_wa(bstrName,
"globalCallback")) {
1129 if(!
strcmp_wa(bstrName,
"collectionObj")) {
1150 if(!
strcmp_wa(bstrName,
"isNullDisp")) {
1165 if(!
strcmp_wa(bstrName,
"propargput")) {
1171 if(!
strcmp_wa(bstrName,
"propargput1")) {
1182 if(!
strcmp_wa(bstrName,
"doubleAsString")) {
1197 if(!
strcmp_wa(bstrName,
"testOptionalArg")) {
1202 if(!
strcmp_wa(bstrName,
"testErrorObject")) {
1221 ok(
wFlags == INVOKE_FUNC ||
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1222 ok(pdp !=
NULL,
"pdp == NULL\n");
1223 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1224 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1225 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1226 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1227 if(
wFlags & INVOKE_PROPERTYGET)
1228 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1230 ok(!pvarRes,
"pvarRes != NULL\n");
1231 ok(pei !=
NULL,
"pei == NULL\n");
1233 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1248 ok(pdp !=
NULL,
"pdp == NULL\n");
1249 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1250 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1251 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1252 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1253 ok(!pvarRes,
"pvarRes != NULL\n");
1254 ok(pei !=
NULL,
"pei == NULL\n");
1256 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1266 ok(pdp !=
NULL,
"pdp == NULL\n");
1267 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1268 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
1269 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1270 ok(!pvarRes,
"pvarRes != NULL\n");
1271 ok(pei !=
NULL,
"pei == NULL\n");
1276 ok(pdp !=
NULL,
"pdp == NULL\n");
1277 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1278 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1279 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1280 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1281 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1283 ok(pei !=
NULL,
"pei == NULL\n");
1290 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1291 ok(pdp !=
NULL,
"pdp == NULL\n");
1292 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1293 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
1294 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1295 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1296 ok(pei !=
NULL,
"pei == NULL\n");
1311 ok(pdp !=
NULL,
"pdp == NULL\n");
1312 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1313 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1314 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1315 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1316 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1317 ok(!pvarRes,
"pvarRes != NULL\n");
1318 ok(pei !=
NULL,
"pei == NULL\n");
1320 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1321 ok(
V_I2(pdp->rgvarg) == 3,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1328 ok(pdp !=
NULL,
"pdp == NULL\n");
1329 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1330 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1331 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1332 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1333 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1334 ok(!pvarRes,
"pvarRes != NULL\n");
1335 ok(pei !=
NULL,
"pei == NULL\n");
1345 ok(pdp !=
NULL,
"pdp == NULL\n");
1346 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1347 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1348 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1349 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1350 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1351 ok(!pvarRes,
"pvarRes != NULL\n");
1352 ok(pei !=
NULL,
"pei == NULL\n");
1361 ok(pdp !=
NULL,
"pdp == NULL\n");
1362 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1363 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1364 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1365 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1366 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1367 ok(pei !=
NULL,
"pei == NULL\n");
1376 ok(pdp !=
NULL,
"pdp == NULL\n");
1377 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1378 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1379 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1380 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1381 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1382 ok(pei !=
NULL,
"pei == NULL\n");
1391 ok(pdp !=
NULL,
"pdp == NULL\n");
1392 ok(!pdp->rgvarg,
"rgvarg == NULL\n");
1393 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1394 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1395 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1396 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1397 ok(pei !=
NULL,
"pei == NULL\n");
1399 IDispatchEx_AddRef(&
RefObj);
1407 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1408 ok(pdp !=
NULL,
"pdp == NULL\n");
1409 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1410 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1411 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1412 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1413 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1414 ok(pei !=
NULL,
"pei == NULL\n");
1428 ok(pdp !=
NULL,
"pdp == NULL\n");
1429 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1430 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1431 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1432 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1433 ok(!pvarRes,
"pvarRes != NULL\n");
1434 ok(pei !=
NULL,
"pei == NULL\n");
1444 ok(pdp !=
NULL,
"pdp == NULL\n");
1445 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1446 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1447 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1448 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1449 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1450 ok(!pvarRes,
"pvarRes != NULL\n");
1451 ok(pei !=
NULL,
"pei == NULL\n");
1453 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1454 ok(
V_I2(pdp->rgvarg) == 0,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1456 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1457 ok(
V_I2(pdp->rgvarg+1) == 2,
"V_I2(psp->rgvargs+1) = %d\n",
V_I2(pdp->rgvarg+1));
1459 ok(
V_VT(pdp->rgvarg+2) ==
VT_I2,
"V_VT(psp->rgvargs+2) = %d\n",
V_VT(pdp->rgvarg+2));
1460 ok(
V_I2(pdp->rgvarg+2) == 1,
"V_I2(psp->rgvargs+2) = %d\n",
V_I2(pdp->rgvarg+2));
1467 ok(pdp !=
NULL,
"pdp == NULL\n");
1468 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1469 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1470 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1471 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1472 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1473 ok(!pvarRes,
"pvarRes != NULL\n");
1474 ok(pei !=
NULL,
"pei == NULL\n");
1476 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(psp->rgvargs) = %d\n",
V_VT(pdp->rgvarg));
1477 ok(
V_I2(pdp->rgvarg) == 0,
"V_I2(psp->rgvargs) = %d\n",
V_I2(pdp->rgvarg));
1479 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1480 ok(
V_I2(pdp->rgvarg+1) == 1,
"V_I2(psp->rgvargs+1) = %d\n",
V_I2(pdp->rgvarg+1));
1485 ok(pdp !=
NULL,
"pdp == NULL\n");
1487 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1488 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1489 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1490 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1492 ok(pei !=
NULL,
"pei == NULL\n");
1499 ok(
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1500 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1501 ok(
V_VT(pdp->rgvarg) ==
VT_R8,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1502 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1509 ok(pdp !=
NULL,
"pdp == NULL\n");
1510 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1511 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1512 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1513 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1514 ok(!pvarRes,
"pvarRes != NULL\n");
1515 ok(pei !=
NULL,
"pei == NULL\n");
1517 ok(
V_VT(pdp->rgvarg+1) ==
VT_I2,
"V_VT(psp->rgvargs+1) = %d\n",
V_VT(pdp->rgvarg+1));
1520 "V_VT(V_VARIANTREF(psp->rgvargs)) = %d\n",
V_VT(
V_VARIANTREF(pdp->rgvarg)));
1521 if(
V_I2(pdp->rgvarg+1) == -1)
1531 ok((
wFlags & ~INVOKE_PROPERTYGET) == INVOKE_FUNC,
"wFlags = %x\n",
wFlags);
1532 ok(pdp !=
NULL,
"pdp == NULL\n");
1533 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1534 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1535 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1536 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1537 ok(pei !=
NULL,
"pei == NULL\n");
1541 V_BOOL(pvarRes) = VARIANT_FALSE;
1555 ok(0,
"unexpected vt %d\n",
V_VT(
v));
1569 ok(pdp !=
NULL,
"pdp == NULL\n");
1570 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1571 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1572 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1573 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1574 ok(!pvarRes,
"pvarRes != NULL\n");
1575 ok(pei !=
NULL,
"pei == NULL\n");
1577 ok(
V_VT(pdp->rgvarg) ==
VT_I2,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1578 opt =
V_I2(pdp->rgvarg);
1579 ok(opt == 1 || opt == 2,
"opt = %d\n", opt);
1580 v = pdp->rgvarg+pdp->cArgs-opt;
1587 IDispatchEx *dispex;
1598 ok(pdp !=
NULL,
"pdp == NULL\n");
1599 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1601 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1602 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1603 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1604 ok(!pvarRes,
"pvarRes != NULL\n");
1605 ok(pei !=
NULL,
"pei == NULL\n");
1607 hres = IDispatch_QueryInterface(
V_DISPATCH(pdp->rgvarg), &IID_IDispatchEx, (
void**)&dispex);
1608 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
1611 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
1617 memset(&ei, 0,
sizeof(ei));
1625 IDispatchEx_Release(dispex);
1632 IDispatchEx *dispex;
1642 static WCHAR props[][32] = {
L"clear",
L"description",
L"helpcontext",
L"helpFILE",
L"number",
L"raise",
L"source" };
1647 ok(pdp !=
NULL,
"pdp == NULL\n");
1648 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1649 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1650 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1651 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1652 ok(!pvarRes,
"pvarRes != NULL\n");
1653 ok(pei !=
NULL,
"pei == NULL\n");
1657 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
1660 hres = IDispatch_GetTypeInfoCount(disp, &
count);
1674 memset(&dp, 0,
sizeof(dp));
1675 memset(&ei, 0,
sizeof(ei));
1696 ok(0,
"unexpected call %d\n",
id);
1722 ok(0,
"unexpected call\n");
1750 ok(!fEnable,
"fEnable = %x\n", fEnable);
1766 ok(0,
"unexpected call\n");
1838 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN,
"unexpected dwReturnMask %x\n", dwReturnMask);
1839 ok(!ppti,
"ppti != NULL\n");
1845 IUnknown_AddRef(*ppiunkItem);
1871 if(!expect_OnScriptError) {
1876 hres = IActiveScriptError_GetSourcePosition(pscripterror,
NULL, &
line,
NULL);
1878 hres = IActiveScriptError_GetExceptionInfo(pscripterror, &
info);
1882 IDispatchEx *dispex;
1884 hres = IActiveScriptError_QueryInterface(pscripterror, &IID_IDispatchEx, (
void**)&dispex);
1889 IActiveScriptError_AddRef(pscripterror);
1936 &IID_IActiveScript, (
void**)&
script);
1944 IActiveScriptParse *
parser;
1952 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
1953 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
1963 hres = IActiveScript_AddNamedItem(engine,
testW,
1964 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|
flags);
1970 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
1990 IActiveScriptParse *
parser;
2000 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2001 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2004 IActiveScript_Release(engine);
2017 IActiveScript_Close(engine);
2020 IActiveScript_Release(engine);
2051 IActiveScriptParse *
parser;
2056 static const WCHAR xW[] = {
'x',0};
2057 static const WCHAR yW[] = {
'y',0};
2064 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2065 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2078 " Public Sub ClMethod\n" 2079 " Call reportSuccess()\n" 2083 "set x = new Cl\n");
2113 #define parse_htmlscript_a(a) _parse_htmlscript_a(__LINE__,a) 2119 static const WCHAR script_delimW[] = {
'<',
'/',
'S',
'C',
'R',
'I',
'P',
'T',
'>',0};
2129 IDispatchEx *dispex;
2134 static const WCHAR delimiterW[] = {
'\"',0};
2138 SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS|
flags, &disp);
2141 ok(disp !=
NULL,
"disp = NULL\n");
2143 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
2144 IDispatch_Release(disp);
2145 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
2153 IActiveScriptParseProcedure2 *parse_proc;
2165 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParseProcedure2, (
void**)&parse_proc);
2166 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 iface: %08x\n",
hres);
2168 hres =
IActiveScriptParseProcedure2_ParseProcedureText(parse_proc,
NULL,
NULL,
emptyW,
NULL,
NULL,
NULL, 0, 0, 0, &disp);
2170 IDispatch_Release(disp);
2182 IDispatchEx_Release(
proc);
2195 IDispatchEx_Release(
proc);
2213 IActiveScriptParse *
parser;
2216 IDispatchEx *dispex;
2227 hres = IActiveScript_QueryInterface(
script, &IID_IActiveScriptParse, (
void**)&
parser);
2228 ok(
hres ==
S_OK,
"Could not get IActiveScriptParseProcedure2 iface: %08x\n",
hres);
2233 L"class CallbackClass\n" 2234 L" public function callback()\n" 2235 L" call ok(err.number = 2, \"err.number = \" & err.number)\n" 2236 L" callback = true\n" 2239 L"function callGlobalCallback()\n" 2240 L" on error resume next\n" 2242 L" call test.globalCallback(new CallbackClass)\n" 2243 L" call ok(err.number = 2, \"err.number = \" & err.numner)\n" 2253 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
2254 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
2255 IDispatch_Release(disp);
2258 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseInsensitive, &
id);
2289 L"call ok(err.number = 0, \"err.number = \" & err.number)\n" 2290 L"err.raise &h86664004&, \"src\", \"desc\", \"help\", 1\n",
2292 ok(
hres == SCRIPT_E_RECORDED,
"ParseScriptText failed: %08x\n",
hres);
2297 memset(&ei, 0xcc,
sizeof(ei));
2298 hres = IActiveScriptError_GetExceptionInfo(
error1, &ei);
2300 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2301 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2303 ok(!
wcscmp(ei.bstrSource,
L"Microsoft VBScript runtime error"),
2305 ok(!
wcscmp(ei.bstrDescription,
L"Object doesn't support this property or method"),
2306 "bstrDescription = %s\n",
wine_dbgstr_w(ei.bstrDescription));
2308 ok(!ei.bstrHelpFile,
"bstrHelpFile = %s\n",
wine_dbgstr_w(ei.bstrHelpFile));
2309 ok(!ei.dwHelpContext,
"dwHelpContext = %x\n", ei.dwHelpContext);
2310 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2311 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2315 IActiveScriptError_Release(
error1);
2317 memset(&ei, 0xcc,
sizeof(ei));
2318 hres = IActiveScriptError_GetExceptionInfo(
error2, &ei);
2320 ok(!ei.wCode,
"wCode = %x\n", ei.wCode);
2321 ok(!ei.wReserved,
"wReserved = %x\n", ei.wReserved);
2325 ok(ei.dwHelpContext == 1,
"dwHelpContext = %x\n", ei.dwHelpContext);
2326 ok(!ei.pvReserved,
"pvReserved = %p\n", ei.pvReserved);
2327 ok(!ei.pfnDeferredFillIn,
"pfnDeferredFillIn = %p\n", ei.pfnDeferredFillIn);
2328 ok(ei.scode == SCRIPT_E_RECORDED,
"scode = %x\n", ei.scode);
2331 IActiveScriptError_Release(
error2);
2348 ok(
hres == 0x80102030,
"ParseScriptText failed: %08x\n",
hres);
2357 L"on error resume next\n" 2359 L"testErrorObject err\n",
2366 IDispatchEx_Release(dispex);
2375 IActiveScriptParse *
parser;
2386 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2387 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2395 hres = IActiveScript_AddNamedItem(engine,
testW,
2396 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2400 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2405 " Public Sub Class_Terminate\n" 2406 " Call reportSuccess()\n" 2412 "set x = nothing\n");
2420 IActiveScript_Close(engine);
2424 IActiveScript_Release(engine);
2430 static const char *invalid_scripts[] =
2438 " x = 0 End While\n",
2454 " x = 0 Loop While False\n",
2458 " x = 0 Loop Until True\n",
2464 " Call ok(False, \"unexpected case\")\n" 2466 " x = True End Select\n" 2467 "Call ok(x, \"wrong case\")\n",
2498 win_skip(
"Skipping MsgBox tests, broken (probably too old) vbscript\n");
2503 parse_script_a(
"dim r\n r=MsgBox(\"testing...\")\n Call ok(r=0, \"r=\"&r)");
2535 IActiveScriptParse *
parser;
2545 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2546 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2549 IActiveScript_Release(engine);
2559 hres = IActiveScript_AddNamedItem(engine,
testW, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2563 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2567 script_str =
a2bstr(
"Dim x\nset x = RefObj\n");
2574 hres = IActiveScript_Close(engine);
2578 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2583 IActiveScript_Release(engine);
2592 IActiveScriptParse *
parser;
2602 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2603 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2611 hres = IActiveScript_GetScriptState(engine, &
ss);
2624 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2658 str =
a2bstr(
"If True Then foo = 42 Else foo = 0\n");
2681 str =
a2bstr(
"\"foo is \" & CStr(foo) \n \n\n ");
2729 const char *file_map;
2880 ok(
hres ==
S_OK,
"use of 'rem' as dot identifier failed: %x08\n",
hres);
2904 parse_script_a(
"test.propargput(counter(), counter()) = counter()");
2932 parse_htmlscript_a(
"<!--\n<!-- ignore this <> <>\n--> <>\nCall reportSuccess()\n-->\n");
2953 ok(
hres == 0x80080008,
"hres = %08x\n",
hres);
2970 ok(
hres == SCRIPT_E_REPORTED,
"hres = %08x\n",
hres);
2982 ok(
hres == SCRIPT_E_REPORTED,
"hres = %08x\n",
hres);
3000 parse_script_a(
"dim n,o\n set o = testObj\n n = o(1,2)\n call ok(n=2, \"n = \" & n)\n");
3004 parse_script_a(
"dim n,o\n set o = testObj\n n = o\n call ok(n=0, \"n = \" & n)\n");
3009 "Call ok(x = 1, \"x = \" & x)\n" 3013 parse_script_a(
"Call ok(getVT(x) = \"VT_EMPTY*\", \"getVT(x) = \" & getVT(x))\n");
3016 "Call ok(getVT(x) = \"VT_EMPTY*\", \"getVT(x) = \" & getVT(x))\n" 3017 "Call ok(getVT(y) = \"VT_EMPTY*\", \"getVT(y) = \" & getVT(y))");
3029 "Sub testsub(arg)\r" 3030 "If arg = 1 Then\r\r" 3031 "Call reportSuccess()\n\n" 3059 CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
3063 ok(
hres ==
S_OK,
"CoCreateInstance(CLSID_VBScriptRegExp) failed: %x\n",
hres);
3065 hres = IUnknown_QueryInterface(unk, &IID_IRegExp2, (
void**)®exp);
3067 IRegExp2_Release(regexp);
3068 IUnknown_Release(unk);
3080 skip(
"Skipping some tests in non-English locale\n");
3087 win_skip(
"Broken engine, probably too old\n");
3088 }
else if(
argc > 2) {
static IActiveScript * create_and_init_script(DWORD flags, BOOL start)
#define DISPID_GLOBAL_PROPARGPUT1
#define EnableModeless(type)
#define DISPID_GLOBAL_THROWINT
#define DISP_E_UNKNOWNNAME
static void free_ei(EXCEPINFO *ei)
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
static IActiveScriptSiteWindow ActiveScriptSiteWindow
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
LANGID WINAPI GetUserDefaultUILanguage(void)
static BOOL strict_dispid_check
static void _test_grfdex(unsigned line, DWORD grfdex, DWORD expect)
static HRESULT parse_script(DWORD flags, BSTR script_str, const WCHAR *delim)
static ULONG WINAPI DispatchEx_AddRef(IDispatchEx *iface)
#define DISPATCH_PROPERTYGET
static const IActiveScriptSiteUIControlVtbl ActiveScriptSiteUIControlVtbl
static IActiveScript * create_script(void)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
static const char * vt2a(VARIANT *v)
static const WCHAR emptyW[]
static void test_msgbox(void)
int WINAPI lstrcmpiA(LPCSTR lpString1, LPCSTR lpString2)
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
#define WideCharToMultiByte
static HRESULT parse_script_ar(const char *src)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
#define DISPID_GLOBAL_PROPARGPUT
static HRESULT WINAPI DispatchEx_GetIDsOfNames(IDispatchEx *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static const WCHAR testW[]
static HRESULT WINAPI DispatchEx_GetTypeInfo(IDispatchEx *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
#define DISPID_GLOBAL_REPORTSUCCESS
static HRESULT WINAPI testObj_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static IDispatchExVtbl enumDispVtbl
GLdouble GLdouble GLdouble r
static BOOL strict_enter_script
char * wine_dbgstr_w(const wchar_t *wstr)
#define DISPID_GLOBAL_REFOBJ
INT WINAPI GetLocaleInfoA(LCID lcid, LCTYPE lctype, LPSTR buffer, INT len)
#define LOCALE_USER_DEFAULT
GLuint GLuint GLsizei count
static const IServiceProviderVtbl ServiceProviderVtbl
static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static HRESULT WINAPI DispatchEx_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
static HRESULT WINAPI collectionObj_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static void _parse_htmlscript_a(unsigned line, const char *src)
static const char * test_name
#define DISP_E_MEMBERNOTFOUND
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
const char * wine_dbgstr_guid(const GUID *guid)
#define INVALID_HANDLE_VALUE
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
static ULONG WINAPI Global_Release(IDispatchEx *iface)
#define DISPID_GLOBAL_ISENGLANG
DWORD WINAPI GetLastError(VOID)
static IDispatchEx Global
static IDispatchExVtbl collectionObjVtbl
static ULONG WINAPI RefObj_Release(IDispatchEx *iface)
LCID WINAPI GetUserDefaultLCID(void)
static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
#define DISPID_TESTOBJ_KEYWORD
#define DISP_E_PARAMNOTFOUND
static HRESULT WINAPI DispatchEx_GetTypeInfoCount(IDispatchEx *iface, UINT *pctinfo)
static HRESULT WINAPI ActiveScriptSite_OnStateChange(IActiveScriptSite *iface, SCRIPTSTATE ssScriptState)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
#define sprintf(buf, format,...)
static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFGUID guidService, REFIID riid, void **ppv)
GLenum GLuint GLenum GLsizei const GLchar * buf
static void detect_locale(void)
#define CHECK_NOT_CALLED(func)
#define DISPID_GLOBAL_LETOBJ
static HRESULT WINAPI enumDisp_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
static HRESULT WINAPI ActiveScriptSiteWindow_EnableModeless(IActiveScriptSiteWindow *iface, BOOL fEnable)
static ULONG WINAPI ActiveScriptSiteWindow_AddRef(IActiveScriptSiteWindow *iface)
static HRESULT WINAPI EnumVARIANT_Reset(IEnumVARIANT *iface)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
static ULONG WINAPI ActiveScriptSiteUIControl_AddRef(IActiveScriptSiteUIControl *iface)
static HRESULT onerror_hres
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static IDispatchEx collectionObj
static HRESULT WINAPI ServiceProvider_QueryInterface(IServiceProvider *iface, REFIID riid, void **ppv)
#define DISPID_COLLOBJ_RESET
static struct _test_info info[]
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
#define DISPID_GLOBAL_GETVT
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
#define MAKE_VBSERROR(code)
static ULONG WINAPI ActiveScriptSite_Release(IActiveScriptSite *iface)
static void parse_script_af(DWORD flags, const char *src)
static HRESULT WINAPI ActiveScriptSiteUIControl_QueryInterface(IActiveScriptSiteUIControl *iface, REFIID riid, void **ppv)
BSTR WINAPI SysAllocString(LPCOLESTR str)
enum tagSCRIPTSTATE SCRIPTSTATE
static HRESULT WINAPI testObj_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
const CLSID CLSID_VBScriptRegExp
#define DISPID_GLOBAL_TESTDISP
static HRESULT test_global_vars_ref(BOOL use_close)
#define DISPATCH_PROPERTYPUT
#define IActiveScriptParseProcedure2_Release
#define IActiveScriptParse_InitNew
#define DISPID_GLOBAL_TODO_WINE_OK
const CLSID CLSID_VBScript
static IDispatchEx * parse_procedure(IActiveScriptParseProcedure2 *parse_proc, const char *src, DWORD flags)
static HRESULT WINAPI ActiveScriptSite_GetLCID(IActiveScriptSite *iface, LCID *plcid)
static int stricmp_wa(LPCWSTR strw, const char *stra)
#define DISPID_GLOBAL_TRACE
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
#define DISPID_GLOBAL_TESTOPTIONALARG
GLboolean GLboolean GLboolean b
#define IActiveScriptParse_Release
#define DEFINE_EXPECT(func)
static ULONG WINAPI ServiceProvider_Release(IServiceProvider *iface)
#define DISPID_GLOBAL_TESTOBJ
static IEnumVARIANT enumObj
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
#define CreateFileMappingW(a, b, c, d, e, f)
static void parse_script_a(const char *src)
static void run_from_file(const char *filename)
#define todo_wine_if(is_todo)
static void test_callbacks(void)
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
#define CHECK_EXPECT2(func)
#define FILE_ATTRIBUTE_READONLY
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
enum tagSCRIPTUICITEM SCRIPTUICITEM
#define CHECK_CALLED(func)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
int winetest_get_mainargs(char ***pargv)
static void test_parse_errors(void)
HRESULT WINAPI VarBstrFromR8(double dblIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut)
static HRESULT WINAPI EnumVARIANT_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
#define DISPID_GLOBAL_GLOBALCALLBACK
static IDispatchEx enumDisp
static void test_procedures(void)
#define IActiveScriptParseProcedure2_ParseProcedureText
#define DISPID_TESTOBJ_PROPGET
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
static ITypeInfo * typeinfo[last_tid]
#define DISPID_GLOBAL_TESTARRAY
#define DISP_E_PARAMNOTOPTIONAL
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
#define CHECK_EXPECT(func)
enum tagSCRIPTUICHANDLING SCRIPTUICHANDLING
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static HRESULT WINAPI ActiveScriptSiteWindow_GetWindow(IActiveScriptSiteWindow *iface, HWND *phwnd)
#define LOCALE_IFIRSTDAYOFWEEK
static void test_disp(IDispatch *disp)
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static IActiveScriptError ** store_script_error
#define DISPATCH_PROPERTYPUTREF
static IDispatchEx RefObj
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static IDispatchEx testObj
static ULONG WINAPI RefObj_AddRef(IDispatchEx *iface)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
#define DISPID_GLOBAL_COLLOBJ