From 61427a2eafa77d84bf46ab064359669a5a1aaa1a Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Wed, 9 Aug 2017 07:14:44 +0000 Subject: [PATCH] [UXTHEME_APITEST] -Add tests for SetThemeAppProperties. svn path=/trunk/; revision=75513 --- rostests/apitests/uxtheme/CMakeLists.txt | 1 + .../apitests/uxtheme/SetThemeAppProperties.c | 84 +++++++++++++++++++ rostests/apitests/uxtheme/testlist.c | 2 + 3 files changed, 87 insertions(+) create mode 100644 rostests/apitests/uxtheme/SetThemeAppProperties.c diff --git a/rostests/apitests/uxtheme/CMakeLists.txt b/rostests/apitests/uxtheme/CMakeLists.txt index 333a8742dd9..ccb67069779 100644 --- a/rostests/apitests/uxtheme/CMakeLists.txt +++ b/rostests/apitests/uxtheme/CMakeLists.txt @@ -3,6 +3,7 @@ list(APPEND SOURCE CloseThemeData.c DrawThemeParentBackground.c SetWindowTheme.c + SetThemeAppProperties.c ../include/msgtrace.c testlist.c) diff --git a/rostests/apitests/uxtheme/SetThemeAppProperties.c b/rostests/apitests/uxtheme/SetThemeAppProperties.c new file mode 100644 index 00000000000..35288ca1082 --- /dev/null +++ b/rostests/apitests/uxtheme/SetThemeAppProperties.c @@ -0,0 +1,84 @@ +/* + * PROJECT: ReactOS api tests + * LICENSE: GPL - See COPYING in the top level directory + * PURPOSE: Test for SetThemeAppProperties + * PROGRAMMERS: Giannis Adamopoulos + */ + +#include +#include +#include +#include +#include + +START_TEST(SetThemeAppProperties) +{ + BOOL bThemeActive; + HTHEME hTheme; + HWND hWnd; + + bThemeActive = IsThemeActive(); + if (!bThemeActive) + { + skip("No active theme, skipping SetWindowTheme tests\n"); + return; + } + + SetLastError(0xdeadbeef); + + bThemeActive = IsAppThemed(); + ok (bThemeActive == FALSE, "\n"); + ok( GetLastError() == 0, "Expected 0 last error, got 0x%lx\n", GetLastError()); + + SetLastError(0xdeadbeef); + hTheme = OpenThemeData(NULL, L"BUTTON"); + ok (hTheme == NULL, "\n"); + ok( GetLastError() == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED last error, got 0x%lx\n", GetLastError()); + + hWnd = CreateWindowExA(0, "static", "", WS_POPUP, 0,0,100,100,0, 0, 0, NULL); + ok (hWnd != NULL, "\n"); + + SetLastError(0xdeadbeef); + bThemeActive = IsAppThemed(); + ok (bThemeActive == TRUE, "\n"); + ok( GetLastError() == 0, "Expected 0 last error, got 0x%lx\n", GetLastError()); + + SetLastError(0xdeadbeef); + hTheme = OpenThemeData(NULL, L"BUTTON"); + ok (hTheme != NULL, "\n"); + ok( GetLastError() == 0, "Expected 0 last error, got 0x%lx\n", GetLastError()); + + SetLastError(0xdeadbeef); + SetThemeAppProperties(0); + ok( GetLastError() == 0, "Expected 0 last error, got 0x%lx\n", GetLastError()); + + bThemeActive = IsThemeActive(); + ok (bThemeActive == TRUE, "\n"); + + bThemeActive = IsAppThemed(); + ok (bThemeActive == TRUE, "\n"); + + SetLastError(0xdeadbeef); + hTheme = OpenThemeData(NULL, L"BUTTON"); + ok (hTheme == NULL, "\n"); + ok( GetLastError() == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED last error, got 0x%lx\n", GetLastError()); + + SetThemeAppProperties(STAP_ALLOW_NONCLIENT); + + hTheme = OpenThemeDataEx (NULL, L"BUTTON", OTD_NONCLIENT); + ok (hTheme != NULL, "\n"); + SetLastError(0xdeadbeef); + hTheme = OpenThemeDataEx (NULL, L"BUTTON", 0); + ok (hTheme == NULL, "\n"); + ok( GetLastError() == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED last error, got 0x%lx\n", GetLastError()); + + SetThemeAppProperties(STAP_ALLOW_CONTROLS); + + SetLastError(0xdeadbeef); + hTheme = OpenThemeDataEx (NULL, L"BUTTON", OTD_NONCLIENT); + ok (hTheme == NULL, "\n"); + ok( GetLastError() == E_PROP_ID_UNSUPPORTED, "Expected E_PROP_ID_UNSUPPORTED last error, got 0x%lx\n", GetLastError()); + hTheme = OpenThemeDataEx (NULL, L"BUTTON", 0); + ok (hTheme != NULL, "\n"); + +} diff --git a/rostests/apitests/uxtheme/testlist.c b/rostests/apitests/uxtheme/testlist.c index 7b06a3fb39c..0ecc2b98943 100644 --- a/rostests/apitests/uxtheme/testlist.c +++ b/rostests/apitests/uxtheme/testlist.c @@ -5,6 +5,7 @@ extern void func_CloseThemeData(void); extern void func_DrawThemeParentBackground(void); +extern void func_SetThemeAppProperties(void); extern void func_SetWindowTheme(void); const struct test winetest_testlist[] = @@ -12,5 +13,6 @@ const struct test winetest_testlist[] = { "CloseThemeData", func_CloseThemeData }, { "DrawThemeParentBackground", func_DrawThemeParentBackground }, { "SetWindowTheme", func_SetWindowTheme }, + { "SetThemeAppProperties", func_SetThemeAppProperties }, { 0, 0 } };