Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
569a452d
Commit
569a452d
authored
Jun 13, 2006
by
Paul Vriens
Committed by
Alexandre Julliard
Jun 14, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uxtheme: Add framework and initial tests.
parent
03cc51ab
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
248 additions
and
3 deletions
+248
-3
configure
configure
+0
-0
configure.ac
configure.ac
+1
-0
Makefile.in
dlls/uxtheme/Makefile.in
+2
-0
.gitignore
dlls/uxtheme/tests/.gitignore
+3
-0
Makefile.in
dlls/uxtheme/tests/Makefile.in
+13
-0
system.c
dlls/uxtheme/tests/system.c
+223
-0
Makefile.in
programs/winetest/Makefile.in
+6
-3
No files found.
configure
View file @
569a452d
This diff is collapsed.
Click to expand it.
configure.ac
View file @
569a452d
...
...
@@ -1724,6 +1724,7 @@ dlls/usp10/Makefile
dlls/usp10/tests/Makefile
dlls/uuid/Makefile
dlls/uxtheme/Makefile
dlls/uxtheme/tests/Makefile
dlls/vdhcp.vxd/Makefile
dlls/vdmdbg/Makefile
dlls/version/Makefile
...
...
dlls/uxtheme/Makefile.in
View file @
569a452d
...
...
@@ -20,6 +20,8 @@ C_SRCS = \
RC_SRCS
=
version.rc
SUBDIRS
=
tests
@MAKE_DLL_RULES@
### Dependencies:
dlls/uxtheme/tests/.gitignore
0 → 100644
View file @
569a452d
Makefile
system.ok
testlist.c
dlls/uxtheme/tests/Makefile.in
0 → 100644
View file @
569a452d
TOPSRCDIR
=
@top_srcdir@
TOPOBJDIR
=
../../..
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
TESTDLL
=
uxtheme.dll
IMPORTS
=
user32 kernel32
CTESTS
=
\
system.c
@MAKE_TEST_RULES@
### Dependencies:
dlls/uxtheme/tests/system.c
0 → 100644
View file @
569a452d
/* Unit test suite for uxtheme API functions
*
* Copyright 2006 Paul Vriens
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*
*/
#include <stdarg.h>
#include "windows.h"
#include "uxtheme.h"
#include "wine/test.h"
static
HRESULT
(
WINAPI
*
pCloseThemeData
)(
HTHEME
);
static
BOOL
(
WINAPI
*
pIsThemeActive
)(
VOID
);
static
HTHEME
(
WINAPI
*
pOpenThemeData
)(
HWND
,
LPCWSTR
);
static
HRESULT
(
WINAPI
*
pSetWindowTheme
)(
HWND
,
LPCWSTR
,
LPCWSTR
);
static
HMODULE
hUxtheme
=
0
;
#define UXTHEME_GET_PROC(func) \
p ## func = (void*)GetProcAddress(hUxtheme, #func); \
if(!p ## func) { \
trace("GetProcAddress(%s) failed\n", #func); \
FreeLibrary(hUxtheme); \
return FALSE; \
}
static
BOOL
InitFunctionPtrs
(
void
)
{
hUxtheme
=
LoadLibraryA
(
"uxtheme.dll"
);
if
(
!
hUxtheme
)
{
trace
(
"Could not load uxtheme.dll
\n
"
);
return
FALSE
;
}
if
(
hUxtheme
)
{
UXTHEME_GET_PROC
(
CloseThemeData
)
UXTHEME_GET_PROC
(
IsThemeActive
)
UXTHEME_GET_PROC
(
OpenThemeData
)
UXTHEME_GET_PROC
(
SetWindowTheme
)
}
return
TRUE
;
}
static
void
test_SetWindowTheme
(
void
)
{
HRESULT
hRes
;
HWND
hWnd
;
SetLastError
(
0xdeadbeef
);
hRes
=
pSetWindowTheme
(
NULL
,
NULL
,
NULL
);
todo_wine
ok
(
hRes
==
E_HANDLE
,
"Expected E_HANDLE, got 0x%08lx
\n
"
,
hRes
);
/* Only do the bare minumum to get a valid hwnd */
hWnd
=
CreateWindowExA
(
0
,
"static"
,
""
,
WS_POPUP
,
0
,
0
,
100
,
100
,
0
,
0
,
0
,
NULL
);
if
(
!
hWnd
)
return
;
SetLastError
(
0xdeadbeef
);
hRes
=
pSetWindowTheme
(
hWnd
,
NULL
,
NULL
);
ok
(
hRes
==
S_OK
,
"Expected S_OK, got 0x%08lx
\n
"
,
hRes
);
}
static
void
test_OpenThemeData
(
void
)
{
HTHEME
hTheme
;
HWND
hWnd
;
BOOL
bThemeActive
;
WCHAR
szInvalidClassList
[]
=
{
'D'
,
'E'
,
'A'
,
'D'
,
'B'
,
'E'
,
'E'
,
'F'
,
0
};
WCHAR
szButtonClassList
[]
=
{
'B'
,
'u'
,
't'
,
't'
,
'o'
,
'n'
,
0
};
WCHAR
szClassList
[]
=
{
'B'
,
'u'
,
't'
,
't'
,
'o'
,
'n'
,
';'
,
'L'
,
'i'
,
's'
,
't'
,
'B'
,
'o'
,
'x'
,
0
};
SetLastError
(
0xdeadbeef
);
bThemeActive
=
pIsThemeActive
();
todo_wine
ok
(
GetLastError
()
==
S_OK
,
"Expected S_OK, got 0x%08lx
\n
"
,
GetLastError
());
/* All NULL */
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
NULL
,
NULL
);
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_POINTER
,
"Expected GLE() to be E_POINTER, got 0x%08lx
\n
"
,
GetLastError
());
/* A NULL hWnd and an invalid classlist */
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
NULL
,
szInvalidClassList
);
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_PROP_ID_UNSUPPORTED
,
"Expected GLE() to be E_PROP_ID_UNSUPPORTED, got 0x%08lx
\n
"
,
GetLastError
());
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
NULL
,
szClassList
);
if
(
bThemeActive
)
{
ok
(
hTheme
!=
NULL
,
"got NULL, expected a HTHEME handle
\n
"
);
todo_wine
ok
(
GetLastError
()
==
S_OK
,
"Expected S_OK, got 0x%08lx
\n
"
,
GetLastError
());
}
else
{
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_PROP_ID_UNSUPPORTED
,
"Expected GLE() to be E_PROP_ID_UNSUPPORTED, got 0x%08lx
\n
"
,
GetLastError
());
}
/* Only do the bare minumum to get a valid hdc */
hWnd
=
CreateWindowExA
(
0
,
"static"
,
""
,
WS_POPUP
,
0
,
0
,
100
,
100
,
0
,
0
,
0
,
NULL
);
if
(
!
hWnd
)
return
;
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
hWnd
,
NULL
);
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_POINTER
,
"Expected GLE() to be E_POINTER, got 0x%08lx
\n
"
,
GetLastError
());
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
hWnd
,
szInvalidClassList
);
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_PROP_ID_UNSUPPORTED
,
"Expected GLE() to be E_PROP_ID_UNSUPPORTED, got 0x%08lx
\n
"
,
GetLastError
());
if
(
!
bThemeActive
)
{
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
hWnd
,
szButtonClassList
);
ok
(
hTheme
==
NULL
,
"Expected a NULL return, got %p
\n
"
,
hTheme
);
todo_wine
ok
(
GetLastError
()
==
E_PROP_ID_UNSUPPORTED
,
"Expected GLE() to be E_PROP_ID_UNSUPPORTED, got 0x%08lx
\n
"
,
GetLastError
());
trace
(
"No active theme, skipping rest of OpenThemeData tests
\n
"
);
return
;
}
/* Only do the next checks if we have an active theme */
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
hWnd
,
szButtonClassList
);
ok
(
hTheme
!=
NULL
,
"got NULL, expected a HTHEME handle
\n
"
);
todo_wine
ok
(
GetLastError
()
==
S_OK
,
"Expected S_OK, got 0x%08lx
\n
"
,
GetLastError
());
SetLastError
(
0xdeadbeef
);
hTheme
=
pOpenThemeData
(
hWnd
,
szClassList
);
ok
(
hTheme
!=
NULL
,
"got NULL, expected a HTHEME handle
\n
"
);
todo_wine
ok
(
GetLastError
()
==
S_OK
,
"Expected S_OK, got 0x%08lx
\n
"
,
GetLastError
());
}
static
void
test_CloseThemeData
(
void
)
{
HRESULT
hRes
;
SetLastError
(
0xdeadbeef
);
hRes
=
pCloseThemeData
(
NULL
);
ok
(
hRes
==
E_HANDLE
,
"Expected E_HANDLE, got 0x%08lx"
,
hRes
);
ok
(
GetLastError
()
==
0xdeadbeef
,
"Expected 0xdeadbeef, got 0x%08lx
\n
"
,
GetLastError
());
}
START_TEST
(
system
)
{
if
(
!
InitFunctionPtrs
())
return
;
/* No real functional tests will be done (yet). The current tests
* only show input/return behaviour
*/
/* SetWindowTheme */
trace
(
"Starting test_SetWindowTheme()
\n
"
);
if
(
pSetWindowTheme
)
test_SetWindowTheme
();
/* OpenThemeData */
trace
(
"Starting test_OpenThemeData()
\n
"
);
if
(
pOpenThemeData
&&
pIsThemeActive
)
test_OpenThemeData
();
/* CloseThemeData */
trace
(
"Starting test_CloseThemeData()
\n
"
);
if
(
pCloseThemeData
)
test_CloseThemeData
();
FreeLibrary
(
hUxtheme
);
}
programs/winetest/Makefile.in
View file @
569a452d
...
...
@@ -61,8 +61,9 @@ TESTBINS = \
shell32_test.exe
$(DLLEXT)
\
shlwapi_test.exe
$(DLLEXT)
\
urlmon_test.exe
$(DLLEXT)
\
usp10_test.exe
$(DLLEXT)
\
user32_test.exe
$(DLLEXT)
\
usp10_test.exe
$(DLLEXT)
\
uxtheme_test.exe
$(DLLEXT)
\
version_test.exe
$(DLLEXT)
\
wininet_test.exe
$(DLLEXT)
\
winmm_test.exe
$(DLLEXT)
\
...
...
@@ -182,10 +183,12 @@ shlwapi_test.exe$(DLLEXT): $(DLLDIR)/shlwapi/tests/shlwapi_test.exe$(DLLEXT)
cp
$(DLLDIR)
/shlwapi/tests/shlwapi_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
urlmon_test.exe$(DLLEXT)
:
$(DLLDIR)/urlmon/tests/urlmon_test.exe$(DLLEXT)
cp
$(DLLDIR)
/urlmon/tests/urlmon_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
usp10_test.exe$(DLLEXT)
:
$(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT)
cp
$(DLLDIR)
/usp10/tests/usp10_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
user32_test.exe$(DLLEXT)
:
$(DLLDIR)/user/tests/user32_test.exe$(DLLEXT)
cp
$(DLLDIR)
/user/tests/user32_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
usp10_test.exe$(DLLEXT)
:
$(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT)
cp
$(DLLDIR)
/usp10/tests/usp10_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
uxtheme_test.exe$(DLLEXT)
:
$(DLLDIR)/uxtheme/tests/uxtheme_test.exe$(DLLEXT)
cp
$(DLLDIR)
/uxtheme/tests/uxtheme_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
wininet_test.exe$(DLLEXT)
:
$(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT)
cp
$(DLLDIR)
/wininet/tests/wininet_test.exe
$(DLLEXT)
$@
&&
$(STRIP)
$@
version_test.exe$(DLLEXT)
:
$(DLLDIR)/version/tests/version_test.exe$(DLLEXT)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment