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
23d78ff2
Commit
23d78ff2
authored
Oct 26, 2007
by
Detlef Riekenberg
Committed by
Alexandre Julliard
Oct 26, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
comdlg32/tests: Initial tests for PrintDlgExW.
parent
429d7a27
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
97 additions
and
3 deletions
+97
-3
printdlg.c
dlls/comdlg32/tests/printdlg.c
+97
-3
No files found.
dlls/comdlg32/tests/printdlg.c
View file @
23d78ff2
...
...
@@ -33,12 +33,40 @@
#include "wine/test.h"
/* ######## */
/* ########################### */
static
HMODULE
hcomdlg32
;
static
HRESULT
(
WINAPI
*
pPrintDlgExA
)(
LPPRINTDLGEXA
);
static
HRESULT
(
WINAPI
*
pPrintDlgExW
)(
LPPRINTDLGEXW
);
/* ########################### */
static
const
CHAR
emptyA
[]
=
""
;
static
const
CHAR
PrinterPortsA
[]
=
"PrinterPorts"
;
/* ######## */
/* ########################### */
static
LPCSTR
load_functions
(
void
)
{
LPCSTR
ptr
;
ptr
=
"comdlg32.dll"
;
hcomdlg32
=
LoadLibraryA
(
ptr
);
if
(
!
hcomdlg32
)
return
ptr
;
ptr
=
"PrintDlgExA"
;
pPrintDlgExA
=
(
void
*
)
GetProcAddress
(
hcomdlg32
,
ptr
);
if
(
!
pPrintDlgExA
)
return
ptr
;
ptr
=
"PrintDlgExW"
;
pPrintDlgExW
=
(
void
*
)
GetProcAddress
(
hcomdlg32
,
ptr
);
if
(
!
pPrintDlgExW
)
return
ptr
;
return
NULL
;
}
/* ########################### */
static
void
test_PageSetupDlgA
(
void
)
{
...
...
@@ -98,7 +126,7 @@ static void test_PageSetupDlgA(void)
}
/* ##### */
/* #####
######################
*/
static
void
test_PrintDlgA
(
void
)
{
...
...
@@ -210,10 +238,76 @@ static void test_PrintDlgA(void)
}
/* ########################### */
static
void
test_PrintDlgExW
(
void
)
{
LPPRINTDLGEXW
pDlg
;
HRESULT
res
;
/* Set CommDlgExtendedError != 0 */
PrintDlg
(
NULL
);
SetLastError
(
0xdeadbeef
);
res
=
pPrintDlgExW
(
NULL
);
ok
(
(
res
==
E_INVALIDARG
),
"got 0x%x with %u and %u (expected 'E_INVALIDARG')
\n
"
,
res
,
GetLastError
(),
CommDlgExtendedError
());
pDlg
=
HeapAlloc
(
GetProcessHeap
(),
0
,
(
sizeof
(
PRINTDLGEXW
))
+
8
);
if
(
!
pDlg
)
return
;
/* lStructSize must be exact */
ZeroMemory
(
pDlg
,
sizeof
(
PRINTDLGEXW
));
pDlg
->
lStructSize
=
sizeof
(
PRINTDLGEXW
)
-
1
;
PrintDlg
(
NULL
);
SetLastError
(
0xdeadbeef
);
res
=
pPrintDlgExW
(
pDlg
);
ok
(
(
res
==
E_INVALIDARG
),
"got 0x%x with %u and %u (expected 'E_INVALIDARG')
\n
"
,
res
,
GetLastError
(),
CommDlgExtendedError
());
ZeroMemory
(
pDlg
,
sizeof
(
PRINTDLGEXW
));
pDlg
->
lStructSize
=
sizeof
(
PRINTDLGEXW
)
+
1
;
PrintDlg
(
NULL
);
SetLastError
(
0xdeadbeef
);
res
=
pPrintDlgExW
(
pDlg
);
ok
(
(
res
==
E_INVALIDARG
),
"got 0x%x with %u and %u (expected 'E_INVALIDARG')
\n
"
,
res
,
GetLastError
(),
CommDlgExtendedError
());
ZeroMemory
(
pDlg
,
sizeof
(
PRINTDLGEXW
));
pDlg
->
lStructSize
=
sizeof
(
PRINTDLGEXW
);
SetLastError
(
0xdeadbeef
);
res
=
pPrintDlgExW
(
pDlg
);
ok
(
(
res
==
E_HANDLE
),
"got 0x%x with %u and %u (expected 'E_HANDLE')
\n
"
,
res
,
GetLastError
(),
CommDlgExtendedError
());
HeapFree
(
GetProcessHeap
(),
0
,
pDlg
);
return
;
}
/* ########################### */
START_TEST
(
printdlg
)
{
LPCSTR
ptr
;
ptr
=
load_functions
();
test_PageSetupDlgA
();
test_PrintDlgA
();
/* PrintDlgEx not present before w2k */
if
(
ptr
)
{
skip
(
"%s
\n
"
,
ptr
);
return
;
}
test_PrintDlgExW
();
}
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