[PATCH v3 2/2] jscript_test: more tests for Enumerator()
Jacek Caban
jacek at codeweavers.com
Thu May 9 08:30:50 CDT 2019
Hi Andreas,
On 5/6/19 10:21 PM, Andreas Maier wrote:
> + case DISPID_GLOBAL_TESTENUMOBJ:
> + {
> + HRESULT hres;
> +
> + if (wFlags == (INVOKE_PROPERTYPUT|INVOKE_PROPERTYPUTREF))
> + {
> + ok(wFlags == (INVOKE_PROPERTYPUT|INVOKE_PROPERTYPUTREF), "wFlags = %x\n", wFlags);
> + ok(pdp != NULL, "pdp == NULL\n");
> + ok(pdp->rgvarg != NULL, "rgvarg == NULL\n");
> + ok(pdp->rgdispidNamedArgs != NULL, "rgdispidNamedArgs == NULL\n");
> + ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
> + ok(pdp->cNamedArgs == 1, "cNamedArgs = %d\n", pdp->cNamedArgs);
> + ok(!pvarRes, "pvarRes != NULL\n");
> + if ((pdp->rgvarg != NULL) &&
> + (pdp->cArgs == 1) &&
> + (pdp->cNamedArgs == 1) &&
> + (pdp->rgdispidNamedArgs[0] == DISPID_PROPERTYPUT))
> + {
> + if (!testEnumObjValid)
> + {
> + memset(&testEnumObj, 0, sizeof(VARIANT));
> + testEnumObjValid = TRUE;
> + VariantInit(&testEnumObj);
> + }
> + else
> + VariantClear(&testEnumObj);
> + hres = VariantCopy(&testEnumObj, pdp->rgvarg);
> + ok(SUCCEEDED(hres), "VariantCopy failed!\n");
> + }
> + }
> + else
> + {
> + ok(wFlags == INVOKE_PROPERTYGET, "wFlags = %x\n", wFlags);
> + ok(pdp != NULL, "pdp == NULL\n");
> + ok(!pdp->rgvarg, "rgvarg != NULL\n");
> + ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
> + ok(!pdp->cArgs, "cArgs = %d\n", pdp->cArgs);
> + ok(!pdp->cNamedArgs, "cNamedArgs = %d\n", pdp->cNamedArgs);
> + ok(pvarRes != NULL, "pvarRes == NULL\n");
> +
> + if ((pvarRes != NULL) && (testEnumObjValid))
> + {
> + hres = VariantCopy(pvarRes, &testEnumObj);
> + ok(SUCCEEDED(hres), "VariantCopy failed!\n");
> + }
> + }
> + return S_OK;
> + }
Why do you need this? Note that if testNumObj would be not found in the
host object, jscript will handle it for you.
Thanks,
Jacek
More information about the wine-devel
mailing list