Ge van Geldorp : mscms/tests: Pass correct device name to AssociateColorProfileWithDevice().
Alexandre Julliard
julliard at winehq.org
Mon Jan 5 10:24:44 CST 2009
Module: wine
Branch: master
Commit: 1f62d854969773d5c0883bcfeb49c5ed1940264e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1f62d854969773d5c0883bcfeb49c5ed1940264e
Author: Ge van Geldorp <ge at gse.nl>
Date: Sun Jan 4 16:23:47 2009 +0100
mscms/tests: Pass correct device name to AssociateColorProfileWithDevice().
---
dlls/mscms/tests/profile.c | 136 ++++++++++++++++++++++++++-----------------
1 files changed, 82 insertions(+), 54 deletions(-)
diff --git a/dlls/mscms/tests/profile.c b/dlls/mscms/tests/profile.c
index 56d7732..e33280a 100644
--- a/dlls/mscms/tests/profile.c
+++ b/dlls/mscms/tests/profile.c
@@ -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,63 +1372,77 @@ 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)
{
- SetLastError(0xdeadbeef);
- ret = pAssociateColorProfileWithDeviceA( "machine", testprofile, NULL );
- 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", NULL, "DISPLAY" );
- 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" );
- error = GetLastError();
- ok( !ret, "AssociateColorProfileWithDevice() succeeded\n" );
- ok( error == ERROR_NOT_SUPPORTED, "expected ERROR_NOT_SUPPORTED, got %u\n", error );
+ display.cb = sizeof( DISPLAY_DEVICE );
+ res = pEnumDisplayDevicesA( NULL, 0, &display, 0 );
+ ok( res, "Can't get display info\n" );
- ret = pInstallColorProfileA( NULL, testprofile );
- ok( ret, "InstallColorProfileA() failed (%u)\n", GetLastError() );
-
- ret = pGetColorDirectoryA( NULL, profile, &size );
- ok( ret, "GetColorDirectoryA() failed (%d)\n", GetLastError() );
-
- MSCMS_basenameA( testprofile, basename );
- lstrcatA( profile, "\\" );
- lstrcatA( profile, basename );
-
- ret = pAssociateColorProfileWithDeviceA( NULL, profile, "DISPLAY" );
- ok( ret, "AssociateColorProfileWithDevice() failed (%u)\n", GetLastError() );
-
- SetLastError(0xdeadbeef);
- ret = pDisassociateColorProfileFromDeviceA( "machine", profile, NULL );
- 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", NULL, "DISPLAY" );
- 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" );
- 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" );
- ok( ret, "DisassociateColorProfileFromDeviceA() failed (%u)\n", GetLastError() );
-
- ret = pUninstallColorProfileA( NULL, profile, TRUE );
- ok( ret, "UninstallColorProfileA() failed (%d)\n", GetLastError() );
+ monitor.cb = sizeof( DISPLAY_DEVICE );
+ res = pEnumDisplayDevicesA( display.DeviceName, 0, &monitor, 0 );
+ if (res)
+ {
+ SetLastError(0xdeadbeef);
+ ret = pAssociateColorProfileWithDeviceA( "machine", testprofile, NULL );
+ 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", 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, monitor.DeviceID );
+ error = GetLastError();
+ ok( !ret, "AssociateColorProfileWithDevice() succeeded\n" );
+ ok( error == ERROR_NOT_SUPPORTED, "expected ERROR_NOT_SUPPORTED, got %u\n", error );
+
+ ret = pInstallColorProfileA( NULL, testprofile );
+ ok( ret, "InstallColorProfileA() failed (%u)\n", GetLastError() );
+
+ ret = pGetColorDirectoryA( NULL, profile, &size );
+ ok( ret, "GetColorDirectoryA() failed (%d)\n", GetLastError() );
+
+ MSCMS_basenameA( testprofile, basename );
+ lstrcatA( profile, "\\" );
+ lstrcatA( profile, basename );
+
+ ret = pAssociateColorProfileWithDeviceA( NULL, profile, monitor.DeviceID );
+ ok( ret, "AssociateColorProfileWithDevice() failed (%u)\n", GetLastError() );
+
+ SetLastError(0xdeadbeef);
+ ret = pDisassociateColorProfileFromDeviceA( "machine", profile, NULL );
+ 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", 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, 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, 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");
}
}
@@ -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 );
}
More information about the wine-cvs
mailing list