vbscript/tests: Some tests require that the user interface be in English.
This commit is contained in:
parent
3beac360a9
commit
b6da3052ed
|
@ -86,7 +86,7 @@ Call ok("ab " & empty = "ab ", """ab"" & empty = " & ("ab " & empty))
|
||||||
Call ok(1 & 100000 = "1100000", "1 & 100000 = " & (1 & 100000))
|
Call ok(1 & 100000 = "1100000", "1 & 100000 = " & (1 & 100000))
|
||||||
Call ok("ab" & x = "abxx", """ab"" & x = " & ("ab"&x))
|
Call ok("ab" & x = "abxx", """ab"" & x = " & ("ab"&x))
|
||||||
|
|
||||||
if(isEnglishLocale) then
|
if(isEnglishLang) then
|
||||||
Call ok("" & true = "True", """"" & true = " & true)
|
Call ok("" & true = "True", """"" & true = " & true)
|
||||||
Call ok(true & false = "TrueFalse", "true & false = " & (true & false))
|
Call ok(true & false = "TrueFalse", "true & false = " & (true & false))
|
||||||
end if
|
end if
|
||||||
|
|
|
@ -69,7 +69,7 @@ DEFINE_EXPECT(testobj_propput_i);
|
||||||
#define DISPID_GLOBAL_TRACE 1001
|
#define DISPID_GLOBAL_TRACE 1001
|
||||||
#define DISPID_GLOBAL_OK 1002
|
#define DISPID_GLOBAL_OK 1002
|
||||||
#define DISPID_GLOBAL_GETVT 1003
|
#define DISPID_GLOBAL_GETVT 1003
|
||||||
#define DISPID_GLOBAL_ISENGLOC 1004
|
#define DISPID_GLOBAL_ISENGLANG 1004
|
||||||
#define DISPID_GLOBAL_VBVAR 1005
|
#define DISPID_GLOBAL_VBVAR 1005
|
||||||
#define DISPID_GLOBAL_TESTOBJ 1006
|
#define DISPID_GLOBAL_TESTOBJ 1006
|
||||||
#define DISPID_GLOBAL_ISNULLDISP 1007
|
#define DISPID_GLOBAL_ISNULLDISP 1007
|
||||||
|
@ -135,10 +135,27 @@ static const char *vt2a(VARIANT *v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static BOOL is_english(void)
|
/* Returns true if the user interface is in English. Note that this does not
|
||||||
|
* presume of the formatting of dates, numbers, etc.
|
||||||
|
*/
|
||||||
|
static BOOL is_lang_english(void)
|
||||||
{
|
{
|
||||||
return PRIMARYLANGID(GetSystemDefaultLangID()) == LANG_ENGLISH
|
static HMODULE hkernel32 = NULL;
|
||||||
&& PRIMARYLANGID(GetUserDefaultLangID()) == LANG_ENGLISH;
|
static LANGID (WINAPI *pGetThreadUILanguage)(void) = NULL;
|
||||||
|
static LANGID (WINAPI *pGetUserDefaultUILanguage)(void) = NULL;
|
||||||
|
|
||||||
|
if (!hkernel32)
|
||||||
|
{
|
||||||
|
hkernel32 = GetModuleHandleA("kernel32.dll");
|
||||||
|
pGetThreadUILanguage = (void*)GetProcAddress(hkernel32, "GetThreadUILanguage");
|
||||||
|
pGetUserDefaultUILanguage = (void*)GetProcAddress(hkernel32, "GetUserDefaultUILanguage");
|
||||||
|
}
|
||||||
|
if (pGetThreadUILanguage)
|
||||||
|
return PRIMARYLANGID(pGetThreadUILanguage()) == LANG_ENGLISH;
|
||||||
|
if (pGetUserDefaultUILanguage)
|
||||||
|
return PRIMARYLANGID(pGetUserDefaultUILanguage()) == LANG_ENGLISH;
|
||||||
|
|
||||||
|
return PRIMARYLANGID(GetUserDefaultLangID()) == LANG_ENGLISH;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_disp(IDispatch *disp)
|
static void test_disp(IDispatch *disp)
|
||||||
|
@ -405,9 +422,9 @@ static HRESULT WINAPI Global_GetDispID(IDispatchEx *iface, BSTR bstrName, DWORD
|
||||||
*pid = DISPID_GLOBAL_GETVT;
|
*pid = DISPID_GLOBAL_GETVT;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
if(!strcmp_wa(bstrName, "isEnglishLocale")) {
|
if(!strcmp_wa(bstrName, "isEnglishLang")) {
|
||||||
test_grfdex(grfdex, fdexNameCaseInsensitive);
|
test_grfdex(grfdex, fdexNameCaseInsensitive);
|
||||||
*pid = DISPID_GLOBAL_ISENGLOC;
|
*pid = DISPID_GLOBAL_ISENGLANG;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
if(!strcmp_wa(bstrName, "testObj")) {
|
if(!strcmp_wa(bstrName, "testObj")) {
|
||||||
|
@ -511,7 +528,7 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
|
||||||
V_BSTR(pvarRes) = a2bstr(vt2a(pdp->rgvarg));
|
V_BSTR(pvarRes) = a2bstr(vt2a(pdp->rgvarg));
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
||||||
case DISPID_GLOBAL_ISENGLOC:
|
case DISPID_GLOBAL_ISENGLANG:
|
||||||
ok(wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET), "wFlags = %x\n", wFlags);
|
ok(wFlags == (INVOKE_FUNC|INVOKE_PROPERTYGET), "wFlags = %x\n", wFlags);
|
||||||
ok(pdp != NULL, "pdp == NULL\n");
|
ok(pdp != NULL, "pdp == NULL\n");
|
||||||
ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
|
ok(!pdp->rgdispidNamedArgs, "rgdispidNamedArgs != NULL\n");
|
||||||
|
@ -521,10 +538,10 @@ static HRESULT WINAPI Global_InvokeEx(IDispatchEx *iface, DISPID id, LCID lcid,
|
||||||
ok(pei != NULL, "pei == NULL\n");
|
ok(pei != NULL, "pei == NULL\n");
|
||||||
|
|
||||||
V_VT(pvarRes) = VT_BOOL;
|
V_VT(pvarRes) = VT_BOOL;
|
||||||
if(is_english()) {
|
if(is_lang_english()) {
|
||||||
V_BOOL(pvarRes) = VARIANT_TRUE;
|
V_BOOL(pvarRes) = VARIANT_TRUE;
|
||||||
}else {
|
}else {
|
||||||
skip("Skipping some test in non-English locale\n");
|
skip("Skipping some tests in non-English UIs\n");
|
||||||
V_BOOL(pvarRes) = VARIANT_FALSE;
|
V_BOOL(pvarRes) = VARIANT_FALSE;
|
||||||
}
|
}
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
|
Loading…
Reference in New Issue