wscript: Implemented Arguments2_Item.
This commit is contained in:
parent
2d2a91fd01
commit
1c29375031
|
@ -31,6 +31,9 @@
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(wscript);
|
WINE_DEFAULT_DEBUG_CHANNEL(wscript);
|
||||||
|
|
||||||
|
WCHAR **argums;
|
||||||
|
int numOfArgs;
|
||||||
|
|
||||||
static HRESULT WINAPI Arguments2_QueryInterface(IArguments2 *iface, REFIID riid, void **ppv)
|
static HRESULT WINAPI Arguments2_QueryInterface(IArguments2 *iface, REFIID riid, void **ppv)
|
||||||
{
|
{
|
||||||
WINE_TRACE("(%s %p)\n", wine_dbgstr_guid(riid), ppv);
|
WINE_TRACE("(%s %p)\n", wine_dbgstr_guid(riid), ppv);
|
||||||
|
@ -95,8 +98,14 @@ static HRESULT WINAPI Arguments2_Invoke(IArguments2 *iface, DISPID dispIdMember,
|
||||||
|
|
||||||
static HRESULT WINAPI Arguments2_Item(IArguments2 *iface, LONG index, BSTR *out_Value)
|
static HRESULT WINAPI Arguments2_Item(IArguments2 *iface, LONG index, BSTR *out_Value)
|
||||||
{
|
{
|
||||||
WINE_FIXME("(%d %p)\n", index, out_Value);
|
WINE_TRACE("(%d %p)\n", index, out_Value);
|
||||||
return E_NOTIMPL;
|
|
||||||
|
if(index<0 || index >= numOfArgs)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
if(!(*out_Value = SysAllocString(argums[index])))
|
||||||
|
return E_OUTOFMEMORY;
|
||||||
|
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI Arguments2_Count(IArguments2 *iface, LONG *out_Count)
|
static HRESULT WINAPI Arguments2_Count(IArguments2 *iface, LONG *out_Count)
|
||||||
|
|
|
@ -343,6 +343,8 @@ int WINAPI wWinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPWSTR cmdline, int cm
|
||||||
WINE_FIXME("Unsupported argument %s\n", wine_dbgstr_w(argv[i]));
|
WINE_FIXME("Unsupported argument %s\n", wine_dbgstr_w(argv[i]));
|
||||||
}else {
|
}else {
|
||||||
filename = argv[i];
|
filename = argv[i];
|
||||||
|
argums = argv+i+1;
|
||||||
|
numOfArgs = argc-i-1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -336,7 +336,7 @@ static void run_test(const char *file_name)
|
||||||
BOOL bres;
|
BOOL bres;
|
||||||
|
|
||||||
script_name = file_name;
|
script_name = file_name;
|
||||||
sprintf(command, "wscript.exe %s", file_name);
|
sprintf(command, "wscript.exe %s arg1 2 ar3", file_name);
|
||||||
|
|
||||||
SET_EXPECT(reportSuccess);
|
SET_EXPECT(reportSuccess);
|
||||||
|
|
||||||
|
|
|
@ -33,5 +33,12 @@ ok(WScript.Path === winetest.wscriptPath, "WScript.Path = ", WScript.Path);
|
||||||
ok(WScript.ScriptName === winetest.wscriptScriptName, "WScript.ScriptName = " + WScript.ScriptName);
|
ok(WScript.ScriptName === winetest.wscriptScriptName, "WScript.ScriptName = " + WScript.ScriptName);
|
||||||
ok(WScript.ScriptFullName === winetest.wscriptScriptFullName, "WScript.ScriptFullName = " + WScript.ScriptFullName);
|
ok(WScript.ScriptFullName === winetest.wscriptScriptFullName, "WScript.ScriptFullName = " + WScript.ScriptFullName);
|
||||||
ok(typeof(WScript.Arguments) === "object", "typeof(WScript.Arguments) = " + typeof(WScript.Arguments));
|
ok(typeof(WScript.Arguments) === "object", "typeof(WScript.Arguments) = " + typeof(WScript.Arguments));
|
||||||
|
ok(WScript.Arguments.Item(0) === "arg1", "WScript.Arguments.Item(0) = " + WScript.Arguments.Item(0));
|
||||||
|
ok(WScript.Arguments.Item(1) === "2", "WScript.Arguments.Item(1) = " + WScript.Arguments.Item(1));
|
||||||
|
ok(WScript.Arguments.Item(2) === "ar3", "WScript.Arguments.Item(2) = " + WScript.Arguments.Item(2));
|
||||||
|
try {
|
||||||
|
WScript.Arguments.Item(3);
|
||||||
|
ok(false, "expected exception");
|
||||||
|
}catch(e) {}
|
||||||
|
|
||||||
winetest.reportSuccess();
|
winetest.reportSuccess();
|
||||||
|
|
|
@ -27,3 +27,7 @@ extern ITypeInfo *host_ti;
|
||||||
extern ITypeInfo *arguments_ti;
|
extern ITypeInfo *arguments_ti;
|
||||||
|
|
||||||
extern WCHAR scriptFullName[];
|
extern WCHAR scriptFullName[];
|
||||||
|
|
||||||
|
extern WCHAR **argums;
|
||||||
|
|
||||||
|
extern int numOfArgs;
|
||||||
|
|
Loading…
Reference in New Issue