Jacek Caban : jscript/tests: Use wide char string literals in caller.c.

Alexandre Julliard julliard at winehq.org
Wed Jan 15 16:26:47 CST 2020


Module: wine
Branch: master
Commit: fc009bf882d7214161a74828a6596162c86f8ffd
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=fc009bf882d7214161a74828a6596162c86f8ffd

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Jan 15 15:32:06 2020 +0100

jscript/tests: Use wide char string literals in caller.c.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/jscript/tests/caller.c | 79 ++++++++++++++++-----------------------------
 1 file changed, 27 insertions(+), 52 deletions(-)

diff --git a/dlls/jscript/tests/caller.c b/dlls/jscript/tests/caller.c
index 336c397be9..ce74594df4 100644
--- a/dlls/jscript/tests/caller.c
+++ b/dlls/jscript/tests/caller.c
@@ -73,35 +73,14 @@ static const CLSID CLSID_JScript =
 
 DEFINE_EXPECT(testArgConv);
 
-static const WCHAR testW[] = {'t','e','s','t',0};
-
 static IVariantChangeType *script_change_type;
 static IDispatch *stored_obj;
 
 #define DISPID_TEST_TESTARGCONV      0x1000
 
-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 int strcmp_wa(LPCWSTR strw, const char *stra)
-{
-    CHAR buf[512];
-    WideCharToMultiByte(CP_ACP, 0, strw, -1, buf, sizeof(buf), 0, 0);
-    return lstrcmpA(buf, stra);
-}
-
 typedef struct {
     int int_result;
-    const char *str_result;
+    const WCHAR *str_result;
     VARIANT_BOOL bool_result;
     int test_double;
     double double_result;
@@ -140,7 +119,7 @@ static void test_change_type(IVariantChangeType *change_type, VARIANT *src, cons
     ok(V_UI2(&v) == (UINT16)ex->int_result, "V_UI2(v) = %u, expected %u\n", V_UI2(&v), (UINT16)ex->int_result);
 
     call_change_type(change_type, &v, src, VT_BSTR);
-    ok(!strcmp_wa(V_BSTR(&v), ex->str_result), "V_BSTR(v) = %s, expected %s\n", wine_dbgstr_w(V_BSTR(&v)), ex->str_result);
+    ok(!lstrcmpW(V_BSTR(&v), ex->str_result), "V_BSTR(v) = %s, expected %s\n", wine_dbgstr_w(V_BSTR(&v)), wine_dbgstr_w(ex->str_result));
     VariantClear(&v);
 
     call_change_type(change_type, &v, src, VT_BOOL);
@@ -175,18 +154,18 @@ static void test_change_types(IVariantChangeType *change_type, IDispatch *obj_di
     HRESULT hres;
 
     static const conv_results_t bool_results[] = {
-        {0, "false", VARIANT_FALSE, 1,0.0},
-        {1, "true", VARIANT_TRUE, 1,1.0}};
+        {0, L"false", VARIANT_FALSE, 1,0.0},
+        {1, L"true", VARIANT_TRUE, 1,1.0}};
     static const conv_results_t int_results[] = {
-        {0, "0", VARIANT_FALSE, 1,0.0},
-        {-100, "-100", VARIANT_TRUE, 1,-100.0},
-        {0x10010, "65552", VARIANT_TRUE, 1,65552.0}};
+        {0, L"0", VARIANT_FALSE, 1,0.0},
+        {-100, L"-100", VARIANT_TRUE, 1,-100.0},
+        {0x10010, L"65552", VARIANT_TRUE, 1,65552.0}};
     static const conv_results_t empty_results =
-        {0, "undefined", VARIANT_FALSE, 0,0};
+        {0, L"undefined", VARIANT_FALSE, 0,0};
     static const conv_results_t null_results =
-        {0, "null", VARIANT_FALSE, 0,0};
+        {0, L"null", VARIANT_FALSE, 0,0};
     static const conv_results_t obj_results =
-        {10, "strval", VARIANT_TRUE, 1,10.0};
+        {10, L"strval", VARIANT_TRUE, 1,10.0};
 
     V_VT(&v) = VT_BOOL;
     V_BOOL(&v) = VARIANT_FALSE;
@@ -221,12 +200,13 @@ static void test_change_types(IVariantChangeType *change_type, IDispatch *obj_di
 
     /* Test conversion in place */
     V_VT(&v) = VT_BSTR;
-    V_BSTR(&v) = str = a2bstr("test");
+    V_BSTR(&v) = str = SysAllocString(L"test");
     hres = IVariantChangeType_ChangeType(change_type, &v, &v, 0, VT_BSTR);
     ok(hres == S_OK, "ChangeType failed: %08x\n", hres);
     ok(V_VT(&v) == VT_BSTR, "V_VT(v) = %d\n", V_VT(&v));
     ok(V_BSTR(&v) != str, "V_BSTR(v) == str\n");
-    ok(!strcmp_wa(V_BSTR(&v), "test"), "V_BSTR(v) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    ok(!lstrcmpW(V_BSTR(&v), L"test"), "V_BSTR(v) = %s\n", wine_dbgstr_w(V_BSTR(&v)));
+    VariantClear(&v);
 }
 
 static void test_caller(IServiceProvider *caller, IDispatch *arg_obj)
@@ -334,7 +314,7 @@ static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown
 
 static HRESULT WINAPI Test_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD grfdex, DISPID *pid)
 {
-    if(!strcmp_wa(bstrName, "testArgConv")) {
+    if(!lstrcmpW(bstrName, L"testArgConv")) {
         ok(grfdex == fdexNameCaseSensitive, "grfdex = %x\n", grfdex);
         *pid = DISPID_TEST_TESTARGCONV;
         return S_OK;
@@ -431,7 +411,7 @@ static HRESULT WINAPI ActiveScriptSite_GetItemInfo(IActiveScriptSite *iface, LPC
 {
     ok(dwReturnMask == SCRIPTINFO_IUNKNOWN, "unexpected dwReturnMask %x\n", dwReturnMask);
     ok(!ppti, "ppti != NULL\n");
-    ok(!strcmp_wa(pstrName, "test"), "pstrName = %s\n", wine_dbgstr_w(pstrName));
+    ok(!lstrcmpW(pstrName, L"test"), "pstrName = %s\n", wine_dbgstr_w(pstrName));
 
     *ppiunkItem = (IUnknown*)&testObj;
     return S_OK;
@@ -484,15 +464,12 @@ static const IActiveScriptSiteVtbl ActiveScriptSiteVtbl = {
 
 static IActiveScriptSite ActiveScriptSite = { &ActiveScriptSiteVtbl };
 
-#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);
-    hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL);
-    SysFreeString(str);
+    hres = IActiveScriptParse_ParseScriptText(parser, script, NULL, NULL, NULL, 0, 0, 0, NULL, NULL);
     ok_(__FILE__,line)(hres == S_OK, "ParseScriptText failed: %08x\n", hres);
 }
 
@@ -516,7 +493,7 @@ static IActiveScriptParse *create_script(void)
     hres = IActiveScript_SetScriptSite(script, &ActiveScriptSite);
     ok(hres == S_OK, "SetScriptSite failed: %08x\n", hres);
 
-    hres = IActiveScript_AddNamedItem(script, testW,
+    hres = IActiveScript_AddNamedItem(script, L"test",
             SCRIPTITEM_ISVISIBLE|SCRIPTITEM_ISSOURCE|SCRIPTITEM_GLOBALMEMBERS);
     ok(hres == S_OK, "AddNamedItem failed: %08x\n", hres);
 
@@ -539,12 +516,12 @@ static void run_scripts(void)
     ok(hres == S_OK, "Could not get IVariantChangeType iface: %08x\n", hres);
 
     SET_EXPECT(testArgConv);
-    parse_script_a(parser,
-                   "var obj = {"
-                   "    toString: function() { return 'strval'; },"
-                   "    valueOf: function()  { return 10; }"
-                   "};"
-                   "testArgConv(obj);");
+    parse_script(parser,
+                 L"var obj = {"
+                 L"    toString: function() { return 'strval'; },"
+                 L"    valueOf: function()  { return 10; }"
+                 L"};"
+                 L"testArgConv(obj);");
     CHECK_CALLED(testArgConv);
 
     test_change_types(script_change_type, stored_obj);
@@ -558,16 +535,14 @@ static BOOL check_jscript(void)
 {
     IActiveScriptProperty *script_prop;
     IActiveScriptParse *parser;
-    BSTR str;
     HRESULT hres;
 
     parser = create_script();
     if(!parser)
         return FALSE;
 
-    str = a2bstr("if(!('localeCompare' in String.prototype)) throw 1;");
-    hres = IActiveScriptParse_ParseScriptText(parser, str, NULL, NULL, NULL, 0, 0, 0, NULL, NULL);
-    SysFreeString(str);
+    hres = IActiveScriptParse_ParseScriptText(parser, L"if(!('localeCompare' in String.prototype)) throw 1;",
+                                              NULL, NULL, NULL, 0, 0, 0, NULL, NULL);
 
     if(hres == S_OK)
         hres = IActiveScriptParse_QueryInterface(parser, &IID_IActiveScriptProperty, (void**)&script_prop);




More information about the wine-cvs mailing list