From: Michael Stefaniuc mstefani@winehq.org
--- dlls/vbscript/tests/createobj.c | 62 +++++++++++++-------------------- 1 file changed, 25 insertions(+), 37 deletions(-)
diff --git a/dlls/vbscript/tests/createobj.c b/dlls/vbscript/tests/createobj.c index 552a849ea27..10f114ad6e4 100644 --- a/dlls/vbscript/tests/createobj.c +++ b/dlls/vbscript/tests/createobj.c @@ -117,18 +117,6 @@ const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY =
#define VB_E_CANNOT_CREATE_OBJ 0x800a01ad
-static BSTR a2bstr(const char *str) -{ - BSTR ret; - int len; - - len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); - ret = SysAllocStringLen(NULL, len-1); - MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len); - - return ret; -} - static HRESULT WINAPI ObjectWithSite_QueryInterface(IObjectWithSite *iface, REFIID riid, void **ppv) { ok(0, "unexpected call\n"); @@ -693,24 +681,24 @@ static void set_safety_options(IUnknown *unk, BOOL use_sec_mgr) IObjectSafety_Release(safety); }
-#define parse_script_a(p,s) _parse_script_a(__LINE__,p,s) -static void _parse_script_a(unsigned line, IActiveScriptParse *parser, const char *script) +#define parse_script(p,s) _parse_script(__LINE__,p,s) +static void _parse_script(unsigned line, IActiveScriptParse *parser, const WCHAR *script) { BSTR str; HRESULT hres;
- str = a2bstr(script); + str = SysAllocString(script); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); SysFreeString(str); ok_(__FILE__,line)(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); }
-static HRESULT parse_script_ae(IActiveScriptParse *parser, const char *script) +static HRESULT parse_script_e(IActiveScriptParse *parser, const WCHAR *script) { BSTR str; HRESULT hres;
- str = a2bstr(script); + str = SysAllocString(script); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); SysFreeString(str);
@@ -776,7 +764,7 @@ static void test_CreateObject(void) SET_EXPECT(QueryCustomPolicy); SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(reportSuccess); - parse_script_a(parser, "Call CreateObject("Wine.Test").reportSuccess()"); + parse_script(parser, L"Call CreateObject("Wine.Test").reportSuccess()"); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -788,7 +776,7 @@ static void test_CreateObject(void)
parser = create_script(TRUE);
- hres = parse_script_ae(parser, "Call CreateObject("Wine.TestABC")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.TestABC")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres);
IActiveScriptParse_Release(parser); @@ -797,7 +785,7 @@ static void test_CreateObject(void) QS_SecMgr_hres = E_NOINTERFACE;
SET_EXPECT(Host_QS_SecMgr); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr);
@@ -808,7 +796,7 @@ static void test_CreateObject(void)
SET_EXPECT(Host_QS_SecMgr); SET_EXPECT(ProcessUrlAction); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); @@ -820,7 +808,7 @@ static void test_CreateObject(void)
SET_EXPECT(Host_QS_SecMgr); SET_EXPECT(ProcessUrlAction); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); @@ -833,7 +821,7 @@ static void test_CreateObject(void) SET_EXPECT(Host_QS_SecMgr); SET_EXPECT(ProcessUrlAction); SET_EXPECT(CreateInstance); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); @@ -848,7 +836,7 @@ static void test_CreateObject(void) SET_EXPECT(ProcessUrlAction); SET_EXPECT(CreateInstance); SET_EXPECT(QueryCustomPolicy); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); @@ -866,7 +854,7 @@ static void test_CreateObject(void) SET_EXPECT(QueryCustomPolicy); SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(reportSuccess); - parse_script_a(parser, "Call CreateObject("Wine.Test").reportSuccess()"); + parse_script(parser, L"Call CreateObject("Wine.Test").reportSuccess()"); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -883,7 +871,7 @@ static void test_CreateObject(void) SET_EXPECT(ProcessUrlAction); SET_EXPECT(CreateInstance); SET_EXPECT(QueryCustomPolicy); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); @@ -895,7 +883,7 @@ static void test_CreateObject(void) SET_EXPECT(ProcessUrlAction); SET_EXPECT(CreateInstance); SET_EXPECT(QueryCustomPolicy); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -907,7 +895,7 @@ static void test_CreateObject(void) SET_EXPECT(ProcessUrlAction); SET_EXPECT(CreateInstance); SET_EXPECT(QueryCustomPolicy); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -920,7 +908,7 @@ static void test_CreateObject(void) SET_EXPECT(CreateInstance); SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(reportSuccess); - parse_script_a(parser, "Call CreateObject("Wine.Test").reportSuccess()"); + parse_script(parser, L"Call CreateObject("Wine.Test").reportSuccess()"); CHECK_CALLED(CreateInstance); CHECK_CALLED(QI_IObjectWithSite); CHECK_CALLED(reportSuccess); @@ -937,7 +925,7 @@ static void test_CreateObject(void) SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(SetSite); SET_EXPECT(reportSuccess); - parse_script_a(parser, "Call CreateObject("Wine.Test").reportSuccess()"); + parse_script(parser, L"Call CreateObject("Wine.Test").reportSuccess()"); CHECK_CALLED(Host_QS_SecMgr); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -952,7 +940,7 @@ static void test_CreateObject(void) SET_EXPECT(QueryCustomPolicy); SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(SetSite); - hres = parse_script_ae(parser, "Call CreateObject("Wine.Test")"); + hres = parse_script_e(parser, L"Call CreateObject("Wine.Test")"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); CHECK_CALLED(ProcessUrlAction); CHECK_CALLED(CreateInstance); @@ -970,7 +958,7 @@ static void test_GetObject(void)
/* Never allowed with security manager */ parser = create_script(TRUE); - hres = parse_script_ae(parser, "Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); + hres = parse_script_e(parser, L"Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); ok(hres == VB_E_CANNOT_CREATE_OBJ, "hres = %08lx\n", hres); IActiveScriptParse_Release(parser);
@@ -979,9 +967,9 @@ static void test_GetObject(void) SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(SetSite); SET_EXPECT(reportSuccess); - hres = parse_script_ae(parser, "Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); + hres = parse_script_e(parser, L"Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); if(broken(hres == VB_E_ACCESS_DENIED)) /* 64-bit win8 fails on the first try */ - hres = parse_script_ae(parser, "Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); + hres = parse_script_e(parser, L"Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); if(hres == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND)) { /* Workaround for broken win2k */ win_skip("got unexpected error %08lx\n", hres); CLEAR_CALLED(QI_IObjectWithSite); @@ -998,7 +986,7 @@ static void test_GetObject(void) SetSite_hres = E_FAIL; SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(SetSite); - hres = parse_script_ae(parser, "Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); + hres = parse_script_e(parser, L"Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); ok(hres == E_FAIL, "hres = %08lx\n", hres); CHECK_CALLED(QI_IObjectWithSite); CHECK_CALLED(SetSite); @@ -1006,7 +994,7 @@ static void test_GetObject(void) QI_IObjectWithSite_hres = E_NOINTERFACE; SET_EXPECT(QI_IObjectWithSite); SET_EXPECT(reportSuccess); - parse_script_a(parser, "Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); + parse_script(parser, L"Call GetObject("clsid:" TESTOBJINST_CLSID "").reportSuccess()"); CHECK_CALLED(QI_IObjectWithSite); CHECK_CALLED(reportSuccess);
@@ -1014,7 +1002,7 @@ static void test_GetObject(void)
/* Invalid moniker */ parser = create_script(FALSE); - hres = parse_script_ae(parser, "Call GetObject("nonexistent:test").reportSuccess()"); + hres = parse_script_e(parser, L"Call GetObject("nonexistent:test").reportSuccess()"); ok(hres == MK_E_SYNTAX, "hres = %08lx\n", hres); IActiveScriptParse_Release(parser); }
From: Michael Stefaniuc mstefani@winehq.org
--- dlls/vbscript/tests/run.c | 92 +++++++++++++++++++-------------------- 1 file changed, 46 insertions(+), 46 deletions(-)
diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c index 65459711061..559d8f1a962 100644 --- a/dlls/vbscript/tests/run.c +++ b/dlls/vbscript/tests/run.c @@ -303,35 +303,35 @@ static void test_disp(IDispatch *disp) hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex); ok(hres == S_OK, "Could not get IDispatchEx iface: %08lx\n", hres);
- str = a2bstr("publicProp"); + str = SysAllocString(L"publicProp"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &public_prop_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp) failed: %08lx\n", hres);
- str = a2bstr("PUBLICPROP"); + str = SysAllocString(L"PUBLICPROP"); hres = IDispatchEx_GetDispID(dispex, str, 0, &id); SysFreeString(str); ok(hres == S_OK, "GetDispID(PUBLICPROP) failed: %08lx\n", hres); ok(public_prop_id == id, "id = %ld\n", public_prop_id);
- str = a2bstr("publicPROP2"); + str = SysAllocString(L"publicPROP2"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &public_prop2_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp2) failed: %08lx\n", hres);
- str = a2bstr("defValGet"); + str = SysAllocString(L"defValGet"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &defvalget_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(defValGet) failed: %08lx\n", hres); ok(defvalget_id == DISPID_VALUE, "id = %ld\n", defvalget_id);
- str = a2bstr("privateProp"); + str = SysAllocString(L"privateProp"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &id); SysFreeString(str); ok(hres == DISP_E_UNKNOWNNAME, "GetDispID(privateProp) failed: %08lx, expected DISP_E_UNKNOWNNAME\n", hres); ok(id == -1, "id = %ld\n", id);
- str = a2bstr("class_initialize"); + str = SysAllocString(L"class_initialize"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp2) failed: %08lx\n", hres); @@ -429,13 +429,13 @@ static void test_disp(IDispatch *disp) hres = IDispatchEx_InvokeEx(dispex, public_prop_id, 0, DISPATCH_PROPERTYPUT, &dp, NULL, &ei, NULL); ok(hres == DISP_E_PARAMNOTOPTIONAL, "InvokeEx failed: %08lx, expected DISP_E_PARAMNOTOPTIONAL\n", hres);
- str = a2bstr("publicFunction"); + str = SysAllocString(L"publicFunction"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &public_func_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicFunction) failed: %08lx\n", hres); ok(public_func_id != -1, "public_func_id = -1\n");
- str = a2bstr("publicSub"); + str = SysAllocString(L"publicSub"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &public_sub_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicSub) failed: %08lx\n", hres); @@ -507,13 +507,13 @@ static void test_disp(IDispatch *disp) ok(hres == S_OK, "InvokeEx failed: %08lx\n", hres); ok(V_VT(&v) == VT_EMPTY, "V_VT(v) = %d\n", V_VT(&v));
- str = a2bstr("privateSub"); + str = SysAllocString(L"privateSub"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &id); SysFreeString(str); ok(hres == DISP_E_UNKNOWNNAME, "GetDispID(privateSub) failed: %08lx, expected DISP_E_UNKNOWNNAME\n", hres); ok(id == -1, "id = %ld\n", id);
- str = a2bstr("dynprop"); + str = SysAllocString(L"dynprop"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive|fdexNameEnsure, &id); ok(hres == DISP_E_UNKNOWNNAME, "GetDispID(privateProp) failed: %08lx, expected DISP_E_UNKNOWNNAME\n", hres); ok(id == -1, "id = %ld\n", id); @@ -522,26 +522,26 @@ static void test_disp(IDispatch *disp) ok(id == -1, "id = %ld\n", id); SysFreeString(str);
- str = a2bstr("publicProp"); + str = SysAllocString(L"publicProp"); hres = IDispatchEx_GetDispID(dispex, str, 0x80000000|fdexNameCaseInsensitive, &public_prop_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp) failed: %08lx\n", hres);
id = 0xdeadbeef; - str = a2bstr("publicProp"); + str = SysAllocString(L"publicProp"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseSensitive, &id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp) failed: %08lx\n", hres); ok(id == public_prop_id, "id = %ld, expected %ld\n", id, public_prop_id);
id = 0xdeadbeef; - str = a2bstr("publicprop"); + str = SysAllocString(L"publicprop"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseSensitive, &id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicProp) failed: %08lx\n", hres); ok(id == public_prop_id, "id = %ld, expected %ld\n", id, public_prop_id);
- str = a2bstr("gsGetProp"); + str = SysAllocString(L"gsGetProp"); hres = IDispatchEx_GetDispID(dispex, str, fdexNameCaseInsensitive, &gs_getter_id); SysFreeString(str); ok(hres == S_OK, "GetDispID(publicFunction) failed: %08lx\n", hres); @@ -2160,31 +2160,31 @@ static void test_parse_context(void) ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres);
/* unknown identifier context is not a valid argument */ - str = a2bstr("Call reportSuccess()\n"); + str = SysAllocString(L"Call reportSuccess()\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, L"y", NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == E_INVALIDARG, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str);
- str = a2bstr("class Cl\n" - " Public Sub ClMethod\n" - " Call reportSuccess()\n" - " End Sub\n" - "End Class\n" - "Dim x\n" - "set x = new Cl\n"); + str = SysAllocString(L"class Cl\n" + " Public Sub ClMethod\n" + " Call reportSuccess()\n" + " End Sub\n" + "End Class\n" + "Dim x\n" + "set x = new Cl\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str);
/* known global variable is not a valid context */ - str = a2bstr("Call reportSuccess()\n"); + str = SysAllocString(L"Call reportSuccess()\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, L"x", NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == E_INVALIDARG, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - str = a2bstr("Call reportSuccess()\n"); + str = SysAllocString(L"Call reportSuccess()\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, L"test", NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str); @@ -2613,8 +2613,8 @@ static void test_gc(void) hres = IActiveScript_SetScriptState(engine, SCRIPTSTATE_STARTED); ok(hres == S_OK, "SetScriptState(SCRIPTSTATE_STARTED) failed: %08lx\n", hres);
- src = a2bstr( - "class C\n" + src = SysAllocString( + L"class C\n" " Public ref\n" " Public Sub Class_Terminate\n" " Call reportSuccess()\n" @@ -2872,7 +2872,7 @@ static HRESULT test_global_vars_ref(BOOL use_close)
refobj_ref = 0;
- script_str = a2bstr("Dim x\nset x = RefObj\n"); + script_str = SysAllocString(L"Dim x\nset x = RefObj\n"); hres = IActiveScriptParse_ParseScriptText(parser, script_str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); SysFreeString(script_str);
@@ -2921,7 +2921,7 @@ static void test_isexpression(void) ok(hres == S_OK, "GetScriptState failed: %08lx\n", hres); ok(ss == SCRIPTSTATE_INITIALIZED, "Wrong script state %u\n", ss);
- str = a2bstr("13"); + str = SysAllocString(L"13"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_I2, "Expected VT_I2, got %s\n", vt2a(&var)); @@ -2934,7 +2934,7 @@ static void test_isexpression(void)
/* Empty expressions */ V_VT(&var) = VT_I2; - str = a2bstr(""); + str = SysAllocString(L""); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_EMPTY, "Expected VT_EMPTY, got %s\n", vt2a(&var)); @@ -2942,7 +2942,7 @@ static void test_isexpression(void) SysFreeString(str);
/* Two expressions fail */ - str = a2bstr("1\n3"); + str = SysAllocString(L"1\n3"); SET_EXPECT(OnScriptError); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(FAILED(hres), "ParseScriptText did not fail: %08lx\n", hres); @@ -2951,7 +2951,7 @@ static void test_isexpression(void) SysFreeString(str);
/* Simple numerical expression */ - str = a2bstr("(1 + 7) * 2 - 3"); + str = SysAllocString(L"(1 + 7) * 2 - 3"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, NULL, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres);
@@ -2965,7 +2965,7 @@ static void test_isexpression(void) /* Without a global host or named item context, "me" returns the script dispatch */ hres = IActiveScript_GetScriptDispatch(engine, NULL, &disp); ok(hres == S_OK, "GetScriptDispatch failed: %08lx\n", hres); - str = a2bstr("me"); + str = SysAllocString(L"me"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_DISPATCH, "Expected VT_DISPATCH, got %s\n", vt2a(&var)); @@ -2976,14 +2976,14 @@ static void test_isexpression(void)
/* An expression can also refer to a variable, function, class, etc previously set */ V_VT(&var) = VT_I2; - str = a2bstr("If True Then foo = 42 Else foo = 0\n"); + str = SysAllocString(L"If True Then foo = 42 Else foo = 0\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_EMPTY, "Expected VT_EMPTY, got %s\n", vt2a(&var)); VariantClear(&var); SysFreeString(str);
- str = a2bstr("foo\n\n"); + str = SysAllocString(L"foo\n\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_I2, "Expected VT_I2, got %s\n", vt2a(&var)); @@ -2991,7 +2991,7 @@ static void test_isexpression(void) VariantClear(&var); SysFreeString(str);
- str = a2bstr("foo : "); + str = SysAllocString(L"foo : "); SET_EXPECT(OnScriptError); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(FAILED(hres), "ParseScriptText did not fail: %08lx\n", hres); @@ -2999,7 +2999,7 @@ static void test_isexpression(void) VariantClear(&var); SysFreeString(str);
- str = a2bstr(""foo is " & CStr(foo) \n \n\n "); + str = SysAllocString(L""foo is " & CStr(foo) \n \n\n "); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_BSTR, "Expected VT_BSTR, got %s\n", vt2a(&var)); @@ -3007,14 +3007,14 @@ static void test_isexpression(void) VariantClear(&var); SysFreeString(str);
- str = a2bstr("Function test(x)\n" - " test = x + 0.5\n" - "End Function\n"); + str = SysAllocString(L"Function test(x)\n" + " test = x + 0.5\n" + "End Function\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str);
- str = a2bstr("test(4) * 3\n"); + str = SysAllocString(L"test(4) * 3\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_R8, "Expected VT_R8, got %s\n", vt2a(&var)); @@ -3022,16 +3022,16 @@ static void test_isexpression(void) VariantClear(&var); SysFreeString(str);
- str = a2bstr("Class C\n" - " Public x\n" - "End Class\n" - "Set obj = New C\n" - "obj.x = True\n"); + str = SysAllocString(L"Class C\n" + " Public x\n" + "End Class\n" + "Set obj = New C\n" + "obj.x = True\n"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); SysFreeString(str);
- str = a2bstr("obj.x"); + str = SysAllocString(L"obj.x"); hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, SCRIPTTEXT_ISEXPRESSION, &var, NULL); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); ok(V_VT(&var) == VT_BOOL, "Expected VT_BOOL, got %s\n", vt2a(&var));
From: Michael Stefaniuc mstefani@winehq.org
--- dlls/vbscript/tests/run.c | 190 +++++++++++++++++++------------------- 1 file changed, 95 insertions(+), 95 deletions(-)
diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c index 559d8f1a962..8aaafbedf54 100644 --- a/dlls/vbscript/tests/run.c +++ b/dlls/vbscript/tests/run.c @@ -2118,23 +2118,23 @@ static HRESULT parse_script(DWORD flags, BSTR script_str, const WCHAR *delim) return hres; }
-static void parse_script_af(DWORD flags, const char *src) +static void parse_script_wf(DWORD flags, const WCHAR *src) { BSTR tmp; HRESULT hres;
- tmp = a2bstr(src); + tmp = SysAllocString(src); hres = parse_script(flags, tmp, NULL); SysFreeString(tmp); ok(hres == S_OK, "parse_script failed: %08lx\n", hres); }
-static HRESULT parse_script_ar(const char *src) +static HRESULT parse_script_wr(const WCHAR *src) { BSTR tmp; HRESULT hres;
- tmp = a2bstr(src); + tmp = SysAllocString(src); hres = parse_script(SCRIPTITEM_GLOBALMEMBERS, tmp, NULL); SysFreeString(tmp); return hres; @@ -2196,31 +2196,31 @@ static void test_parse_context(void) ok(global_ref == 1, "global_ref = %lu\n", global_ref); }
-static void parse_script_a(const char *src) +static void parse_script_w(const WCHAR *src) { - parse_script_af(SCRIPTITEM_GLOBALMEMBERS, src); + parse_script_wf(SCRIPTITEM_GLOBALMEMBERS, src); }
-#define parse_htmlscript_a(a) _parse_htmlscript_a(__LINE__,a) -static void _parse_htmlscript_a(unsigned line, const char *src) +#define parse_htmlscript(a) _parse_htmlscript(__LINE__,a) +static void _parse_htmlscript(unsigned line, const WCHAR *src) { BSTR tmp; HRESULT hres;
- tmp = a2bstr(src); + tmp = SysAllocString(src); hres = parse_script(SCRIPTITEM_GLOBALMEMBERS, tmp, L"</SCRIPT>"); SysFreeString(tmp); ok_(__FILE__,line)(hres == S_OK, "parse_script failed: %08lx\n", hres); }
-static IDispatchEx *parse_procedure(IActiveScriptParseProcedure2 *parse_proc, const char *src, DWORD flags) +static IDispatchEx *parse_procedure(IActiveScriptParseProcedure2 *parse_proc, const WCHAR *src, DWORD flags) { IDispatchEx *dispex; IDispatch *disp; BSTR str; HRESULT hres;
- str = a2bstr(src); + str = SysAllocString(src); hres = IActiveScriptParseProcedure2_ParseProcedureText(parse_proc, str, NULL, L"", NULL, NULL, L""", 0, 0, SCRIPTPROC_HOSTMANAGESSOURCE|SCRIPTPROC_IMPLICIT_THIS|SCRIPTPROC_IMPLICIT_PARENTS|flags, &disp); SysFreeString(str); @@ -2256,7 +2256,7 @@ static void test_procedures(void) ok(hres == S_OK, "ParseProcedureText failed: %08lx\n", hres); IDispatch_Release(disp);
- proc = parse_procedure(parse_proc, "dim x\nif true then x=false", 0); + proc = parse_procedure(parse_proc, L"dim x\nif true then x=false", 0);
SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript); @@ -2268,7 +2268,7 @@ static void test_procedures(void) VariantClear(&v); IDispatchEx_Release(proc);
- proc = parse_procedure(parse_proc, ""foobar"", SCRIPTPROC_ISEXPRESSION); + proc = parse_procedure(parse_proc, L""foobar"", SCRIPTPROC_ISEXPRESSION);
SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript); @@ -2458,7 +2458,7 @@ static void test_callbacks(void)
store_script_error = &error1; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwException &h80004002&"); + hres = parse_script_wr(L"throwException &h80004002&"); ok(hres == MAKE_VBSERROR(430), "got error: %08lx\n", hres); CHECK_CALLED(OnScriptError);
@@ -2484,7 +2484,7 @@ static void test_callbacks(void)
store_script_error = &error1; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwException &h80004002&, "test src""); + hres = parse_script_wr(L"throwException &h80004002&, "test src""); ok(hres == MAKE_VBSERROR(430), "got error: %08lx\n", hres); CHECK_CALLED(OnScriptError);
@@ -2509,7 +2509,7 @@ static void test_callbacks(void)
store_script_error = &error1; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwException &h80004002&, , "test desc""); + hres = parse_script_wr(L"throwException &h80004002&, , "test desc""); ok(hres == E_NOINTERFACE, "got error: %08lx\n", hres); CHECK_CALLED(OnScriptError);
@@ -2534,7 +2534,7 @@ static void test_callbacks(void)
store_script_error = &error1; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwException &h80004002&, "test src", "test desc""); + hres = parse_script_wr(L"throwException &h80004002&, "test src", "test desc""); ok(hres == E_NOINTERFACE, "got error: %08lx\n", hres); CHECK_CALLED(OnScriptError);
@@ -2559,7 +2559,7 @@ static void test_callbacks(void)
store_script_error = &error1; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwException &h8000FFFF&"); + hres = parse_script_wr(L"throwException &h8000FFFF&"); ok(hres == E_UNEXPECTED, "got error: %08lx\n", hres); CHECK_CALLED(OnScriptError);
@@ -2644,7 +2644,7 @@ static void test_parse_errors(void) { static const struct { - const char *src; + const WCHAR *src; unsigned error_line; int error_char; } @@ -2652,49 +2652,49 @@ static void test_parse_errors(void) { { /* If...End If */ - "If 0 > 1 Then\n" + L"If 0 > 1 Then\n" " x = 0 End If\n", 1, 10 }, { /* While...End While */ - "While False\n" + L"While False\n" " x = 0 End While\n", 1, 10 }, { /* While...Wend */ - "While False\n" + L"While False\n" " x = 0 Wend\n", 1, 10 }, { /* Do While...Loop */ - "Do While False\n" + L"Do While False\n" " x = 0 Loop\n", 1, 10 }, { /* Do Until...Loop */ - "Do Until True\n" + L"Do Until True\n" " x = 0 Loop\n", 1, 10 }, { /* Do...Loop While */ - "Do\n" + L"Do\n" " x = 0 Loop While False\n", 1, 10 }, { /* Do...Loop Until */ - "Do\n" + L"Do\n" " x = 0 Loop Until True\n", 1, 10 }, { /* Select...End Select */ - "x = False\n" + L"x = False\n" "Select Case 42\n" " Case 0\n" " Call ok(False, "unexpected case")\n" @@ -2705,35 +2705,35 @@ static void test_parse_errors(void) }, { /* Class...End Class (empty) */ - "Class C End Class", + L"Class C End Class", 0, 8 }, { /* Class...End Class (empty) */ - "Class C _\nEnd Class", + L"Class C _\nEnd Class", 1, 0 }, { /* invalid use of parentheses for call statement */ - "strcomp("x", "y")", + L"strcomp("x", "y")", 0, -17 }, { - "\n\n\n cint _\n throwInt(&h80001234&)", + L"\n\n\n cint _\n throwInt(&h80001234&)", 3, 2 }, { - "dim x\n" + L"dim x\n" "if true then throwInt(&h80001234&)", 1, 13 }, { - "dim x\n" + L"dim x\n" "if x = throwInt(&h80001234&) then x = 1", 1, 0 }, { - "sub test\n" + L"sub test\n" " dim x\n" " if x = throwInt(&h80001234&) then x = 1\n" "end sub\n" @@ -2741,14 +2741,14 @@ static void test_parse_errors(void) 2, 4 }, { - "dim x\n" + L"dim x\n" "do\n" " x = 1\n" "loop until throwInt(&h80001234&)\n", 3, 0 }, { - "\n select case 3\n" + L"\n select case 3\n" " case 2\n" " ok false, "unexpected case"\n" " case throwInt(&h80001234&)\n" @@ -2757,7 +2757,7 @@ static void test_parse_errors(void) 1, 2 }, { - "if false then\n" + L"if false then\n" " ok false, "unexpected case"\n" " elseif throwInt(&h80001234&) then\n" " throwInt &h87001234&\n" @@ -2777,7 +2777,7 @@ static void test_parse_errors(void) onerror_hres = S_OK;
SET_EXPECT(OnScriptError); - hres = parse_script_ar(invalid_scripts[i].src); + hres = parse_script_wr(invalid_scripts[i].src); ok(hres == SCRIPT_E_REPORTED, "[%u] script returned: %08lx\n", i, hres); CHECK_CALLED(OnScriptError);
@@ -2798,7 +2798,7 @@ static void test_msgbox(void) SET_EXPECT(GetUIBehavior); SET_EXPECT(GetWindow); SET_EXPECT(EnableModeless); - hres = parse_script_ar("MsgBox "testing...""); + hres = parse_script_wr(L"MsgBox "testing...""); CLEAR_CALLED(GetUIBehavior); CLEAR_CALLED(GetWindow); CLEAR_CALLED(EnableModeless); @@ -2808,11 +2808,11 @@ static void test_msgbox(void) }
SET_EXPECT(GetUIBehavior); - parse_script_a("dim r\n r=MsgBox("testing...")\n Call ok(r=0, "r="&r)"); + parse_script_w(L"dim r\n r=MsgBox("testing...")\n Call ok(r=0, "r="&r)"); CHECK_CALLED(GetUIBehavior);
SET_EXPECT(GetUIBehavior); - parse_script_a("MsgBox 10"); + parse_script_w(L"MsgBox 10"); CHECK_CALLED(GetUIBehavior);
uic_handling = SCRIPTUICHANDLING_ALLOW; @@ -2821,7 +2821,7 @@ static void test_msgbox(void) SET_EXPECT(GetWindow); SET_EXPECT(EnableModeless); SET_EXPECT(OnScriptError); - hres = parse_script_ar("MsgBox "testing...""); + hres = parse_script_wr(L"MsgBox "testing...""); ok(FAILED(hres), "script not failed\n"); CHECK_CALLED(GetUIBehavior); CHECK_CALLED(GetWindow); @@ -2832,7 +2832,7 @@ static void test_msgbox(void)
SET_EXPECT(GetUIBehavior); SET_EXPECT(OnScriptError); - hres = parse_script_ar("MsgBox "testing...""); + hres = parse_script_wr(L"MsgBox "testing...""); ok(FAILED(hres), "script not failed\n"); CHECK_CALLED(GetUIBehavior); CHECK_CALLED(OnScriptError); @@ -3175,210 +3175,210 @@ static void run_tests(void)
strict_dispid_check = TRUE;
- parse_script_a(""); - parse_script_a("' empty ;"); + parse_script_w(L""); + parse_script_w(L"' empty ;");
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_a("reportSuccess"); + parse_script_w(L"reportSuccess"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_a("reportSuccess()"); + parse_script_w(L"reportSuccess()"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_a("Call reportSuccess"); + parse_script_w(L"Call reportSuccess"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_a("test.reportSuccess()"); + parse_script_w(L"test.reportSuccess()"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_af(0, "TEST.reportSuccess()"); + parse_script_wf(0, L"TEST.reportSuccess()"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
SET_EXPECT(global_vbvar_d); SET_EXPECT(global_vbvar_i); - parse_script_a("Option Explicit\nvbvar = 3"); + parse_script_w(L"Option Explicit\nvbvar = 3"); CHECK_CALLED(global_vbvar_d); CHECK_CALLED(global_vbvar_i);
SET_EXPECT(global_vbvar_d); SET_EXPECT(global_vbvar_i); - parse_script_a("Option Explicit\nvbvar() = 3"); + parse_script_w(L"Option Explicit\nvbvar() = 3"); CHECK_CALLED(global_vbvar_d); CHECK_CALLED(global_vbvar_i);
SET_EXPECT(global_letobj_i); - parse_script_a("Option Explicit\nletobj = testObj"); + parse_script_w(L"Option Explicit\nletobj = testObj"); CHECK_CALLED(global_letobj_i);
SET_EXPECT(global_letobj_i); - parse_script_a("Option Explicit\ntest.letobj = testObj"); + parse_script_w(L"Option Explicit\ntest.letobj = testObj"); CHECK_CALLED(global_letobj_i);
SET_EXPECT(global_setobj_i); - parse_script_a("Option Explicit\nset setobj = testObj"); + parse_script_w(L"Option Explicit\nset setobj = testObj"); CHECK_CALLED(global_setobj_i);
SET_EXPECT(global_setobj_i); - parse_script_a("Option Explicit\nset test.setobj = testObj"); + parse_script_w(L"Option Explicit\nset test.setobj = testObj"); CHECK_CALLED(global_setobj_i);
- hres = parse_script_ar("dim x\nx = testObj.rem"); + hres = parse_script_wr(L"dim x\nx = testObj.rem"); ok(hres == S_OK, "use of 'rem' as dot identifier failed: %lx08\n", hres);
SET_EXPECT(testobj_propget_d); SET_EXPECT(testobj_propget_i); - parse_script_a("dim x\nx = testObj.propget"); + parse_script_w(L"dim x\nx = testObj.propget"); CHECK_CALLED(testobj_propget_d); CHECK_CALLED(testobj_propget_i);
SET_EXPECT(testobj_propput_d); SET_EXPECT(testobj_propput_i); - parse_script_a("testObj.propput = 1"); + parse_script_w(L"testObj.propput = 1"); CHECK_CALLED(testobj_propput_d); CHECK_CALLED(testobj_propput_i);
SET_EXPECT(global_propargput_d); SET_EXPECT(global_propargput_i); - parse_script_a("propargput(counter(), counter()) = counter()"); + parse_script_w(L"propargput(counter(), counter()) = counter()"); CHECK_CALLED(global_propargput_d); CHECK_CALLED(global_propargput_i);
SET_EXPECT(global_propargput_d); SET_EXPECT(global_propargput_i); - parse_script_a("test.propargput(counter(), counter()) = counter()"); + parse_script_w(L"test.propargput(counter(), counter()) = counter()"); CHECK_CALLED(global_propargput_d); CHECK_CALLED(global_propargput_i);
SET_EXPECT(global_propargput1_d); SET_EXPECT(global_propargput1_i); - parse_script_a("propargput1 (counter()) = counter()"); + parse_script_w(L"propargput1 (counter()) = counter()"); CHECK_CALLED(global_propargput1_d); CHECK_CALLED(global_propargput1_i);
SET_EXPECT(global_propargput1_d); SET_EXPECT(global_propargput1_i); - parse_script_a("test.propargput1(counter()) = counter()"); + parse_script_w(L"test.propargput1(counter()) = counter()"); CHECK_CALLED(global_propargput1_d); CHECK_CALLED(global_propargput1_i);
SET_EXPECT(global_propargset_d); SET_EXPECT(global_propargset_i); - parse_script_a("set propargset (counter()) = testObj"); + parse_script_w(L"set propargset (counter()) = testObj"); CHECK_CALLED(global_propargset_d); CHECK_CALLED(global_propargset_i);
SET_EXPECT(testobj_propget_d); SET_EXPECT(testobj_propget_i); - parse_script_a("dim x\nwith testObj\nx=1+.propget\nend with"); + parse_script_w(L"dim x\nwith testObj\nx=1+.propget\nend with"); CHECK_CALLED(testobj_propget_d); CHECK_CALLED(testobj_propget_i);
SET_EXPECT(testobj_propput_d); SET_EXPECT(testobj_propput_i); - parse_script_a("with testObj\n.propput = 1\nend with"); + parse_script_w(L"with testObj\n.propput = 1\nend with"); CHECK_CALLED(testobj_propput_d); CHECK_CALLED(testobj_propput_i);
SET_EXPECT(testobj_valueput_i); - parse_script_a("dim x\n" + parse_script_w(L"dim x\n" "set x = testObj\n" "x(counter(), counter()) = counter\n"); CHECK_CALLED(testobj_valueput_i);
- parse_script_a("dim x\nx = testObj.property(1)"); + parse_script_w(L"dim x\nx = testObj.property(1)");
- parse_htmlscript_a("<!--"); - parse_htmlscript_a(" -->"); - parse_htmlscript_a("<!--\ndim x\nx=1\n-->\n"); - parse_htmlscript_a("<!--\ndim x\n-->\n<!--\nx=1\n-->\n"); + parse_htmlscript(L"<!--"); + parse_htmlscript(L" -->"); + parse_htmlscript(L"<!--\ndim x\nx=1\n-->\n"); + parse_htmlscript(L"<!--\ndim x\n-->\n<!--\nx=1\n-->\n");
SET_EXPECT(OnScriptError); - hres = parse_script_ar("<!--"); + hres = parse_script_wr(L"<!--"); ok(FAILED(hres), "script didn't fail\n"); CHECK_CALLED(OnScriptError);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_htmlscript_a("<!--\n<!-- ignore this <> <>\n--> <>\nCall reportSuccess()\n-->\n"); + parse_htmlscript(L"<!--\n<!-- ignore this <> <>\n--> <>\nCall reportSuccess()\n-->\n"); CHECK_CALLED(global_success_d); CHECK_CALLED(global_success_i);
next_cnt = 0; SET_EXPECT(collectionobj_newenum_i); SET_EXPECT(Next); - parse_script_a("for each x in collectionObj\nnext"); + parse_script_w(L"for each x in collectionObj\nnext"); CHECK_CALLED(collectionobj_newenum_i); CHECK_CALLED(Next); ok(next_cnt == 4, "next_cnt = %d\n", next_cnt);
- parse_script_a("x = 1\n Call ok(x = 1, "x = " & x)"); + parse_script_w(L"x = 1\n Call ok(x = 1, "x = " & x)");
- parse_script_a("x = _ \n3"); + parse_script_w(L"x = _ \n3");
test_global_vars_ref(TRUE); test_global_vars_ref(FALSE);
SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h80080008&)"); + hres = parse_script_wr(L"throwInt(&h80080008&)"); ok(hres == 0x80080008, "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
/* DISP_E_BADINDEX */ SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h8002000b&)"); + hres = parse_script_wr(L"throwInt(&h8002000b&)"); ok(hres == MAKE_VBSERROR(9), "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h800a0009&)"); + hres = parse_script_wr(L"throwInt(&h800a0009&)"); ok(hres == MAKE_VBSERROR(9), "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
onerror_hres = S_OK; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h800a0009&)"); + hres = parse_script_wr(L"throwInt(&h800a0009&)"); ok(hres == SCRIPT_E_REPORTED, "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
/* E_NOTIMPL */ SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h80004001&)"); + hres = parse_script_wr(L"throwInt(&h80004001&)"); ok(hres == MAKE_VBSERROR(445), "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
onerror_hres = S_OK; SET_EXPECT(OnScriptError); - hres = parse_script_ar("throwInt(&h80004001&)"); + hres = parse_script_wr(L"throwInt(&h80004001&)"); ok(hres == SCRIPT_E_REPORTED, "hres = %08lx\n", hres); CHECK_CALLED(OnScriptError);
SET_EXPECT(global_testoptionalarg_i); - parse_script_a("call testOptionalArg(1,,2)"); + parse_script_w(L"call testOptionalArg(1,,2)"); CHECK_CALLED(global_testoptionalarg_i);
SET_EXPECT(global_testoptionalarg_i); - parse_script_a("call testOptionalArg(,1,1)"); + parse_script_w(L"call testOptionalArg(,1,1)"); CHECK_CALLED(global_testoptionalarg_i);
SET_EXPECT(global_testoptionalarg_i); - parse_script_a("testOptionalArg 1,,2"); + parse_script_w(L"testOptionalArg 1,,2"); CHECK_CALLED(global_testoptionalarg_i);
- parse_script_a("sub x()\n" + parse_script_w(L"sub x()\n" " dim y\n" " y = cint(3)\n" "end sub\n" @@ -3387,32 +3387,32 @@ static void run_tests(void) strict_dispid_check = FALSE;
SET_EXPECT(testobj_value_i); - parse_script_a("dim n,o\n set o = testObj\n n = o(1,2)\n call ok(n=2, "n = " & n)\n"); + parse_script_w(L"dim n,o\n set o = testObj\n n = o(1,2)\n call ok(n=2, "n = " & n)\n"); CHECK_CALLED(testobj_value_i);
SET_EXPECT(testobj_value_i); - parse_script_a("dim n,o\n set o = testObj\n n = o\n call ok(n=0, "n = " & n)\n"); + parse_script_w(L"dim n,o\n set o = testObj\n n = o\n call ok(n=0, "n = " & n)\n"); CHECK_CALLED(testobj_value_i);
- parse_script_a("Sub testsub\n" + parse_script_w(L"Sub testsub\n" "x = 1\n" "Call ok(x = 1, "x = " & x)\n" "End Sub\n" "Call testsub()");
- parse_script_a("Call ok(getVT(x) = "VT_EMPTY*", "getVT(x) = " & getVT(x))\n"); - parse_script_a("Call ok(x = "", "x = " & x)\n"); - parse_script_a("x = y\n" + parse_script_w(L"Call ok(getVT(x) = "VT_EMPTY*", "getVT(x) = " & getVT(x))\n"); + parse_script_w(L"Call ok(x = "", "x = " & x)\n"); + parse_script_w(L"x = y\n" "Call ok(getVT(x) = "VT_EMPTY*", "getVT(x) = " & getVT(x))\n" "Call ok(getVT(y) = "VT_EMPTY*", "getVT(y) = " & getVT(y))"); SET_EXPECT(OnScriptError); - hres = parse_script_ar("x = y("a")"); + hres = parse_script_wr(L"x = y("a")"); ok(FAILED(hres), "script didn't fail\n"); CHECK_CALLED(OnScriptError);
SET_EXPECT(global_success_d); SET_EXPECT(global_success_i); - parse_script_a("' comment\r" + parse_script_w(L"' comment\r" "x = _\r3\r" "x = _\n3\r" "x = _\r\n3\r"
From: Michael Stefaniuc mstefani@winehq.org
--- dlls/vbscript/tests/vbscript.c | 86 +++++++++++++++++----------------- 1 file changed, 44 insertions(+), 42 deletions(-)
diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index 65134fef1af..8281548c5b6 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -566,7 +566,7 @@ static IDispatchEx *get_script_dispatch(IActiveScript *script, const WCHAR *item return dispex; }
-static void parse_script(IActiveScriptParse *parse, const char *src) +static void parse_script(IActiveScriptParse *parse, const WCHAR *src) { BSTR str; HRESULT hres; @@ -574,7 +574,7 @@ static void parse_script(IActiveScriptParse *parse, const char *src) SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript);
- str = a2bstr(src); + str = SysAllocString(src); hres = IActiveScriptParse_ParseScriptText(parse, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL); SysFreeString(str); ok(hres == S_OK, "ParseScriptText failed: %08lx\n", hres); @@ -584,20 +584,22 @@ static void parse_script(IActiveScriptParse *parse, const char *src) }
#define get_disp_id(a,b,c,d) _get_disp_id(__LINE__,a,b,c,d) -static void _get_disp_id(unsigned line, IDispatchEx *dispex, const char *name, HRESULT exhres, DISPID *id) +static void _get_disp_id(unsigned line, IDispatchEx *dispex, const WCHAR *name, HRESULT exhres, DISPID *id) { DISPID id2; BSTR str; HRESULT hres;
- str = a2bstr(name); + str = SysAllocString(name); hres = IDispatchEx_GetDispID(dispex, str, 0, id); - ok_(__FILE__,line)(hres == exhres, "GetDispID(%s) returned %08lx, expected %08lx\n", name, hres, exhres); + ok_(__FILE__,line)(hres == exhres, "GetDispID(%s) returned %08lx, expected %08lx\n", + wine_dbgstr_w(name), hres, exhres);
hres = IDispatchEx_GetIDsOfNames(dispex, &IID_NULL, &str, 1, 0, &id2); SysFreeString(str); - ok_(__FILE__,line)(hres == exhres, "GetIDsOfNames(%s) returned %08lx, expected %08lx\n", name, hres, exhres); - ok_(__FILE__,line)(*id == id2, "GetIDsOfNames(%s) id != id2\n", name); + ok_(__FILE__,line)(hres == exhres, "GetIDsOfNames(%s) returned %08lx, expected %08lx\n", + wine_dbgstr_w(name), hres, exhres); + ok_(__FILE__,line)(*id == id2, "GetIDsOfNames(%s) id != id2\n", wine_dbgstr_w(name)); }
static void test_no_script_dispatch(IActiveScript *script) @@ -671,12 +673,12 @@ static void test_scriptdisp(void) IDispatchEx_Release(script_disp2);
id = 100; - get_disp_id(script_disp, "LCase", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"LCase", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id);
- get_disp_id(script_disp, "globalVariable", DISP_E_UNKNOWNNAME, &id); - parse_script(parser, "dim globalVariable\nglobalVariable = 3"); - get_disp_id(script_disp, "globalVariable", S_OK, &id); + get_disp_id(script_disp, L"globalVariable", DISP_E_UNKNOWNNAME, &id); + parse_script(parser, L"dim globalVariable\nglobalVariable = 3"); + get_disp_id(script_disp, L"globalVariable", S_OK, &id);
memset(&dp, 0, sizeof(dp)); memset(&ei, 0, sizeof(ei)); @@ -686,13 +688,13 @@ static void test_scriptdisp(void) ok(V_VT(&v) == VT_I2, "V_VT(v) = %d\n", V_VT(&v)); ok(V_I2(&v) == 3, "V_I2(v) = %d\n", V_I2(&v));
- get_disp_id(script_disp, "globalVariable2", DISP_E_UNKNOWNNAME, &id); - parse_script(parser, "globalVariable2 = 4"); - get_disp_id(script_disp, "globalVariable2", S_OK, &id); + get_disp_id(script_disp, L"globalVariable2", DISP_E_UNKNOWNNAME, &id); + parse_script(parser, L"globalVariable2 = 4"); + get_disp_id(script_disp, L"globalVariable2", S_OK, &id);
- get_disp_id(script_disp, "globalFunction", DISP_E_UNKNOWNNAME, &id); - parse_script(parser, "function globalFunction()\nglobalFunction=5\nend function"); - get_disp_id(script_disp, "globalFunction", S_OK, &id); + get_disp_id(script_disp, L"globalFunction", DISP_E_UNKNOWNNAME, &id); + parse_script(parser, L"function globalFunction()\nglobalFunction=5\nend function"); + get_disp_id(script_disp, L"globalFunction", S_OK, &id);
SET_EXPECT(OnEnterScript); SET_EXPECT(OnLeaveScript); @@ -722,16 +724,16 @@ static void test_scriptdisp(void) CHECK_CALLED(OnEnterScript); CHECK_CALLED(OnLeaveScript);
- get_disp_id(script_disp, "globalSub", DISP_E_UNKNOWNNAME, &id); - parse_script(parser, "sub globalSub()\nend sub"); - get_disp_id(script_disp, "globalSub", S_OK, &id); - get_disp_id(script_disp, "globalSub", S_OK, &id2); + get_disp_id(script_disp, L"globalSub", DISP_E_UNKNOWNNAME, &id); + parse_script(parser, L"sub globalSub()\nend sub"); + get_disp_id(script_disp, L"globalSub", S_OK, &id); + get_disp_id(script_disp, L"globalSub", S_OK, &id2); ok(id == id2, "id != id2\n");
- get_disp_id(script_disp, "constVariable", DISP_E_UNKNOWNNAME, &id); - parse_script(parser, "const constVariable = 6"); - get_disp_id(script_disp, "ConstVariable", S_OK, &id); - get_disp_id(script_disp, "Constvariable", S_OK, &id2); + get_disp_id(script_disp, L"constVariable", DISP_E_UNKNOWNNAME, &id); + parse_script(parser, L"const constVariable = 6"); + get_disp_id(script_disp, L"ConstVariable", S_OK, &id); + get_disp_id(script_disp, L"Constvariable", S_OK, &id2); ok(id == id2, "id != id2\n");
IDispatchEx_Release(script_disp); @@ -782,7 +784,7 @@ static void test_param_ids(void) ok(hr == S_OK, "SetScriptState(SCRIPTSTATE_CONNECTED) failed: %08lx\n", hr); CHECK_CALLED(OnStateChange_CONNECTED);
- parse_script(parser, "function test(byval a, byval b, byval c, byval foo)\ntest = a + b + c - foo\nend function\n" + parse_script(parser, L"function test(byval a, byval b, byval c, byval foo)\ntest = a + b + c - foo\nend function\n" "function bar\nend function"); script_disp = get_script_dispatch(vbscript, NULL);
@@ -863,13 +865,13 @@ static void test_code_persistence(void) /* Pending code does not add identifiers to the global scope */ script_disp = get_script_dispatch(vbscript, NULL); id = 0; - get_disp_id(script_disp, "x", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"x", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); id = 0; - get_disp_id(script_disp, "y", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"y", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); id = 0; - get_disp_id(script_disp, "z", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"z", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); IDispatchEx_Release(script_disp);
@@ -902,13 +904,13 @@ static void test_code_persistence(void)
script_disp = get_script_dispatch(vbscript, NULL); id = 0; - get_disp_id(script_disp, "x", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"x", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); id = 0; - get_disp_id(script_disp, "y", S_OK, &id); + get_disp_id(script_disp, L"y", S_OK, &id); ok(id != -1, "id = -1\n"); id = 0; - get_disp_id(script_disp, "z", S_OK, &id); + get_disp_id(script_disp, L"z", S_OK, &id); ok(id != -1, "id = -1\n"); IDispatchEx_Release(script_disp);
@@ -948,7 +950,7 @@ static void test_code_persistence(void)
script_disp = get_script_dispatch(vbscript, NULL); id = 0; - get_disp_id(script_disp, "z", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"z", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); IDispatchEx_Release(script_disp);
@@ -964,7 +966,7 @@ static void test_code_persistence(void)
script_disp = get_script_dispatch(vbscript, NULL); id = 0; - get_disp_id(script_disp, "z", S_OK, &id); + get_disp_id(script_disp, L"z", S_OK, &id); ok(id != -1, "id = -1\n"); IDispatchEx_Release(script_disp);
@@ -1027,10 +1029,10 @@ static void test_code_persistence(void)
script_disp = get_script_dispatch(vbscript, NULL); id = 0; - get_disp_id(script_disp, "y", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"y", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); id = 0; - get_disp_id(script_disp, "z", DISP_E_UNKNOWNNAME, &id); + get_disp_id(script_disp, L"z", DISP_E_UNKNOWNNAME, &id); ok(id == -1, "id = %ld, expected -1\n", id); IDispatchEx_Release(script_disp);
@@ -1111,7 +1113,7 @@ static void test_script_typeinfo(void) CHECK_CALLED(OnStateChange_CONNECTED);
parse_script(parser, - "dim global_var\n" + L"dim global_var\n" "const const_var = 1337\n"
"function foobar\n" @@ -1442,7 +1444,7 @@ static void test_script_typeinfo(void) /* Updating the script won't update the typeinfo obtained before, but it will be reflected in any typeinfo obtained afterwards. */ parse_script(parser, - "dim new_var\nnew_var = 10\n" + L"dim new_var\nnew_var = 10\n" "sub new_sub\nend sub\n"
/* Replace the function foobar with more args */ @@ -1992,12 +1994,12 @@ static void test_named_items(void) CHECK_CALLED(OnStateChange_CONNECTED);
SET_EXPECT(testCall); - parse_script(parse, "testCall\n"); + parse_script(parse, L"testCall\n"); CHECK_CALLED(testCall);
SET_EXPECT(GetItemInfo_visible); SET_EXPECT(testCall); - parse_script(parse, "visibleItem.testCall\n"); + parse_script(parse, L"visibleItem.testCall\n"); CHECK_CALLED(GetItemInfo_visible); CHECK_CALLED(testCall);
@@ -2036,7 +2038,7 @@ static void test_named_items(void)
SET_EXPECT(GetItemInfo_visible_code); SET_EXPECT(testCall); - parse_script(parse, "visibleCodeItem.testCall\n"); + parse_script(parse, L"visibleCodeItem.testCall\n"); CHECK_CALLED(GetItemInfo_visible_code); CHECK_CALLED(testCall);
@@ -2046,7 +2048,7 @@ static void test_named_items(void) ok(persistent_named_item_ref == 0, "persistent_named_item_ref = %lu\n", persistent_named_item_ref);
SET_EXPECT(testCall); - parse_script(parse, "visibleItem.testCall\n"); + parse_script(parse, L"visibleItem.testCall\n"); CHECK_CALLED(testCall);
hres = IActiveScriptParse_ParseScriptText(parse, L"sub testSub\nend sub\n", L"noContext", NULL, NULL, 0, 0, 0, NULL, NULL);
From: Michael Stefaniuc mstefani@winehq.org
--- dlls/vbscript/tests/vbscript.c | 41 ++++++++++++---------------------- 1 file changed, 14 insertions(+), 27 deletions(-)
diff --git a/dlls/vbscript/tests/vbscript.c b/dlls/vbscript/tests/vbscript.c index 8281548c5b6..68157c9695b 100644 --- a/dlls/vbscript/tests/vbscript.c +++ b/dlls/vbscript/tests/vbscript.c @@ -109,18 +109,6 @@ DEFINE_EXPECT(testCall); DEFINE_GUID(CLSID_VBScript, 0xb54f3741, 0x5b07, 0x11cf, 0xa4,0xb0, 0x00,0xaa,0x00,0x4a,0x55,0xe8); DEFINE_GUID(CLSID_VBScriptRegExp, 0x3f4daca4, 0x160d, 0x11d2, 0xa8,0xe9, 0x00,0x10,0x4b,0x36,0x5c,0x9f);
-static BSTR a2bstr(const char *str) -{ - BSTR ret; - int len; - - len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0); - ret = SysAllocStringLen(NULL, len-1); - MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len); - - return ret; -} - #define test_state(s,ss) _test_state(__LINE__,s,ss) static void _test_state(unsigned line, IActiveScript *script, SCRIPTSTATE exstate) { @@ -2634,22 +2622,22 @@ static void test_RegExp_Replace(void) { static const struct { - const char *pattern; - const char *replace; - const char *source; - const char *result; + const WCHAR *pattern; + const WCHAR *replace; + const WCHAR *source; + const WCHAR *result; BOOL global; } test[] = { - { "abc", "", "123abc456", "123456", FALSE }, - { "abc", "dcba", "123abc456", "123dcba456", FALSE }, - { "[\r\n\t\f]+", " ", "\nHello\rNew\fWorld\t!", " Hello\rNew\fWorld\t!", FALSE }, - { "[\r\n\t\f]+", " ", "\nHello\rNew\fWorld\t!", " Hello New World !", TRUE }, + { L"abc", L"", L"123abc456", L"123456", FALSE }, + { L"abc", L"dcba", L"123abc456", L"123dcba456", FALSE }, + { L"[\r\n\t\f]+", L" ", L"\nHello\rNew\fWorld\t!", L" Hello\rNew\fWorld\t!", FALSE }, + { L"[\r\n\t\f]+", L" ", L"\nHello\rNew\fWorld\t!", L" Hello New World !", TRUE }, }; HRESULT hr; IRegExp2 *regexp; VARIANT var; - BSTR str, ret, result; + BSTR str, ret; int i;
hr = CoCreateInstance(&CLSID_VBScriptRegExp, NULL, @@ -2667,19 +2655,18 @@ static void test_RegExp_Replace(void) hr = IRegExp2_put_Global(regexp, test[i].global ? VARIANT_TRUE : VARIANT_FALSE); ok(hr == S_OK, "got %#lx\n", hr);
- str = a2bstr(test[i].pattern); + str = SysAllocString(test[i].pattern); hr = IRegExp2_put_Pattern(regexp, str); ok(hr == S_OK, "got %#lx\n", hr); SysFreeString(str);
- str = a2bstr(test[i].source); + str = SysAllocString(test[i].source); V_VT(&var) = VT_BSTR; - V_BSTR(&var) = a2bstr(test[i].replace); + V_BSTR(&var) = SysAllocString(test[i].replace); hr = IRegExp2_Replace(regexp, str, var, &ret); ok(hr == S_OK, "got %#lx\n", hr); - result = a2bstr(test[i].result); - ok(!wcscmp(ret, result), "got %s, expected %s\n", wine_dbgstr_w(ret), wine_dbgstr_w(result)); - SysFreeString(result); + ok(!wcscmp(ret, test[i].result), "got %s, expected %s\n", wine_dbgstr_w(ret), + wine_dbgstr_w(test[i].result)); SysFreeString(ret); SysFreeString(V_BSTR(&var)); SysFreeString(str);
One a2bstr() is left as it converts the return of vt2a().
Except that use case vt2a() is exclusively used for the ok() messages and I didn't feel like littering the code debugstr_w() calls just to fully get rid of a2bstr().
This merge request was approved by Jacek Caban.