oleaut32/tests: Don't use autoheader styled defines in vartype.
This commit is contained in:
parent
a7c77f93ea
commit
b1804fd7e3
|
@ -50,13 +50,10 @@ static HMODULE hOleaut32;
|
|||
if (!p##func) { \
|
||||
win_skip("function " # func " not available, not testing it\n"); return; }
|
||||
|
||||
/* Is a given function exported from oleaut32? */
|
||||
#define HAVE_FUNC(func) ((void*)GetProcAddress(hOleaut32, #func) != NULL)
|
||||
|
||||
/* Have I8/UI8 data type? */
|
||||
#define HAVE_OLEAUT32_I8 HAVE_FUNC(VarI8FromI1)
|
||||
/* Have proper locale conversions? */
|
||||
#define HAVE_OLEAUT32_LOCALES (HAVE_FUNC(GetVarConversionLocaleSetting) && HAVE_OLEAUT32_I8)
|
||||
/* Has I8/UI8 data type? */
|
||||
static BOOL has_i8;
|
||||
/* Has proper locale conversions? */
|
||||
static BOOL has_locales;
|
||||
|
||||
/* Is vt a type unavailable to ancient versions? */
|
||||
#define IS_MODERN_VTYPE(vt) (vt==VT_VARIANT||vt==VT_DECIMAL|| \
|
||||
|
@ -161,7 +158,7 @@ static HMODULE hOleaut32;
|
|||
TYPETEST(VT_R4, V_R4(&vDst), fs); \
|
||||
TYPETEST(VT_R8, V_R8(&vDst), fs); \
|
||||
TYPETEST(VT_DATE, V_DATE(&vDst), fs); \
|
||||
if (HAVE_OLEAUT32_I8) \
|
||||
if (has_i8) \
|
||||
{ \
|
||||
TYPETEST(VT_I8, V_I8(&vDst), fs); \
|
||||
TYPETEST(VT_UI8, V_UI8(&vDst), fs); \
|
||||
|
@ -2314,7 +2311,7 @@ static void test_VarI8Copy(void)
|
|||
VARIANTARG vSrc, vDst;
|
||||
LONGLONG in = 1;
|
||||
|
||||
if (!HAVE_OLEAUT32_I8)
|
||||
if (!has_i8)
|
||||
{
|
||||
win_skip("I8 and UI8 data types are not available\n");
|
||||
return;
|
||||
|
@ -2345,7 +2342,7 @@ static void test_VarI8ChangeTypeEx(void)
|
|||
LONG64 in;
|
||||
VARIANTARG vSrc, vDst;
|
||||
|
||||
if (!HAVE_OLEAUT32_I8)
|
||||
if (!has_i8)
|
||||
{
|
||||
win_skip("I8 and UI8 data types are not available\n");
|
||||
return;
|
||||
|
@ -2583,7 +2580,7 @@ static void test_VarUI8Copy(void)
|
|||
VARIANTARG vSrc, vDst;
|
||||
ULONGLONG in = 1;
|
||||
|
||||
if (!HAVE_OLEAUT32_I8)
|
||||
if (!has_i8)
|
||||
{
|
||||
win_skip("I8 and UI8 data types are not available\n");
|
||||
return;
|
||||
|
@ -2614,7 +2611,7 @@ static void test_VarUI8ChangeTypeEx(void)
|
|||
ULONG64 in;
|
||||
VARIANTARG vSrc, vDst;
|
||||
|
||||
if (!HAVE_OLEAUT32_I8)
|
||||
if (!has_i8)
|
||||
{
|
||||
win_skip("I8 and UI8 data types are not available\n");
|
||||
return;
|
||||
|
@ -3474,7 +3471,7 @@ static void test_VarDateChangeTypeEx(void)
|
|||
VariantClear(&vDst);
|
||||
|
||||
lcid = MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT);
|
||||
if (HAVE_OLEAUT32_LOCALES)
|
||||
if (has_locales)
|
||||
{
|
||||
hres = VariantChangeTypeEx(&vDst, &vSrc, lcid, VARIANT_NOUSEROVERRIDE|VARIANT_USE_NLS, VT_BSTR);
|
||||
ok(hres == S_OK && V_VT(&vDst) == VT_BSTR && V_BSTR(&vDst) && !lstrcmpW(V_BSTR(&vDst), sz25570Nls),
|
||||
|
@ -4757,7 +4754,7 @@ static void test_VarBoolFromStr(void)
|
|||
/* And is still not case sensitive */
|
||||
CONVERT_STR(VarBoolFromStr,"False",0); EXPECT(VARIANT_FALSE);
|
||||
|
||||
if (HAVE_OLEAUT32_LOCALES)
|
||||
if (has_locales)
|
||||
{
|
||||
/* French is rejected without VARIANT_LOCALBOOL */
|
||||
CONVERT_STR(VarBoolFromStr,"faux",0); EXPECT_MISMATCH;
|
||||
|
@ -4777,7 +4774,7 @@ static void test_VarBoolFromStr(void)
|
|||
CONVERT_STR(VarBoolFromStr,"-1",0); EXPECT(VARIANT_TRUE);
|
||||
CONVERT_STR(VarBoolFromStr,"+1",0); EXPECT(VARIANT_TRUE);
|
||||
|
||||
if (HAVE_OLEAUT32_LOCALES)
|
||||
if (has_locales)
|
||||
{
|
||||
/* Numeric strings are read as floating point numbers. The line below fails
|
||||
* because '.' is not a valid decimal separator for Polish numbers */
|
||||
|
@ -4826,7 +4823,7 @@ static void test_VarBoolChangeTypeEx(void)
|
|||
V_BOOL(&vSrc) = 0;
|
||||
BOOL_STR(VARIANT_ALPHABOOL, szFalse);
|
||||
|
||||
if (HAVE_OLEAUT32_LOCALES)
|
||||
if (has_locales)
|
||||
{
|
||||
lcid = MAKELCID(MAKELANGID(LANG_FRENCH, SUBLANG_DEFAULT), SORT_DEFAULT);
|
||||
|
||||
|
@ -5700,7 +5697,7 @@ static void test_IUnknownChangeTypeEx(void)
|
|||
{
|
||||
if (vt == VT_I8 || vt == VT_UI8)
|
||||
{
|
||||
if (HAVE_OLEAUT32_I8)
|
||||
if (has_i8)
|
||||
hExpected = DISP_E_TYPEMISMATCH;
|
||||
}
|
||||
else if (vt == VT_RECORD)
|
||||
|
@ -5850,7 +5847,7 @@ static void test_ErrorChangeTypeEx(void)
|
|||
{
|
||||
if (vt == VT_I8 || vt == VT_UI8)
|
||||
{
|
||||
if (HAVE_OLEAUT32_I8)
|
||||
if (has_i8)
|
||||
hExpected = DISP_E_TYPEMISMATCH;
|
||||
}
|
||||
else if (vt == VT_RECORD)
|
||||
|
@ -5886,7 +5883,7 @@ static void test_EmptyChangeTypeEx(void)
|
|||
|
||||
if (vt == VT_I8 || vt == VT_UI8)
|
||||
{
|
||||
if (HAVE_OLEAUT32_I8)
|
||||
if (has_i8)
|
||||
hExpected = S_OK;
|
||||
}
|
||||
else if (vt == VT_RECORD)
|
||||
|
@ -5931,7 +5928,7 @@ static void test_NullChangeTypeEx(void)
|
|||
|
||||
if (vt == VT_I8 || vt == VT_UI8)
|
||||
{
|
||||
if (HAVE_OLEAUT32_I8)
|
||||
if (has_i8)
|
||||
hExpected = DISP_E_TYPEMISMATCH;
|
||||
}
|
||||
else if (vt == VT_RECORD)
|
||||
|
@ -6091,6 +6088,9 @@ START_TEST(vartype)
|
|||
{
|
||||
hOleaut32 = GetModuleHandleA("oleaut32.dll");
|
||||
|
||||
has_i8 = GetProcAddress(hOleaut32, "VarI8FromI1") != NULL;
|
||||
has_locales = has_i8 && GetProcAddress(hOleaut32, "GetVarConversionLocaleSetting") != NULL;
|
||||
|
||||
trace("LCIDs: System=0x%08x, User=0x%08x\n", GetSystemDefaultLCID(),
|
||||
GetUserDefaultLCID());
|
||||
|
||||
|
|
Loading…
Reference in New Issue