[PATCH] vbscript: Call GetItemInfo() with original item name

Nikolay Sivov nsivov at codeweavers.com
Sat Nov 5 16:53:44 CDT 2016


From: Jacek Caban <jacek at codeweavers.com>

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

For https://bugs.winehq.org/show_bug.cgi?id=41651

 dlls/vbscript/interp.c         |  2 +-
 programs/wscript/tests/run.js  |  4 ++++
 programs/wscript/tests/run.vbs | 12 ++++++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c
index bc34860..02180d9 100644
--- a/dlls/vbscript/interp.c
+++ b/dlls/vbscript/interp.c
@@ -183,7 +183,7 @@ static HRESULT lookup_identifier(exec_ctx_t *ctx, BSTR name, vbdisp_invoke_type_
             if(!item->disp) {
                 IUnknown *unk;
 
-                hres = IActiveScriptSite_GetItemInfo(ctx->script->site, name, SCRIPTINFO_IUNKNOWN, &unk, NULL);
+                hres = IActiveScriptSite_GetItemInfo(ctx->script->site, item->name, SCRIPTINFO_IUNKNOWN, &unk, NULL);
                 if(FAILED(hres)) {
                     WARN("GetItemInfo failed: %08x\n", hres);
                     continue;
diff --git a/programs/wscript/tests/run.js b/programs/wscript/tests/run.js
index db0d6f9..2d544ab 100644
--- a/programs/wscript/tests/run.js
+++ b/programs/wscript/tests/run.js
@@ -24,6 +24,10 @@ function ok(expr, msg) {
 
 ok(typeof(WScript) === "object", "typeof(WScript) = " + typeof(WScript));
 ok(typeof(WSH) === "object", "typeof(WSH) = " + typeof(WSH));
+ok(typeof(wscript) === "undefined", "typeof(wscript) = " + typeof(wscript));
+ok(typeof(wsh) === "undefined", "typeof(wsh) = " + typeof(wsh));
+ok(typeof(wsCript) === "undefined", "typeof(wsCript) = " + typeof(wsCript));
+ok(typeof(wSh) === "undefined", "typeof(wSh) = " + typeof(wSh));
 ok(WScript === WSH, "WScript !== WSH");
 ok(WScript.Name === "Windows Script Host", "WScript.Name = " + WScript.Name);
 ok(typeof(WScript.Version) === "string", "typeof(WScript.Version) = " + typeof(WScript.Version));
diff --git a/programs/wscript/tests/run.vbs b/programs/wscript/tests/run.vbs
index 785df78..22c592f 100644
--- a/programs/wscript/tests/run.vbs
+++ b/programs/wscript/tests/run.vbs
@@ -25,6 +25,18 @@ Sub ok(expr, msg)
     Call winetest.ok(expr, msg)
 End Sub
 
+' Mixed case script host names, keep those tests at the beginning.
+Call ok(wscript is WSH, "wscript is not WSH")
+Call ok(WScript is wsh, "WScript is not wsh")
+Call ok(wscript is wsh, "wscript is not wsh")
+Call ok(wScRipt is wSh, "wScRipt is not wSh")
+Call ok(isObject(wscript), "wscript is not object")
+Call ok(isObject(wsh), "wsh is not object")
+Call ok(StrComp(wscript.Name, "Windows Script Host") = 0, "wscript.Name is " & wscript.Name)
+
 Call ok(WScript is WSH, "WScript is not WSH")
 
+Call ok(isObject(WScript), "WScript is not object")
+Call ok(isObject(WSH), "WSH is not object")
+
 Call winetest.reportSuccess()
-- 
2.10.2




More information about the wine-patches mailing list