mirror of
https://github.com/reactos/reactos.git
synced 2024-10-01 23:14:53 +00:00
[MSCMS_WINETEST]
* Sync with Wine 1.7.17. CORE-8080 svn path=/trunk/; revision=62914
This commit is contained in:
parent
b6667022ee
commit
369724daea
|
@ -59,7 +59,7 @@ static BOOL (WINAPI *pSetStandardColorSpaceProfileW)(PCWSTR,DWORD,PWSTR);
|
|||
static BOOL (WINAPI *pUninstallColorProfileA)(PCSTR,PCSTR,BOOL);
|
||||
static BOOL (WINAPI *pUninstallColorProfileW)(PCWSTR,PCWSTR,BOOL);
|
||||
|
||||
static BOOL (WINAPI *pEnumDisplayDevicesA)(LPCSTR,DWORD,PDISPLAY_DEVICE,DWORD);
|
||||
static BOOL (WINAPI *pEnumDisplayDevicesA)(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD);
|
||||
|
||||
#define GETFUNCPTR(func) p##func = (void *)GetProcAddress( hmscms, #func ); \
|
||||
if (!p##func) return FALSE;
|
||||
|
@ -122,6 +122,8 @@ static const WCHAR profile2W[] =
|
|||
'c','o','l','o','r','\\','s','r','g','b',' ','c','o','l','o','r',' ',
|
||||
's','p','a','c','e',' ','p','r','o','f','i','l','e','.','i','c','m',0 };
|
||||
|
||||
static BOOL have_color_profile;
|
||||
|
||||
static const unsigned char rgbheader[] =
|
||||
{ 0x48, 0x0c, 0x00, 0x00, 0x6f, 0x6e, 0x69, 0x4c, 0x00, 0x00, 0x10, 0x02,
|
||||
0x72, 0x74, 0x6e, 0x6d, 0x20, 0x42, 0x47, 0x52, 0x20, 0x5a, 0x59, 0x58,
|
||||
|
@ -669,7 +671,7 @@ static void test_EnumColorProfilesA( char *standardprofile )
|
|||
ok( !ret, "EnumColorProfilesA() succeeded (%d)\n", GetLastError() );
|
||||
|
||||
ret = pEnumColorProfilesA( NULL, &record, buffer, &size, &number );
|
||||
if (standardprofile)
|
||||
if (have_color_profile)
|
||||
ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||
else
|
||||
todo_wine ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||
|
@ -683,7 +685,7 @@ static void test_EnumColorProfilesA( char *standardprofile )
|
|||
|
||||
size = total;
|
||||
ret = pEnumColorProfilesA( NULL, &record, buffer, &size, &number );
|
||||
if (standardprofile)
|
||||
if (have_color_profile)
|
||||
ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||
else
|
||||
todo_wine ok( ret, "EnumColorProfilesA() failed (%d)\n", GetLastError() );
|
||||
|
@ -723,7 +725,7 @@ static void test_EnumColorProfilesW( WCHAR *standardprofileW )
|
|||
ok( !ret, "EnumColorProfilesW() succeeded (%d)\n", GetLastError() );
|
||||
|
||||
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, &number );
|
||||
if (standardprofileW)
|
||||
if (have_color_profile)
|
||||
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||
else
|
||||
todo_wine ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||
|
@ -736,7 +738,7 @@ static void test_EnumColorProfilesW( WCHAR *standardprofileW )
|
|||
|
||||
size = total;
|
||||
ret = pEnumColorProfilesW( NULL, &record, buffer, &size, &number );
|
||||
if (standardprofileW)
|
||||
if (have_color_profile)
|
||||
ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||
else
|
||||
todo_wine ok( ret, "EnumColorProfilesW() failed (%d)\n", GetLastError() );
|
||||
|
@ -1244,17 +1246,16 @@ static void test_AssociateColorProfileWithDeviceA( char *testprofile )
|
|||
BOOL ret;
|
||||
char profile[MAX_PATH], basename[MAX_PATH];
|
||||
DWORD error, size = sizeof(profile);
|
||||
DISPLAY_DEVICE display;
|
||||
DISPLAY_DEVICEA display, monitor;
|
||||
BOOL res;
|
||||
DISPLAY_DEVICE monitor;
|
||||
|
||||
if (testprofile && pEnumDisplayDevicesA)
|
||||
{
|
||||
display.cb = sizeof( DISPLAY_DEVICE );
|
||||
display.cb = sizeof( DISPLAY_DEVICEA );
|
||||
res = pEnumDisplayDevicesA( NULL, 0, &display, 0 );
|
||||
ok( res, "Can't get display info\n" );
|
||||
|
||||
monitor.cb = sizeof( DISPLAY_DEVICE );
|
||||
monitor.cb = sizeof( DISPLAY_DEVICEA );
|
||||
res = pEnumDisplayDevicesA( display.DeviceName, 0, &monitor, 0 );
|
||||
if (res)
|
||||
{
|
||||
|
@ -1318,6 +1319,21 @@ static void test_AssociateColorProfileWithDeviceA( char *testprofile )
|
|||
}
|
||||
}
|
||||
|
||||
static BOOL have_profile(void)
|
||||
{
|
||||
char glob[MAX_PATH + sizeof("\\*.icm")];
|
||||
DWORD size = MAX_PATH;
|
||||
HANDLE handle;
|
||||
WIN32_FIND_DATAA data;
|
||||
|
||||
if (!pGetColorDirectoryA( NULL, glob, &size )) return FALSE;
|
||||
lstrcatA( glob, "\\*.icm" );
|
||||
handle = FindFirstFileA( glob, &data );
|
||||
if (handle == INVALID_HANDLE_VALUE) return FALSE;
|
||||
FindClose( handle );
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
START_TEST(profile)
|
||||
{
|
||||
UINT len;
|
||||
|
@ -1379,9 +1395,9 @@ START_TEST(profile)
|
|||
}
|
||||
|
||||
/* If found, create a temporary copy for testing purposes */
|
||||
if (standardprofile && GetTempPath( sizeof(path), path ))
|
||||
if (standardprofile && GetTempPathA( sizeof(path), path ))
|
||||
{
|
||||
if (GetTempFileName( path, "rgb", 0, file ))
|
||||
if (GetTempFileNameA( path, "rgb", 0, file ))
|
||||
{
|
||||
if (CopyFileA( standardprofile, file, FALSE ))
|
||||
{
|
||||
|
@ -1393,6 +1409,8 @@ START_TEST(profile)
|
|||
}
|
||||
}
|
||||
|
||||
have_color_profile = have_profile();
|
||||
|
||||
test_GetColorDirectoryA();
|
||||
test_GetColorDirectoryW();
|
||||
|
||||
|
|
Loading…
Reference in a new issue