user32/tests: Add exhaustive tests for Get/SetThreadDpiAwarenessContext.
This commit is contained in:
parent
cbcf609108
commit
9ccfac44d5
1 changed files with 52 additions and 0 deletions
|
@ -3778,6 +3778,55 @@ static void test_dpi_aware(void)
|
|||
test_metrics_for_dpi( 192 );
|
||||
}
|
||||
|
||||
static void test_ThreadDpiAwarenessContext(ULONG_PTR flags)
|
||||
{
|
||||
int i;
|
||||
DPI_AWARENESS_CONTEXT context, last_context;
|
||||
DPI_AWARENESS awareness;
|
||||
BOOL ret = pGetProcessDpiAwarenessInternal(GetCurrentProcess(), &awareness);
|
||||
|
||||
struct awareness_context_thread
|
||||
{
|
||||
ULONG_PTR context;
|
||||
ULONG_PTR result_get;
|
||||
ULONG_PTR result_set;
|
||||
BOOL todo_get;
|
||||
BOOL todo_set;
|
||||
} awareness_contexts[] = {
|
||||
{ 0x10 | flags, 0x10 | flags, 0x10 | flags },
|
||||
{ 0x11 | flags, 0x11 | flags, 0x11 | flags },
|
||||
{ 0x12, 0x12, 0x12 },
|
||||
{ 0x22, 0x22, 0x22, TRUE, TRUE },
|
||||
{ 0x80000010 | flags, 0x10 | awareness | flags, 0x80000010 | awareness | flags },
|
||||
{ 0x80000011 | flags, 0x10 | awareness | flags, 0x80000010 | awareness | flags },
|
||||
{ 0x80000012, 0x10 | awareness | flags, 0x80000010 | awareness | flags },
|
||||
{ 0x80000022, 0x10 | awareness | flags, 0x80000010 | awareness | flags, FALSE, TRUE },
|
||||
{ (ULONG_PTR)DPI_AWARENESS_CONTEXT_UNAWARE, 0x10 | flags, 0x10 | flags },
|
||||
{ (ULONG_PTR)DPI_AWARENESS_CONTEXT_SYSTEM_AWARE, 0x11 | flags, 0x11 | flags },
|
||||
{ (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE, 0x12, 0x12 },
|
||||
{ (ULONG_PTR)DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2, 0x22, 0x22, TRUE, TRUE },
|
||||
{ 0x12, 0x12 }, /* Only for last_result test */
|
||||
};
|
||||
|
||||
ok(ret, "GetProcessDpiAwarenessInternal failed\n");
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(awareness_contexts); i++)
|
||||
{
|
||||
struct awareness_context_thread *item = &awareness_contexts[i];
|
||||
last_context = pSetThreadDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)item->context );
|
||||
ok(last_context != 0, "Failed to set context %p\n", (DPI_AWARENESS_CONTEXT)item->context );
|
||||
if (i != 0)
|
||||
{
|
||||
struct awareness_context_thread *last = &awareness_contexts[i - 1];
|
||||
todo_wine_if(awareness_contexts[i - 1].todo_set)
|
||||
ok( last_context == (DPI_AWARENESS_CONTEXT)last->result_set, "For context %p - after set expected %p, got %p\n", (DPI_AWARENESS_CONTEXT)last->context, (DPI_AWARENESS_CONTEXT)last->result_set, last_context );
|
||||
}
|
||||
context = pGetThreadDpiAwarenessContext();
|
||||
todo_wine_if(item->todo_get)
|
||||
ok( context == (DPI_AWARENESS_CONTEXT)item->result_get, "For context %p - after get expected %p, got %p\n", (DPI_AWARENESS_CONTEXT)item->context, (DPI_AWARENESS_CONTEXT)item->result_get, context );
|
||||
}
|
||||
}
|
||||
|
||||
static void test_dpi_context(void)
|
||||
{
|
||||
DPI_AWARENESS awareness;
|
||||
|
@ -3923,6 +3972,9 @@ static void test_dpi_context(void)
|
|||
context = pGetThreadDpiAwarenessContext();
|
||||
todo_wine
|
||||
ok( context == (DPI_AWARENESS_CONTEXT)(0x11 | flags), "wrong context %p\n", context );
|
||||
|
||||
test_ThreadDpiAwarenessContext(flags);
|
||||
|
||||
for (i = 0; i < 0x100; i++)
|
||||
{
|
||||
awareness = pGetAwarenessFromDpiAwarenessContext( (DPI_AWARENESS_CONTEXT)i );
|
||||
|
|
Loading…
Add table
Reference in a new issue