32 #define IActiveScriptParse_QueryInterface IActiveScriptParse64_QueryInterface 33 #define IActiveScriptParse_Release IActiveScriptParse64_Release 34 #define IActiveScriptParse_InitNew IActiveScriptParse64_InitNew 35 #define IActiveScriptParse_ParseScriptText IActiveScriptParse64_ParseScriptText 36 #define IActiveScriptParseProcedure2_Release IActiveScriptParseProcedure2_64_Release 37 #define IActiveScriptParseProcedure2_ParseProcedureText IActiveScriptParseProcedure2_64_ParseProcedureText 41 #define IActiveScriptParse_QueryInterface IActiveScriptParse32_QueryInterface 42 #define IActiveScriptParse_Release IActiveScriptParse32_Release 43 #define IActiveScriptParse_InitNew IActiveScriptParse32_InitNew 44 #define IActiveScriptParse_ParseScriptText IActiveScriptParse32_ParseScriptText 45 #define IActiveScriptParseProcedure2_Release IActiveScriptParseProcedure2_32_Release 46 #define IActiveScriptParseProcedure2_ParseProcedureText IActiveScriptParseProcedure2_32_ParseProcedureText 51 {0xf414c260,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}};
53 {0xf414c262,0x6ac0,0x11cf,{0xb6,0xd1,0x00,0xaa,0x00,0xbb,0xbb,0x58}};
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 CHECK_EXPECT2(func) \ 63 ok(expect_ ##func, "unexpected call " #func "\n"); \ 64 called_ ## func = TRUE; \ 67 #define CHECK_EXPECT(func) \ 69 CHECK_EXPECT2(func); \ 70 expect_ ## func = FALSE; \ 73 #define CHECK_CALLED(func) \ 75 ok(called_ ## func, "expected " #func "\n"); \ 76 expect_ ## func = called_ ## func = FALSE; \ 125 #define DISPID_GLOBAL_TESTPROPGET 0x1000 126 #define DISPID_GLOBAL_TESTPROPPUT 0x1001 127 #define DISPID_GLOBAL_REPORTSUCCESS 0x1002 128 #define DISPID_GLOBAL_TRACE 0x1003 129 #define DISPID_GLOBAL_OK 0x1004 130 #define DISPID_GLOBAL_GETVT 0x1005 131 #define DISPID_GLOBAL_TESTOBJ 0x1006 132 #define DISPID_GLOBAL_GETNULLBSTR 0x1007 133 #define DISPID_GLOBAL_NULL_DISP 0x1008 134 #define DISPID_GLOBAL_TESTTHIS 0x1009 135 #define DISPID_GLOBAL_TESTTHIS2 0x100a 136 #define DISPID_GLOBAL_INVOKEVERSION 0x100b 137 #define DISPID_GLOBAL_CREATEARRAY 0x100c 138 #define DISPID_GLOBAL_PROPGETFUNC 0x100d 139 #define DISPID_GLOBAL_OBJECT_FLAG 0x100e 140 #define DISPID_GLOBAL_ISWIN64 0x100f 141 #define DISPID_GLOBAL_PUREDISP 0x1010 142 #define DISPID_GLOBAL_ISNULLBSTR 0x1011 143 #define DISPID_GLOBAL_PROPARGPUT 0x1012 144 #define DISPID_GLOBAL_SHORTPROP 0x1013 145 #define DISPID_GLOBAL_GETSHORT 0x1014 146 #define DISPID_GLOBAL_TESTARGTYPES 0x1015 147 #define DISPID_GLOBAL_INTPROP 0x1016 148 #define DISPID_GLOBAL_DISPUNK 0x1017 149 #define DISPID_GLOBAL_TESTRES 0x1018 150 #define DISPID_GLOBAL_TESTNORES 0x1019 151 #define DISPID_GLOBAL_DISPEXFUNC 0x101a 152 #define DISPID_GLOBAL_TESTPROPPUTREF 0x101b 153 #define DISPID_GLOBAL_GETSCRIPTSTATE 0x101c 154 #define DISPID_GLOBAL_BINDEVENTHANDLER 0x101d 155 #define DISPID_GLOBAL_TESTENUMOBJ 0x101e 156 #define DISPID_GLOBAL_CALLEVAL 0x101f 157 #define DISPID_GLOBAL_PROPARGPUTOP 0x1020 159 #define DISPID_GLOBAL_TESTPROPDELETE 0x2000 160 #define DISPID_GLOBAL_TESTNOPROPDELETE 0x2001 161 #define DISPID_GLOBAL_TESTPROPDELETEERROR 0x2002 163 #define DISPID_TESTOBJ_PROP 0x2000 164 #define DISPID_TESTOBJ_ONLYDISPID 0x2001 165 #define DISPID_TESTOBJ_WITHPROP 0x2002 167 #define JS_E_OUT_OF_MEMORY 0x800a03ec 168 #define JS_E_INVALID_CHAR 0x800a03f6 199 if (pGetThreadUILanguage)
201 if (pGetUserDefaultUILanguage)
226 #define test_grfdex(a,b) _test_grfdex(__LINE__,a,b) 263 ok(rgVar !=
NULL,
"rgVar is NULL\n");
264 ok(celt == 1,
"celt = %d\n", celt);
265 ok(pCeltFetched ==
NULL,
"pCeltFetched is not NULL\n");
297 ok(0,
"EnumVariant_Skip: unexpected call\n");
312 ok(0,
"EnumVariant_Clone: unexpected call\n");
354 ok(0,
"unexpected call\n");
368 ok(0,
"unexpected call\n");
376 ok(0,
"unexpected call\n");
382 ok(0,
"unexpected call\n");
389 ok(0,
"unexpected call\n");
401 ok(0,
"unexpected call\n");
407 ok(0,
"unexpected call\n");
413 ok(0,
"unexpected call\n");
419 ok(0,
"unexpected call\n");
425 ok(0,
"unexpected call\n");
435 ok(pdp !=
NULL,
"pdp == NULL\n");
436 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
437 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
438 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
439 ok(pei ==
NULL,
"pei != NULL\n");
447 ok(0,
"unexpected call %x\n",
id);
461 test_grfdex(grfdex, fdexNameCaseSensitive|fdexNameImplicit);
490 ok(pspCaller !=
NULL,
"pspCaller = NULL\n");
494 ok(pdp !=
NULL,
"pdp == NULL\n");
495 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
496 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
497 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
499 ok(pei !=
NULL,
"pei == NULL\n");
502 case INVOKE_PROPERTYGET:
504 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
505 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
508 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
510 case INVOKE_FUNC|INVOKE_PROPERTYGET:
511 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
513 case DISPATCH_CONSTRUCT:
515 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
518 ok(0,
"invalid flag (%x)\n",
wFlags);
528 ok(pdp !=
NULL,
"pdp == NULL\n");
529 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
530 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
531 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
532 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
533 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
535 ok(pei !=
NULL,
"pei == NULL\n");
541 ok(pdp !=
NULL,
"pdp == NULL\n");
542 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
543 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
544 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
545 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
546 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
548 ok(pei !=
NULL,
"pei == NULL\n");
556 ok(0,
"unexpected call %x\n",
id);
567 if(!
strcmp_wa(bstrName,
"noDeleteTest")) {
600 ok(pspCaller !=
NULL,
"pspCaller = NULL\n");
606 ok(pdp !=
NULL,
"pdp == NULL\n");
607 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
608 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs != NULL\n");
609 ok(*pdp->rgdispidNamedArgs ==
DISPID_THIS,
"*rgdispidNamedArgs = %d\n", *pdp->rgdispidNamedArgs);
610 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
611 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
613 ok(pei !=
NULL,
"pei == NULL\n");
615 ok(
V_VT(pdp->rgvarg+1) ==
VT_BOOL,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
630 ok(0,
"unexpected call %x\n",
id);
671 ok(cNames==1,
"cNames = %d\n", cNames);
677 }
else if(!
strcmp_wa(*rgszNames,
"noprop")) {
682 ok(0,
"unexpected call\n");
691 switch(dispIdMember) {
695 ok(pdp !=
NULL,
"pdp == NULL\n");
696 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
697 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
698 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
699 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
701 ok(ei !=
NULL,
"ei == NULL\n");
702 ok(puArgErr !=
NULL,
"puArgErr == NULL\n");
715 ok(0,
"unexpected call\n");
734 ok(0,
"unexpected call\n");
752 ok(disp !=
NULL,
"disp = NULL\n");
813 if(!
strcmp_wa(bstrName,
"reportSuccess")) {
819 if(!
strcmp_wa(bstrName,
"testPropGet")) {
825 if(!
strcmp_wa(bstrName,
"testPropPut")) {
831 if(!
strcmp_wa(bstrName,
"testPropPutRef")) {
837 if(!
strcmp_wa(bstrName,
"testPropDelete")) {
843 if(!
strcmp_wa(bstrName,
"testNoPropDelete")) {
849 if(!
strcmp_wa(bstrName,
"testPropDeleteError")) {
865 if(!
strcmp_wa(bstrName,
"getNullBSTR")) {
895 if(!
strcmp_wa(bstrName,
"invokeVersion")) {
900 if(!
strcmp_wa(bstrName,
"createArray")) {
905 if(!
strcmp_wa(bstrName,
"propGetFunc")) {
928 if(!
strcmp_wa(bstrName,
"propArgPutG")) {
935 if(!
strcmp_wa(bstrName,
"propArgPutOp")) {
942 if(!
strcmp_wa(bstrName,
"propArgPutO")) {
944 test_grfdex(grfdex, fdexNameEnsure|fdexNameCaseSensitive);
959 if(!
strcmp_wa(bstrName,
"testArgTypes")) {
989 if(!
strcmp_wa(bstrName,
"getScriptState")) {
994 if(!
strcmp_wa(bstrName,
"bindEventHandler")) {
999 if(!
strcmp_wa(bstrName,
"testEnumObj")) {
1017 ok(pspCaller !=
NULL,
"pspCaller = NULL\n");
1021 ok(
wFlags == INVOKE_FUNC ||
wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET),
"wFlags = %x\n",
wFlags);
1022 ok(pdp !=
NULL,
"pdp == NULL\n");
1023 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1024 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1025 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1026 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1027 if(
wFlags & INVOKE_PROPERTYGET)
1028 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1030 ok(!pvarRes,
"pvarRes != NULL\n");
1031 ok(pei !=
NULL,
"pei == NULL\n");
1033 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1034 ok(
V_VT(pdp->rgvarg+1) ==
VT_BOOL,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
1041 ok(pdp !=
NULL,
"pdp == NULL\n");
1042 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1043 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1044 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1045 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1046 ok(!pvarRes,
"pvarRes != NULL\n");
1047 ok(pei !=
NULL,
"pei == NULL\n");
1049 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1059 ok(pdp !=
NULL,
"pdp == NULL\n");
1060 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1061 ok(pdp->cArgs == 0,
"cArgs = %d\n", pdp->cArgs);
1062 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1064 ok(!pvarRes,
"pvarRes != NULL\n");
1065 ok(pei !=
NULL,
"pei == NULL\n");
1073 ok(pdp !=
NULL,
"pdp == NULL\n");
1074 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1075 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1076 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1077 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1078 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1080 ok(pei !=
NULL,
"pei == NULL\n");
1091 ok(pdp !=
NULL,
"pdp == NULL\n");
1092 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1093 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1094 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1095 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1096 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1097 ok(!pvarRes,
"pvarRes != NULL\n");
1099 ok(
V_VT(pdp->rgvarg) ==
VT_I4,
"V_VT(pdp->rgvarg)=%d\n",
V_VT(pdp->rgvarg));
1100 ok(
V_I4(pdp->rgvarg) == 1,
"V_I4(pdp->rgvarg)=%d\n",
V_I4(pdp->rgvarg));
1106 ok(
wFlags == (INVOKE_PROPERTYPUT|INVOKE_PROPERTYPUTREF),
"wFlags = %x\n",
wFlags);
1107 ok(pdp !=
NULL,
"pdp == NULL\n");
1108 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1109 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1110 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1111 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1112 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1113 ok(!pvarRes,
"pvarRes != NULL\n");
1119 ok(pdp !=
NULL,
"pdp == NULL\n");
1120 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1121 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1122 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1123 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1124 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1126 ok(pei !=
NULL,
"pei == NULL\n");
1129 switch(
V_VT(pdp->rgvarg)) {
1155 ok(0,
"unknown vt %d\n",
V_VT(pdp->rgvarg));
1162 ok(pvarRes !=
NULL,
"pvarRes = NULL\n");
1165 V_BOOL(pvarRes) = VARIANT_TRUE;
1170 ok(!pvarRes,
"pvarRes != NULL\n");
1177 ok(pdp !=
NULL,
"pdp == NULL\n");
1178 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1179 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1180 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1181 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1182 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1184 ok(pei !=
NULL,
"pei == NULL\n");
1192 ok(pdp !=
NULL,
"pdp == NULL\n");
1193 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1194 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1195 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1196 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1197 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1199 ok(pei !=
NULL,
"pei == NULL\n");
1218 ok(pdp !=
NULL,
"pdp == NULL\n");
1219 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1220 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1221 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1222 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1223 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1225 ok(pei !=
NULL,
"pei == NULL\n");
1226 ok(
V_VT(pdp->rgvarg) ==
VT_BSTR,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1229 V_BOOL(pvarRes) =
V_BSTR(pdp->rgvarg) ? VARIANT_FALSE : VARIANT_TRUE;
1235 V_BOOL(pvarRes) =
sizeof(
void*) == 8 ? VARIANT_TRUE : VARIANT_FALSE;
1241 ok(pdp !=
NULL,
"pdp == NULL\n");
1242 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1243 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1244 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1245 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1246 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1248 ok(pei !=
NULL,
"pei == NULL\n");
1255 ok(pdp !=
NULL,
"pdp == NULL\n");
1256 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1257 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1258 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1259 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1260 ok(pvarRes ==
NULL,
"pvarRes != NULL\n");
1261 ok(pei !=
NULL,
"pei == NULL\n");
1269 ok(pdp !=
NULL,
"pdp == NULL\n");
1270 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1271 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1272 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1273 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1274 ok(pvarRes ==
NULL,
"pvarRes != NULL\n");
1275 ok(pei !=
NULL,
"pei == NULL\n");
1285 ok(pdp !=
NULL,
"pdp == NULL\n");
1286 ok(!pdp->rgvarg,
"rgvarg != NULL\n");
1287 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1288 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1289 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1290 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1292 ok(pei !=
NULL,
"pei == NULL\n");
1305 ok(pdp !=
NULL,
"pdp == NULL\n");
1306 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1307 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1308 ok(!pdp->cArgs,
"cArgs = %d\n", pdp->cArgs);
1309 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1310 ok(pvarRes !=
NULL,
"pvarRes == NULL\n");
1312 ok(pei !=
NULL,
"pei == NULL\n");
1323 for(
i=0;
i<5;
i++) {
1324 for(
j=2;
j<4;
j++) {
1340 case INVOKE_FUNC|INVOKE_PROPERTYGET:
1341 ok(pdp->cArgs != 0,
"pdp->cArgs = %d\n", pdp->cArgs);
1342 ok(pvarRes !=
NULL,
"pdp->pvarRes == NULL\n");
1345 ok(0,
"invalid flag (%x)\n",
wFlags);
1348 ok(pdp !=
NULL,
"pdp == NULL\n");
1349 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1350 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1351 ok(pei !=
NULL,
"pei == NULL\n");
1356 V_I4(pvarRes) = pdp->cArgs;
1381 ok(pdp !=
NULL,
"pdp == NULL\n");
1382 ok(pdp->rgvarg !=
NULL,
"rgvarg != NULL\n");
1383 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1384 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1385 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1386 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1387 ok(!pvarRes,
"pvarRes != NULL\n");
1388 ok(pei !=
NULL,
"pei == NULL\n");
1390 ok(
V_VT(pdp->rgvarg) ==
VT_I4,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1391 ok(
V_I4(pdp->rgvarg) == 2,
"V_I4(pdp->rgvarg) = %d\n",
V_I4(pdp->rgvarg));
1393 ok(
V_VT(pdp->rgvarg+1) ==
VT_I4,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
1394 ok(
V_I4(pdp->rgvarg+1) == 1,
"V_I4(pdp->rgvarg+1) = %d\n",
V_I4(pdp->rgvarg+1));
1396 ok(
V_VT(pdp->rgvarg+2) ==
VT_I4,
"V_VT(pdp->rgvarg+2) = %d\n",
V_VT(pdp->rgvarg+2));
1397 ok(
V_I4(pdp->rgvarg+2) == 0,
"V_I4(pdp->rgvarg+2) = %d\n",
V_I4(pdp->rgvarg+2));
1401 ok(pdp !=
NULL,
"pdp == NULL\n");
1402 ok(pdp->rgvarg !=
NULL,
"rgvarg != NULL\n");
1403 ok(pei !=
NULL,
"pei == NULL\n");
1406 case INVOKE_PROPERTYGET | INVOKE_FUNC:
1409 ok(pdp->cNamedArgs == 0,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1410 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1411 ok(pdp->cArgs == 2,
"cArgs = %d\n", pdp->cArgs);
1412 ok(pdp->cNamedArgs == 0,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1413 ok(pvarRes !=
NULL,
"pvarRes = NULL\n");
1415 ok(
V_VT(pdp->rgvarg) ==
VT_I4,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1416 ok(
V_I4(pdp->rgvarg) == 1,
"V_I4(pdp->rgvarg) = %d\n",
V_I4(pdp->rgvarg));
1418 ok(
V_VT(pdp->rgvarg+1) ==
VT_I4,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
1419 ok(
V_I4(pdp->rgvarg+1) == 0,
"V_I4(pdp->rgvarg+1) = %d\n",
V_I4(pdp->rgvarg+1));
1424 case INVOKE_PROPERTYPUT:
1427 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1428 ok(pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT,
"pdp->rgdispidNamedArgs[0] = %d\n", pdp->rgdispidNamedArgs[0]);
1429 ok(pdp->rgdispidNamedArgs !=
NULL,
"rgdispidNamedArgs == NULL\n");
1430 ok(pdp->cArgs == 3,
"cArgs = %d\n", pdp->cArgs);
1431 ok(pdp->cNamedArgs == 1,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1432 ok(!pvarRes,
"pvarRes != NULL\n");
1434 ok(
V_VT(pdp->rgvarg) ==
VT_I4,
"V_VT(pdp->rgvarg) = %d\n",
V_VT(pdp->rgvarg));
1435 ok(
V_I4(pdp->rgvarg) == 8,
"V_I4(pdp->rgvarg) = %d\n",
V_I4(pdp->rgvarg));
1437 ok(
V_VT(pdp->rgvarg+1) ==
VT_I4,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
1438 ok(
V_I4(pdp->rgvarg+1) == 1,
"V_I4(pdp->rgvarg+1) = %d\n",
V_I4(pdp->rgvarg+1));
1440 ok(
V_VT(pdp->rgvarg+2) ==
VT_I4,
"V_VT(pdp->rgvarg+2) = %d\n",
V_VT(pdp->rgvarg+2));
1441 ok(
V_I4(pdp->rgvarg+2) == 0,
"V_I4(pdp->rgvarg+2) = %d\n",
V_I4(pdp->rgvarg+2));
1450 IDispatchEx *dispex;
1454 hres = IDispatch_QueryInterface(
script_disp, &IID_IDispatchEx, (
void**)&dispex);
1458 hres = IDispatchEx_GetDispID(dispex,
str, fdexNameCaseSensitive, &
id);
1466 hres = IDispatchEx_InvokeEx(dispex,
id, lcid,
DISPATCH_METHOD, pdp, pvarRes, pei, pspCaller);
1475 hres = IDispatchEx_InvokeEx(dispex,
id, lcid, DISPATCH_CONSTRUCT, pdp, pvarRes, pei, pspCaller);
1480 hres = IDispatchEx_InvokeEx(dispex,
id, lcid, DISPATCH_CONSTRUCT, pdp,
NULL, pei, pspCaller);
1484 hres = IDispatchEx_InvokeEx(dispex,
id, lcid, DISPATCH_CONSTRUCT|
DISPATCH_PROPERTYGET, pdp, pvarRes, pei, pspCaller);
1488 hres = IDispatchEx_InvokeEx(dispex,
id, lcid,
wFlags, pdp, pvarRes, pei, pspCaller);
1491 IDispatchEx_Release(dispex);
1502 V_INT(pvarRes) = 22;
1517 ok(pdp !=
NULL,
"pdp == NULL\n");
1518 ok(pdp->rgvarg !=
NULL,
"rgvarg != NULL\n");
1519 ok(pdp->cArgs == 6,
"cArgs = %d\n", pdp->cArgs);
1520 ok(!pvarRes,
"pvarRes != NULL\n");
1522 ok(
V_VT(pdp->rgvarg+1) ==
VT_I4,
"V_VT(pdp->rgvarg+1) = %d\n",
V_VT(pdp->rgvarg+1));
1523 ok(
V_I4(pdp->rgvarg+1) == 10,
"V_I4(pdp->rgvarg+1) = %d\n",
V_I4(pdp->rgvarg+1));
1525 ok(
V_VT(pdp->rgvarg+2) ==
VT_I4,
"V_VT(pdp->rgvarg+2) = %d\n",
V_VT(pdp->rgvarg+2));
1526 ok(
V_I4(pdp->rgvarg+2) == 10,
"V_I4(pdp->rgvarg+2) = %d\n",
V_I4(pdp->rgvarg+2));
1528 ok(
V_VT(pdp->rgvarg+3) ==
VT_I4,
"V_VT(pdp->rgvarg+3) = %d\n",
V_VT(pdp->rgvarg+3));
1529 ok(
V_I4(pdp->rgvarg+3) == 22,
"V_I4(pdp->rgvarg+3) = %d\n",
V_I4(pdp->rgvarg+3));
1531 ok(
V_VT(pdp->rgvarg+4) ==
VT_I4,
"V_VT(pdp->rgvarg+4) = %d\n",
V_VT(pdp->rgvarg+4));
1532 ok(
V_I4(pdp->rgvarg+4) == 22,
"V_I4(pdp->rgvarg+4) = %d\n",
V_I4(pdp->rgvarg+4));
1568 IDispatchEx *eval_func;
1575 ok(pdp !=
NULL,
"pdp == NULL\n");
1576 ok(pdp->rgvarg !=
NULL,
"rgvarg == NULL\n");
1577 ok(!pdp->rgdispidNamedArgs,
"rgdispidNamedArgs != NULL\n");
1578 ok(pdp->cArgs == 1,
"cArgs = %d\n", pdp->cArgs);
1579 ok(!pdp->cNamedArgs,
"cNamedArgs = %d\n", pdp->cNamedArgs);
1580 ok(pvarRes ==
NULL,
"pvarRes != NULL\n");
1581 ok(pei !=
NULL,
"pei == NULL\n");
1584 hres = IDispatch_QueryInterface(
V_DISPATCH(pdp->rgvarg), &IID_IDispatchEx, (
void**)&eval_func);
1585 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
1600 IDispatchEx_Release(eval_func);
1605 ok(0,
"unexpected call %x\n",
id);
1622 ok(0,
"id = %d\n",
id);
1682 ok(dwReturnMask == SCRIPTINFO_IUNKNOWN,
"unexpected dwReturnMask %x\n", dwReturnMask);
1683 ok(!ppti,
"ppti != NULL\n");
1725 #undef ACTSCPSITE_THIS 1745 ok(pscripterror !=
NULL,
"ActiveScriptSite_OnScriptError -- expected pscripterror to be set, got NULL\n");
1776 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptProperty,
1777 (
void**)&script_prop);
1778 ok(
hres ==
S_OK,
"Could not get IActiveScriptProperty iface: %08x\n",
hres);
1781 IActiveScriptProperty_Release(script_prop);
1793 &IID_IActiveScript, (
void**)&
script);
1801 IActiveScript_Release(
script);
1810 IActiveScriptParse *
parser;
1818 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
1819 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
1822 IActiveScript_Release(engine);
1832 hres = IActiveScript_AddNamedItem(engine,
testW,
1833 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|
flags);
1837 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
1847 IActiveScript_Release(engine);
1855 IActiveScriptParseProcedure2 *parse_proc;
1856 IActiveScriptParse *
parser;
1858 IDispatchEx *dispex;
1869 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
1870 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
1879 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
1881 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParseProcedure2, (
void**)&parse_proc);
1882 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
1887 SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS, &disp);
1892 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
1893 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
1894 IDispatch_Release(disp);
1900 IDispatchEx_Release(dispex);
1903 IActiveScript_Release(engine);
1911 IActiveScriptParse *
parser;
1920 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
1921 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
1924 IActiveScript_Release(engine);
1934 hres = IActiveScript_AddNamedItem(engine,
testW,
1935 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
1939 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
1943 IActiveScript_Release(engine);
1953 DWORD source_context;
1962 ok(
hres ==
S_OK,
"IActiveScriptError_GetSourcePosition -- hres: expected S_OK, got 0x%08x\n",
hres);
1964 source_context = 0xdeadbeef;
1965 hres = IActiveScriptError_GetSourcePosition(
error, &source_context,
NULL,
NULL);
1966 ok(
hres ==
S_OK,
"IActiveScriptError_GetSourcePosition -- hres: expected S_OK, got 0x%08x\n",
hres);
1967 ok(source_context == 0,
"IActiveScriptError_GetSourcePosition -- source_context: expected 0, got 0x%08x\n", source_context);
1971 ok(
hres ==
S_OK,
"IActiveScriptError_GetSourcePosition -- hres: expected S_OK, got 0x%08x\n",
hres);
1974 char_position = 0xdeadbeef;
1976 ok(
hres ==
S_OK,
"IActiveScriptError_GetSourcePosition -- hres: expected S_OK, got 0x%08x\n",
hres);
1977 ok(char_position ==
pos,
"IActiveScriptError_GetSourcePosition -- char_position: expected %d, got %d\n",
pos, char_position);
1982 ok(
hres ==
E_POINTER,
"IActiveScriptError_GetSourceLineText -- hres: expected E_POINTER, got 0x%08x\n",
hres);
1985 hres = IActiveScriptError_GetSourceLineText(
error, &linetext);
1987 ok(
hres ==
S_OK,
"IActiveScriptError_GetSourceLineText -- hres: expected S_OK, got 0x%08x\n",
hres);
1991 ok(
hres ==
E_FAIL,
"IActiveScriptError_GetSourceLineText -- hres: expected S_OK, got 0x%08x\n",
hres);
1993 "IActiveScriptError_GetSourceLineText -- expected NULL, got %s\n",
wine_dbgstr_w(linetext));
2000 ok(
hres ==
E_POINTER,
"IActiveScriptError_GetExceptionInfo -- hres: expected E_POINTER, got 0x%08x\n",
hres);
2002 excep.wCode = 0xdead;
2003 excep.wReserved = 0xdead;
2004 excep.bstrSource = (
BSTR)0xdeadbeef;
2005 excep.bstrDescription = (
BSTR)0xdeadbeef;
2006 excep.bstrHelpFile = (
BSTR)0xdeadbeef;
2007 excep.dwHelpContext = 0xdeadbeef;
2008 excep.pvReserved = (
void *)0xdeadbeef;
2009 excep.pfnDeferredFillIn = (
void *)0xdeadbeef;
2010 excep.scode = 0xdeadbeef;
2012 hres = IActiveScriptError_GetExceptionInfo(
error, &excep);
2013 ok(
hres ==
S_OK,
"IActiveScriptError_GetExceptionInfo -- hres: expected S_OK, got 0x%08x\n",
hres);
2015 ok(excep.wCode == 0,
"IActiveScriptError_GetExceptionInfo -- excep.wCode: expected 0, got 0x%08x\n", excep.wCode);
2016 ok(excep.wReserved == 0,
"IActiveScriptError_GetExceptionInfo -- excep.wReserved: expected 0, got %d\n", excep.wReserved);
2018 skip(
"Non-english UI (test with hardcoded strings)\n");
2020 ok(excep.bstrSource !=
NULL && !
lstrcmpW(excep.bstrSource, script_source),
2021 "IActiveScriptError_GetExceptionInfo -- excep.bstrSource is not valid: expected %s, got %s\n",
2024 "IActiveScriptError_GetExceptionInfo -- excep.bstrDescription is not valid: got %s\n",
wine_dbgstr_w(excep.bstrDescription));
2026 ok(excep.bstrHelpFile ==
NULL,
2027 "IActiveScriptError_GetExceptionInfo -- excep.bstrHelpFile: expected NULL, got %s\n",
wine_dbgstr_w(excep.bstrHelpFile));
2028 ok(excep.dwHelpContext == 0,
"IActiveScriptError_GetExceptionInfo -- excep.dwHelpContext: expected 0, got %d\n", excep.dwHelpContext);
2029 ok(excep.pvReserved ==
NULL,
"IActiveScriptError_GetExceptionInfo -- excep.pvReserved: expected NULL, got %p\n", excep.pvReserved);
2030 ok(excep.pfnDeferredFillIn ==
NULL,
"IActiveScriptError_GetExceptionInfo -- excep.pfnDeferredFillIn: expected NULL, got %p\n", excep.pfnDeferredFillIn);
2031 ok(excep.scode == errorcode,
"IActiveScriptError_GetExceptionInfo -- excep.scode: expected 0x%08x, got 0x%08x\n", errorcode, excep.scode);
2040 IActiveScriptParse *
parser;
2048 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2049 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2052 IActiveScript_Release(engine);
2062 hres = IActiveScript_AddNamedItem(engine,
testW,
2063 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|
flags);
2067 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2077 todo_wine ok(
hres == 0x80020101,
"parse_script_with_error should have returned 0x80020101, got: 0x%08x\n",
hres);
2088 IActiveScript_Release(engine);
2116 ok(
hres == exhres,
"parse_script failed: %08x, expected %08x\n",
hres, exhres);
2126 line_text =
a2bstr(linetext);
2150 const char *file_map;
2241 IActiveScriptParse *
parser;
2245 static const WCHAR script_textW[] =
2246 {
'v',
'a',
'r',
' ',
'v',
' ',
'=',
' ',
't',
'e',
's',
't',
'V',
'a',
'l',
';',0};
2252 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2253 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2256 IActiveScript_Release(engine);
2269 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|
2270 (global_members ? SCRIPTITEM_GLOBALMEMBERS : 0));
2276 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2288 IActiveScript_Release(engine);
2294 IActiveScriptParse *
parser;
2303 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2304 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2312 hres = IActiveScript_AddNamedItem(engine,
testW, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2315 str =
a2bstr(
"ok(getScriptState() === 5, \"getScriptState = \" + getScriptState());\n" 2316 "reportSuccess();");
2324 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2328 IActiveScript_Release(engine);
2335 IActiveScriptParse *
parser;
2344 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2345 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2353 hres = IActiveScript_AddNamedItem(engine,
testW, SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2356 str =
a2bstr(
"function bindEventHandler::eventName() {}\n" 2357 "reportSuccess();");
2366 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2371 IActiveScript_Release(engine);
2378 IActiveScriptParse *
parser;
2387 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2388 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2398 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2403 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2412 *engine_ret = engine;
2414 IActiveScript_Close(engine);
2415 IActiveScript_Release(engine);
2423 IActiveScriptParse *
parser;
2433 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2434 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2444 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2457 hres = IActiveScript_GetScriptState(engine, &
state);
2462 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2464 hres = IActiveScript_Close(engine);
2468 IActiveScript_Release(engine);
2493 IDispatch_Release(disp);
2527 ok(
hres == 0x800a03fa,
"parse_script_expr failed: %08x\n",
hres);
2530 ok(
hres == 0x800a03fa,
"parse_script_expr failed: %08x\n",
hres);
2550 IDispatchEx *dispex;
2559 hres = IDispatch_QueryInterface(
V_DISPATCH(&
v), &IID_IDispatchEx, (
void**)&dispex);
2560 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
2564 hres = IDispatchEx_GetDispID(dispex,
str, 0, &func_id);
2569 hres = IDispatchEx_GetDispID(dispex,
str, 0, &prop_id);
2584 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2587 hres = IDispatchEx_GetDispID(dispex,
str, 0, &func_id);
2599 IDispatchEx_Release(dispex);
2600 IActiveScript_Release(
script);
2605 IActiveScriptParse *
parser;
2606 IDispatchEx *script_dispex;
2617 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
2618 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
2628 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
2633 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
2639 hres = IDispatch_QueryInterface(
script_disp, &IID_IDispatchEx, (
void**)&script_dispex);
2640 ok(
hres ==
S_OK,
"Could not get IDispatchEx iface: %08x\n",
hres);
2644 hres = IDispatchEx_GetDispID(script_dispex,
str, 0, &
id);
2670 hres = IDispatchEx_GetDispID(script_dispex,
str, 0, &v_id);
2686 " ok(x === 5, 'x = ' + x);" 2694 hres = IDispatchEx_GetDispID(script_dispex,
str, 0, &
id);
2698 IDispatchEx_Release(script_dispex);
2700 IActiveScript_Close(engine);
2701 IActiveScript_Release(engine);
2716 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
S_OK},
2717 {{0xFEFF,
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
S_OK},
2718 {{
'v',0xFEFF,
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
JS_E_OUT_OF_MEMORY},
2719 {{
'v',
'a',
'r',0xFEFF,
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
S_OK},
2720 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',0xFEFF,
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
S_OK},
2721 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',0xFEFF,
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',
')',
';',
'\0'},
JS_E_OUT_OF_MEMORY},
2722 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',0xFEFF,
'(',
')',
';',
'\0'},
S_OK},
2723 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',0xFEFF,
')',
';',
'\0'},
S_OK},
2724 {{
'v',
'a',
'r',
' ',
'a',
' ',
'=',0xFEFF,
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',0xFEFF,
')',
';',
'\0'},
S_OK},
2725 {{0xFEFF,
'v',
'a',
'r',
' ',
'a',
' ',
'=',0xFEFF,0xFEFF,
' ',
'1',
';',
' ',
'r',
'e',
'p',
'o',
'r',
't',
'S',
'u',
'c',
'c',
'e',
's',
's',
'(',0xFEFF,
')',
';',
'\0'},
S_OK},
2731 for (
i = 0; bom_tests[
i].
str[0];
i++)
2763 win_skip(
"Could not create script\n");
2766 IActiveScript_Release(
script);
2805 parse_script_a(
"ok((delete testObj.deleteTest) === true, 'delete testObj.deleteTest did not return true');");
2809 parse_script_a(
"ok((delete testObj.noDeleteTest) === false, 'delete testObj.noDeleteTest did not return false');");
2814 parse_script_a(
"ok((delete testPropDelete) === true, 'delete testPropDelete did not return true');");
2820 parse_script_a(
"ok((delete testNoPropDelete) === false, 'delete testPropDelete did not return false');");
2831 parse_script_a(
"ok((delete pureDisp.prop) === false, 'delete pureDisp.prop did not return true');");
2835 parse_script_a(
"ok((delete pureDisp.noprop) === true, 'delete pureDisp.noprop did not return false');");
2851 parse_script_a(
"var t = {func: dispexFunc}; t = t.func(false);");
2855 parse_script_a(
"Function.prototype.apply.call(dispexFunc, testObj, [true]);");
2859 parse_script_a(
"Function.prototype.apply.call(pureDisp, testObj, [true]);");
2864 parse_script_a(
"ok(typeof(test) === 'object', \"typeof(test) != 'object'\");");
2888 parse_script_a(
"(function () { eval('var testPropGet;'); })();");
2891 parse_script_a(
"ok(propGetFunc() == 0, \"Incorrect propGetFunc value\");");
2893 parse_script_a(
"ok(propGetFunc(1) == 1, \"Incorrect propGetFunc value\");");
2894 parse_script_a(
"ok(propGetFunc(1, 2) == 2, \"Incorrect propGetFunc value\");");
2896 parse_script_a(
"ok(propGetFunc().toString() == 0, \"Incorrect propGetFunc value\");");
2898 parse_script_a(
"ok(propGetFunc(1).toString() == 1, \"Incorrect propGetFunc value\");");
2905 parse_script_a(
"(function() { var tmp = (function () { return testObj; })()(1);})();");
2906 parse_script_a(
"(function() { var tmp = (function () { return testObj; })()();})();");
2908 parse_script_a(
"ok((testObj instanceof Object) === false, 'testObj is instance of Object');");
2911 parse_script_a(
"ok(('prop' in testObj) === true, 'prop is not in testObj');");
2915 parse_script_a(
"ok(('noprop' in testObj) === false, 'noprop is in testObj');");
2919 parse_script_a(
"ok(Object.prototype.hasOwnProperty.call(testObj, 'prop') === true, 'hasOwnProperty(\\\"prop\\\") returned false');");
2923 parse_script_a(
"ok(Object.prototype.hasOwnProperty.call(testObj, 'noprop') === false, 'hasOwnProperty(\\\"noprop\\\") returned true');");
2927 parse_script_a(
"ok(Object.prototype.hasOwnProperty.call(pureDisp, 'prop') === true, 'hasOwnProperty(\\\"noprop\\\") returned false');");
2931 parse_script_a(
"ok(Object.prototype.hasOwnProperty.call(pureDisp, 'noprop') === false, 'hasOwnProperty(\\\"noprop\\\") returned true');");
2935 parse_script_a(
"ok(String(testObj) === '1', 'wrong testObj value');");
2939 parse_script_a(
"ok(String.prototype.concat.call(testObj, ' OK') === '1 OK', 'wrong concat result');");
2967 parse_script_a(
"var t = {func: function () { ok(this === t, 'this !== t'); }}; with(t) { func(); }");
2968 parse_script_a(
"function x() { testThis(this); }; with({y: 1}) { x(); }");
2969 parse_script_a(
"(function () { function x() { testThis(this);} x(); })();");
2973 parse_script_a(
"ok(typeof(testObj.onlyDispID) === 'unknown', 'unexpected typeof(testObj.onlyDispID)');");
3006 parse_script_a(
"testArgTypes(dispUnk, intProp(), intProp, getShort(), shortProp," 3007 "function(i1,ui1,ui2,r4,i4ref,ui4,nullunk,d,i,s) {" 3008 " ok(getVT(i) === 'VT_I4', 'getVT(i) = ' + getVT(i));" 3009 " ok(getVT(s) === 'VT_I4', 'getVT(s) = ' + getVT(s));" 3010 " ok(getVT(d) === 'VT_DISPATCH', 'getVT(d) = ' + getVT(d));" 3011 " ok(getVT(nullunk) === 'VT_DISPATCH', 'getVT(nullunk) = ' + getVT(nullunk));" 3012 " ok(nullunk === null, 'nullunk !== null');" 3013 " ok(getVT(ui4) === 'VT_R8', 'getVT(ui4) = ' + getVT(ui4));" 3014 " ok(ui4 > 0, 'ui4 = ' + ui4);" 3015 " ok(getVT(i4ref) === 'VT_I4', 'getVT(i4ref) = ' + getVT(i4ref));" 3016 " ok(i4ref === 2, 'i4ref = ' + i4ref);" 3017 " ok(r4 === 0.5, 'r4 = ' + r4);" 3018 " ok(getVT(r4) === 'VT_R8', 'getVT(r4) = ' + getVT(r4));" 3019 " ok(getVT(ui2) === 'VT_I4', 'getVT(ui2) = ' + getVT(ui2));" 3020 " ok(getVT(ui1) === 'VT_I4', 'getVT(ui1) = ' + getVT(ui1));" 3021 " ok(ui1 === 4, 'ui1 = ' + ui1);" 3022 " ok(getVT(i1) === 'VT_I4', 'getVT(i1) = ' + getVT(i1));" 3023 " ok(i1 === 5, 'i1 = ' + i1);" 3029 parse_script_a(
"var t = (function () { with(testObj) { return withProp; }})(); ok(t === 1, 't = ' + t);");
3037 parse_script_a(
"@if(true)\nif(@_jscript) reportSuccess();\n@end");
3055 " var testEnumObj = new Enumerator(testObj);" 3056 " var tmp = testEnumObj.moveFirst();" 3057 " ok(tmp == undefined, \"testEnumObj.moveFirst() = \" + tmp);" 3069 " var testEnumObj = new Enumerator(testObj);" 3070 " while (!testEnumObj.atEnd())" 3072 " ok(testEnumObj.item() == 123, " 3073 " \"testEnumObj.item() = \"+testEnumObj.item());" 3074 " testEnumObj.moveNext();" 3105 ok(
hres !=
S_OK,
"ParseScriptText have not failed\n");
3114 "Microsoft JScript compilation error",
3119 "var a=1;\nif(a\n-->0) a=5;\n",
3121 "Microsoft JScript compilation error",
3128 "Microsoft JScript runtime error",
3129 "Object doesn't support this action",
3135 "Microsoft JScript runtime error",
3140 "var a;\nnew null;",
3142 "Microsoft JScript runtime error",
3149 "Microsoft JScript runtime error",
3212 parse_script_a(
"#@~^GQAAAA==@#@&d.\x7fwKDYUE1^+k/c#p@#@&OAYAAA==^#~@");
3217 src =
a2bstr(
"#@~^EAA*AA==.\x7fwGMYUEm1+kd`*iAQYAAA==^#~@");
3223 src =
a2bstr(
"#@~^EAAAAAAA==.\x7fwGMYUEm1+kd`*iAQYAAA==^#~@");
3229 src =
a2bstr(
"#@~^EAAAAA^=.\x7fwGMYUEm1+kd`*iAQYAAA==^#~@");
3235 src =
a2bstr(
"#@~^EAAAAA==.\x7fwGMYUEm1ekd`*iAQYAAA==^#~@");
3241 src =
a2bstr(
"#@~^EAAAAA==.\x7fwGMYUEm1+kd`*iAQYAAA==^~#@");
3249 IActiveScriptParse *
parser;
3259 hres = IActiveScript_QueryInterface(engine, &IID_IActiveScriptParse, (
void**)&
parser);
3260 ok(
hres ==
S_OK,
"Could not get IActiveScriptParse: %08x\n",
hres);
3262 IActiveScript_Release(engine);
3272 hres = IActiveScript_AddNamedItem(engine,
testW,
3273 SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE);
3277 ok(
hres ==
S_OK,
"SetScriptState(SCRIPTSTATE_STARTED) failed: %08x\n",
hres);
3288 IActiveScript_Release(engine);
3295 trace(
"Running benchmarks...\n");
3309 &IID_IActiveScriptProperty, (
void**)&script_prop);
3312 IActiveScriptProperty_Release(script_prop);
3314 str =
a2bstr(
"if(!('localeCompare' in String.prototype)) throw 1;");
3331 win_skip(
"Broken engine, probably too old\n");
3332 }
else if(
argc > 2) {
3336 trace(
"invoke version 0\n");
3340 trace(
"invoke version 2\n");
3343 trace(
"JSctipt.Encode tests...\n");
3345 trace(
"ParseProcedureText tests...\n");
static HRESULT WINAPI EnumVARIANT_Reset(IEnumVARIANT *This)
static void run_benchmarks(void)
static HRESULT WINAPI ActiveScriptSite_QueryInterface(IActiveScriptSite *iface, REFIID riid, void **ppv)
#define DISP_E_UNKNOWNNAME
#define DISPID_GLOBAL_PROPARGPUTOP
#define CHECK_CALLED(func)
static IDispatchEx pureDisp
static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, IServiceProvider *pspCaller)
static ULONG WINAPI BindEventHandler_Release(IBindEventHandler *iface)
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
#define DISPID_GLOBAL_INVOKEVERSION
static void run_encoded_tests(void)
#define DISPID_GLOBAL_TESTENUMOBJ
static int strcmp_wa(LPCWSTR strw, const char *stra)
#define DISPID_GLOBAL_TESTPROPGET
#define DISPID_GLOBAL_GETSCRIPTSTATE
#define DISPATCH_PROPERTYGET
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
static void test_invokeex(void)
#define DISPID_GLOBAL_GETNULLBSTR
static void test_IActiveScriptError(IActiveScriptError *error, SCODE errorcode, ULONG line, LONG pos, BSTR script_source, BSTR description, BSTR line_text)
static BOOL check_jscript(void)
static HRESULT parse_script_expr(const char *expr, VARIANT *res, IActiveScript **engine_ret)
#define WideCharToMultiByte
static void parse_script_af(DWORD flags, const char *src)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static HRESULT WINAPI ActiveScriptSite_OnScriptTerminate(IActiveScriptSite *iface, const VARIANT *pvarResult, const EXCEPINFO *pexcepinfo)
#define test_grfdex(a, b)
static ULONG WINAPI EnumVARIANT_Release(IEnumVARIANT *iface)
char * wine_dbgstr_w(const wchar_t *wstr)
static const IBindEventHandlerVtbl BindEventHandlerVtbl
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
static IActiveScriptError * script_error
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
static void run_bom_tests(void)
#define DISPID_GLOBAL_TESTNORES
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
static HRESULT WINAPI dispexFunc_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *res, EXCEPINFO *pei, IServiceProvider *pspCaller)
#define DISP_E_MEMBERNOTFOUND
static const WCHAR test_valW[]
DWORD WINAPI GetTickCount(VOID)
static HINSTANCE hkernel32
static HRESULT WINAPI pureDisp_QueryInterface(IDispatchEx *iface, REFIID riid, void **ppv)
#define INVALID_HANDLE_VALUE
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
DWORD WINAPI GetLastError(VOID)
#define DISPID_GLOBAL_TESTPROPDELETE
static void test_start(void)
static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPCOLESTR pstrName, DWORD dwReturnMask, IUnknown **ppiunkItem, ITypeInfo **ppti)
LCID WINAPI GetUserDefaultLCID(void)
static int EnumVARIANT_next_0_count
static void test_automagic(void)
static void parse_script_with_error(DWORD flags, BSTR script_str, SCODE errorcode, ULONG line, LONG pos, BSTR script_source, BSTR description, BSTR line_text)
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
static HRESULT WINAPI ActiveScriptSite_OnLeaveScript(IActiveScriptSite *iface)
static IDispatchExVtbl dispexFuncVtbl
static void test_parse_proc(void)
#define DISPID_GLOBAL_TESTPROPPUT
#define DISPID_GLOBAL_CALLEVAL
#define DISPID_GLOBAL_DISPUNK
static HRESULT WINAPI ActiveScriptSite_OnScriptError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
static ULONG WINAPI ActiveScriptSite_AddRef(IActiveScriptSite *iface)
static HRESULT WINAPI pureDisp_Invoke(IDispatchEx *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *res, EXCEPINFO *ei, UINT *puArgErr)
#define DISPID_GLOBAL_TRACE
#define DISPID_GLOBAL_REPORTSUCCESS
GLenum GLuint GLenum GLsizei const GLchar * buf
#define IActiveScriptParseProcedure2_ParseProcedureText
static IActiveScript * script_engine
#define DISPID_GLOBAL_TESTPROPDELETEERROR
static void run_benchmark(const char *script_name)
static const CHAR test_valA[]
#define JS_E_OUT_OF_MEMORY
#define DISPID_GLOBAL_PROPGETFUNC
GLenum const GLfloat * params
static const CHAR testA[]
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
static ULONG WINAPI DispatchEx_Release(IDispatchEx *iface)
static const WCHAR desc[]
static void _test_grfdex(unsigned line, DWORD grfdex, DWORD expect)
#define JS_E_INVALID_CHAR
static IDispatchEx dispexFunc
HGLOBAL WINAPI LoadResource(HINSTANCE hModule, HRSRC hRsrc)
static HRESULT WINAPI ActiveScriptSite_GetDocVersionString(IActiveScriptSite *iface, BSTR *pbstrVersion)
static IDispatchExVtbl GlobalVtbl
static void test_isvisible(BOOL global_members)
BSTR WINAPI SysAllocString(LPCOLESTR str)
enum tagSCRIPTSTATE SCRIPTSTATE
static HRESULT WINAPI DispatchEx_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
static void test_retval(void)
static HRESULT WINAPI BindEventHandler_BindHandler(IBindEventHandler *iface, const WCHAR *event, IDispatch *disp)
#define CHECK_EXPECT(func)
static IDispatchEx bindEventHandlerDisp
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 GLint GLint j
static ULONG WINAPI BindEventHandler_AddRef(IBindEventHandler *iface)
static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl
#define DISPID_TESTOBJ_WITHPROP
static ULONG WINAPI EnumVARIANT_AddRef(IEnumVARIANT *iface)
static IDispatchEx testObj
#define IActiveScriptParse_InitNew
static const CLSID CLSID_JScript
static HRESULT WINAPI testObj_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
#define DISPID_GLOBAL_PUREDISP
#define CreateFileMappingW(a, b, c, d, e, f)
static HRESULT WINAPI EnumVARIANT_QueryInterface(IEnumVARIANT *iface, REFIID riid, void **ppv)
static void parse_script_with_error_a(const char *src, SCODE errorcode, ULONG line, LONG pos, LPCSTR source, LPCSTR desc, LPCSTR linetext)
static HRESULT WINAPI BindEventHandler_QueryInterface(IBindEventHandler *iface, REFIID riid, void **ppv)
#define FILE_ATTRIBUTE_READONLY
#define DISPID_GLOBAL_ISWIN64
#define IActiveScriptParse_Release
static HRESULT WINAPI ActiveScriptSite_OnScriptError_CheckError(IActiveScriptSite *iface, IActiveScriptError *pscripterror)
DWORD WINAPI GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
int winetest_get_mainargs(char ***pargv)
static HRESULT WINAPI ActiveScriptSite_OnEnterScript(IActiveScriptSite *iface)
#define DISPID_GLOBAL_ISNULLBSTR
static HRESULT WINAPI testObj_Invoke(IDispatchEx *iface, DISPID id, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdp, VARIANT *pvarRes, EXCEPINFO *pei, UINT *puArgErr)
static IDispatchEx Global
static const WCHAR emptyW[]