Jacek Caban : vbscript: Fixed locale-related test failures.
Alexandre Julliard
julliard at winehq.org
Wed Jul 18 12:44:40 CDT 2012
Module: wine
Branch: master
Commit: 2be12eacaf616907a79354265bbb0f51d974e70a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2be12eacaf616907a79354265bbb0f51d974e70a
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Jul 18 13:36:58 2012 +0200
vbscript: Fixed locale-related test failures.
---
dlls/vbscript/tests/api.vbs | 8 ++++----
dlls/vbscript/tests/run.c | 28 +++++++++++++++++++++-------
2 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/dlls/vbscript/tests/api.vbs b/dlls/vbscript/tests/api.vbs
index 4914e7a..fd339dd 100644
--- a/dlls/vbscript/tests/api.vbs
+++ b/dlls/vbscript/tests/api.vbs
@@ -154,8 +154,8 @@ TestUCase "test", "TEST"
TestUCase "123aBC?", "123ABC?"
TestUCase "", ""
TestUCase 1, "1"
-TestUCase true, "TRUE"
-TestUCase 0.123, "0.123"
+if isEnglishLang then TestUCase true, "TRUE"
+TestUCase 0.123, doubleAsString(0.123)
TestUCase Empty, ""
Call ok(getVT(UCase(Null)) = "VT_NULL", "getVT(UCase(Null)) = " & getVT(UCase(Null)))
@@ -168,8 +168,8 @@ TestLCase "test", "test"
TestLCase "123aBC?", "123abc?"
TestLCase "", ""
TestLCase 1, "1"
-TestLCase true, "true"
-TestLCase 0.123, "0.123"
+if isEnglishLang then TestLCase true, "true"
+TestLCase 0.123, doubleAsString(0.123)
TestLCase Empty, ""
Call ok(getVT(LCase(Null)) = "VT_NULL", "getVT(LCase(Null)) = " & getVT(LCase(Null)))
diff --git a/dlls/vbscript/tests/run.c b/dlls/vbscript/tests/run.c
index 91c45e6..8569d71 100644
--- a/dlls/vbscript/tests/run.c
+++ b/dlls/vbscript/tests/run.c
@@ -82,6 +82,7 @@ DEFINE_EXPECT(Next);
#define DISPID_GLOBAL_PROPARGPUT 1011
#define DISPID_GLOBAL_PROPARGPUT1 1012
#define DISPID_GLOBAL_COLLOBJ 1013
+#define DISPID_GLOBAL_DOUBLEASSTRING 1014
#define DISPID_TESTOBJ_PROPGET 2000
#define DISPID_TESTOBJ_PROPPUT 2001
@@ -90,7 +91,7 @@ DEFINE_EXPECT(Next);
static const WCHAR testW[] = {'t','e','s','t',0};
-static BOOL strict_dispid_check;
+static BOOL strict_dispid_check, is_english;
static const char *test_name = "(null)";
static int test_counter;
@@ -815,6 +816,11 @@ static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD
*pid = DISPID_GLOBAL_COUNTER;
return S_OK;
}
+ if(!strcmp_wa(bstrName, "doubleAsString")) {
+ test_grfdex(grfdex, fdexNameCaseInsensitive);
+ *pid = DISPID_GLOBAL_DOUBLEASSTRING;
+ return S_OK;
+ }
if(strict_dispid_check && strcmp_wa(bstrName, "x"))
ok(0, "unexpected call %s %x\n", wine_dbgstr_w(bstrName), grfdex);
@@ -905,12 +911,7 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
ok(pei != NULL, "pei == NULL\n");
V_VT(pvarRes) = VT_BOOL;
- if(is_lang_english()) {
- V_BOOL(pvarRes) = VARIANT_TRUE;
- }else {
- skip("Skipping some tests in non-English UIs\n");
- V_BOOL(pvarRes) = VARIANT_FALSE;
- }
+ V_BOOL(pvarRes) = is_english ? VARIANT_TRUE : VARIANT_FALSE;
return S_OK;
case DISPID_GLOBAL_VBVAR:
@@ -1069,6 +1070,15 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
V_VT(pvarRes) = VT_I2;
V_I2(pvarRes) = test_counter++;
return S_OK;
+
+ case DISPID_GLOBAL_DOUBLEASSTRING:
+ ok(wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET), "wFlags = %x\n", wFlags);
+ ok(pdp->cArgs == 1, "cArgs = %d\n", pdp->cArgs);
+ ok(V_VT(pdp->rgvarg) == VT_R8, "V_VT(pdp->rgvarg) = %d\n", V_VT(pdp->rgvarg));
+ ok(pvarRes != NULL, "pvarRes == NULL\n");
+
+ V_VT(pvarRes) = VT_BSTR;
+ return VarBstrFromR8(V_R8(pdp->rgvarg), 0, 0, &V_BSTR(pvarRes));
}
ok(0, "unexpected call %d\n", id);
@@ -1590,6 +1600,10 @@ START_TEST(run)
int argc;
char **argv;
+ is_english = is_lang_english();
+ if(!is_english)
+ skip("Skipping some tests in non-English UIs\n");
+
argc = winetest_get_mainargs(&argv);
CoInitialize(NULL);
More information about the wine-cvs
mailing list