mscms/tests: Pass correct device name to AssociateColorProfileWithDevice().

This commit is contained in:
Ge van Geldorp 2009-01-04 16:23:47 +01:00 committed by Alexandre Julliard
parent e7e4894f2a
commit 1f62d85496
1 changed files with 72 additions and 44 deletions

View File

@ -31,6 +31,7 @@
#include "wine/test.h"
HMODULE hmscms;
HMODULE huser32;
static BOOL (WINAPI *pAssociateColorProfileWithDeviceA)(PCSTR,PCSTR,PCSTR);
static BOOL (WINAPI *pCloseColorProfile)(HPROFILE);
@ -58,6 +59,8 @@ 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);
#define GETFUNCPTR(func) p##func = (void *)GetProcAddress( hmscms, #func ); \
if (!p##func) return FALSE;
@ -89,6 +92,8 @@ static BOOL init_function_ptrs( void )
GETFUNCPTR( UninstallColorProfileA )
GETFUNCPTR( UninstallColorProfileW )
pEnumDisplayDevicesA = (void *)GetProcAddress( huser32, "EnumDisplayDevicesA" );
return TRUE;
}
@ -1367,8 +1372,19 @@ static void test_AssociateColorProfileWithDeviceA(void)
BOOL ret;
char profile[MAX_PATH], basename[MAX_PATH];
DWORD error, size = sizeof(profile);
DISPLAY_DEVICE display;
BOOL res;
DISPLAY_DEVICE monitor;
if (testprofile)
if (testprofile && pEnumDisplayDevicesA)
{
display.cb = sizeof( DISPLAY_DEVICE );
res = pEnumDisplayDevicesA( NULL, 0, &display, 0 );
ok( res, "Can't get display info\n" );
monitor.cb = sizeof( DISPLAY_DEVICE );
res = pEnumDisplayDevicesA( display.DeviceName, 0, &monitor, 0 );
if (res)
{
SetLastError(0xdeadbeef);
ret = pAssociateColorProfileWithDeviceA( "machine", testprofile, NULL );
@ -1377,13 +1393,13 @@ static void test_AssociateColorProfileWithDeviceA(void)
ok( error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error );
SetLastError(0xdeadbeef);
ret = pAssociateColorProfileWithDeviceA( "machine", NULL, "DISPLAY" );
ret = pAssociateColorProfileWithDeviceA( "machine", NULL, monitor.DeviceID );
error = GetLastError();
ok( !ret, "AssociateColorProfileWithDevice() succeeded\n" );
ok( error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error );
SetLastError(0xdeadbeef);
ret = pAssociateColorProfileWithDeviceA( "machine", testprofile, "DISPLAY" );
ret = pAssociateColorProfileWithDeviceA( "machine", testprofile, monitor.DeviceID );
error = GetLastError();
ok( !ret, "AssociateColorProfileWithDevice() succeeded\n" );
ok( error == ERROR_NOT_SUPPORTED, "expected ERROR_NOT_SUPPORTED, got %u\n", error );
@ -1398,7 +1414,7 @@ static void test_AssociateColorProfileWithDeviceA(void)
lstrcatA( profile, "\\" );
lstrcatA( profile, basename );
ret = pAssociateColorProfileWithDeviceA( NULL, profile, "DISPLAY" );
ret = pAssociateColorProfileWithDeviceA( NULL, profile, monitor.DeviceID );
ok( ret, "AssociateColorProfileWithDevice() failed (%u)\n", GetLastError() );
SetLastError(0xdeadbeef);
@ -1408,23 +1424,26 @@ static void test_AssociateColorProfileWithDeviceA(void)
ok( error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error );
SetLastError(0xdeadbeef);
ret = pDisassociateColorProfileFromDeviceA( "machine", NULL, "DISPLAY" );
ret = pDisassociateColorProfileFromDeviceA( "machine", NULL, monitor.DeviceID );
error = GetLastError();
ok( !ret, "DisassociateColorProfileFromDeviceA() succeeded\n" );
ok( error == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", error );
SetLastError(0xdeadbeef);
ret = pDisassociateColorProfileFromDeviceA( "machine", profile, "DISPLAY" );
ret = pDisassociateColorProfileFromDeviceA( "machine", profile, monitor.DeviceID );
error = GetLastError();
ok( !ret, "DisassociateColorProfileFromDeviceA() succeeded\n" );
ok( error == ERROR_NOT_SUPPORTED, "expected ERROR_NOT_SUPPORTED, got %u\n", error );
ret = pDisassociateColorProfileFromDeviceA( NULL, profile, "DISPLAY" );
ret = pDisassociateColorProfileFromDeviceA( NULL, profile, monitor.DeviceID );
ok( ret, "DisassociateColorProfileFromDeviceA() failed (%u)\n", GetLastError() );
ret = pUninstallColorProfileA( NULL, profile, TRUE );
ok( ret, "UninstallColorProfileA() failed (%d)\n", GetLastError() );
}
else
skip("Unable to obtain monitor name\n");
}
}
START_TEST(profile)
@ -1441,8 +1460,16 @@ START_TEST(profile)
hmscms = LoadLibraryA( "mscms.dll" );
if (!hmscms) return;
huser32 = LoadLibraryA( "user32.dll" );
if (!huser32)
{
FreeLibrary( hmscms );
return;
}
if (!init_function_ptrs())
{
FreeLibrary( huser32 );
FreeLibrary( hmscms );
return;
}
@ -1537,5 +1564,6 @@ START_TEST(profile)
if (testprofile)
DeleteFileA( testprofile );
FreeLibrary( huser32 );
FreeLibrary( hmscms );
}