2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for SetWindowTheme
5 * PROGRAMMERS: Giannis Adamopoulos
13 void TestParams(HWND hwnd
)
17 hr
= SetWindowTheme(0, NULL
, NULL
);
18 ok (hr
== E_HANDLE
, "Expected E_HANDLE got 0x%lx error\n", hr
);
20 hr
= SetWindowTheme((HWND
)0xdeaddead, NULL
, NULL
);
21 ok (hr
== E_HANDLE
, "Expected E_HANDLE got 0x%lx error\n", hr
);
23 hr
= SetWindowTheme(hwnd
, NULL
, NULL
);
24 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
26 hr
= SetWindowTheme(hwnd
, L
"none", L
"none");
27 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
29 hr
= SetWindowTheme(hwnd
, NULL
, L
"none");
30 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
32 hr
= SetWindowTheme(hwnd
, L
"none", NULL
);
33 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
35 hr
= SetWindowTheme(hwnd
, L
"", L
"");
36 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
39 void TestTheme(HWND hwnd
)
42 HTHEME htheme1
, htheme2
;
44 hr
= SetWindowTheme(hwnd
, NULL
, NULL
);
45 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
47 htheme1
= OpenThemeData(hwnd
, L
"Toolbar");
48 ok (htheme1
!= NULL
, "OpenThemeData failed\n");
50 hr
= SetWindowTheme(hwnd
, L
"", L
"");
51 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
53 htheme2
= OpenThemeData(hwnd
, L
"Toolbar");
54 ok (htheme2
== NULL
, "Expected OpenThemeData to fail\n");
56 hr
= SetWindowTheme(hwnd
, L
"TrayNotify", L
"");
57 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
59 htheme2
= OpenThemeData(hwnd
, L
"Toolbar");
60 ok (htheme2
== NULL
, "Expected OpenThemeData to fail\n");
62 hr
= SetWindowTheme(hwnd
, L
"TrayNotify", NULL
);
63 ok (hr
== S_OK
, "Expected S_OK got 0x%lx error\n", hr
);
65 htheme2
= OpenThemeData(hwnd
, L
"Toolbar");
66 ok (htheme2
!= NULL
, "OpenThemeData failed\n");
68 ok(htheme1
!= htheme2
, "Expected different theme data\n");
71 START_TEST(SetWindowTheme
)
75 hwnd
= CreateWindowW(L
"button", L
"Test window", WS_OVERLAPPEDWINDOW
| WS_VISIBLE
, 100, 100, 200, 200, 0, NULL
, NULL
, NULL
);
76 ok (hwnd
!= NULL
, "Expected CreateWindowW to succeed\n");