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
bd4dcad0
Commit
bd4dcad0
authored
Mar 05, 2008
by
Francois Gouget
Committed by
Alexandre Julliard
Mar 05, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shlwapi/tests: Skip the string tests for the functions that are not available on Win9x.
parent
d573ca83
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
78 additions
and
9 deletions
+78
-9
string.c
dlls/shlwapi/tests/string.c
+78
-9
No files found.
dlls/shlwapi/tests/string.c
View file @
bd4dcad0
...
@@ -39,11 +39,20 @@ static BOOL (WINAPI *pIntlStrEqWorkerA)(BOOL,LPCSTR,LPCSTR,int);
...
@@ -39,11 +39,20 @@ static BOOL (WINAPI *pIntlStrEqWorkerA)(BOOL,LPCSTR,LPCSTR,int);
static
BOOL
(
WINAPI
*
pIntlStrEqWorkerW
)(
BOOL
,
LPCWSTR
,
LPCWSTR
,
int
);
static
BOOL
(
WINAPI
*
pIntlStrEqWorkerW
)(
BOOL
,
LPCWSTR
,
LPCWSTR
,
int
);
static
DWORD
(
WINAPI
*
pSHAnsiToAnsi
)(
LPCSTR
,
LPSTR
,
int
);
static
DWORD
(
WINAPI
*
pSHAnsiToAnsi
)(
LPCSTR
,
LPSTR
,
int
);
static
DWORD
(
WINAPI
*
pSHUnicodeToUnicode
)(
LPCWSTR
,
LPWSTR
,
int
);
static
DWORD
(
WINAPI
*
pSHUnicodeToUnicode
)(
LPCWSTR
,
LPWSTR
,
int
);
static
LPSTR
(
WINAPI
*
pStrCatBuffA
)(
LPSTR
,
LPCSTR
,
INT
);
static
LPWSTR
(
WINAPI
*
pStrCatBuffW
)(
LPWSTR
,
LPCWSTR
,
INT
);
static
LPSTR
(
WINAPI
*
pStrCpyNXA
)(
LPSTR
,
LPCSTR
,
int
);
static
LPSTR
(
WINAPI
*
pStrCpyNXA
)(
LPSTR
,
LPCSTR
,
int
);
static
LPWSTR
(
WINAPI
*
pStrCpyNXW
)(
LPWSTR
,
LPCWSTR
,
int
);
static
LPWSTR
(
WINAPI
*
pStrCpyNXW
)(
LPWSTR
,
LPCWSTR
,
int
);
static
LPSTR
(
WINAPI
*
pStrFormatByteSize64A
)(
LONGLONG
,
LPSTR
,
UINT
);
static
LPSTR
(
WINAPI
*
pStrFormatKBSizeA
)(
LONGLONG
,
LPSTR
,
UINT
);
static
LPWSTR
(
WINAPI
*
pStrFormatKBSizeW
)(
LONGLONG
,
LPWSTR
,
UINT
);
static
BOOL
(
WINAPI
*
pStrIsIntlEqualA
)(
BOOL
,
LPCSTR
,
LPCSTR
,
int
);
static
BOOL
(
WINAPI
*
pStrIsIntlEqualA
)(
BOOL
,
LPCSTR
,
LPCSTR
,
int
);
static
BOOL
(
WINAPI
*
pStrIsIntlEqualW
)(
BOOL
,
LPCWSTR
,
LPCWSTR
,
int
);
static
BOOL
(
WINAPI
*
pStrIsIntlEqualW
)(
BOOL
,
LPCWSTR
,
LPCWSTR
,
int
);
static
HRESULT
(
WINAPI
*
pStrRetToBSTR
)(
STRRET
*
,
void
*
,
BSTR
*
);
static
HRESULT
(
WINAPI
*
pStrRetToBSTR
)(
STRRET
*
,
void
*
,
BSTR
*
);
static
HRESULT
(
WINAPI
*
pStrRetToBufA
)(
STRRET
*
,
LPCITEMIDLIST
,
LPSTR
,
UINT
);
static
HRESULT
(
WINAPI
*
pStrRetToBufW
)(
STRRET
*
,
LPCITEMIDLIST
,
LPWSTR
,
UINT
);
static
INT
(
WINAPIV
*
pwnsprintfA
)(
LPSTR
,
INT
,
LPCSTR
,
...);
static
INT
(
WINAPIV
*
pwnsprintfW
)(
LPWSTR
,
INT
,
LPCWSTR
,
...);
static
int
strcmpW
(
const
WCHAR
*
str1
,
const
WCHAR
*
str2
)
static
int
strcmpW
(
const
WCHAR
*
str1
,
const
WCHAR
*
str2
)
{
{
...
@@ -490,9 +499,15 @@ static void test_StrFormatByteSize64A(void)
...
@@ -490,9 +499,15 @@ static void test_StrFormatByteSize64A(void)
char
szBuff
[
256
];
char
szBuff
[
256
];
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
if
(
!
pStrFormatByteSize64A
)
{
skip
(
"StrFormatByteSize64A() is not available. Tests skipped
\n
"
);
return
;
}
while
(
result
->
value
)
while
(
result
->
value
)
{
{
StrFormatByteSize64A
(
result
->
value
,
szBuff
,
256
);
p
StrFormatByteSize64A
(
result
->
value
,
szBuff
,
256
);
ok
(
!
strcmp
(
result
->
byte_size_64
,
szBuff
),
ok
(
!
strcmp
(
result
->
byte_size_64
,
szBuff
),
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
...
@@ -508,9 +523,15 @@ static void test_StrFormatKBSizeW(void)
...
@@ -508,9 +523,15 @@ static void test_StrFormatKBSizeW(void)
char
szBuff
[
256
];
char
szBuff
[
256
];
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
if
(
!
pStrFormatKBSizeW
)
{
skip
(
"StrFormatKBSizeW() is not available. Tests skipped
\n
"
);
return
;
}
while
(
result
->
value
)
while
(
result
->
value
)
{
{
StrFormatKBSizeW
(
result
->
value
,
szBuffW
,
256
);
p
StrFormatKBSizeW
(
result
->
value
,
szBuffW
,
256
);
WideCharToMultiByte
(
0
,
0
,
szBuffW
,
-
1
,
szBuff
,
sizeof
(
szBuff
)
/
sizeof
(
WCHAR
),
0
,
0
);
WideCharToMultiByte
(
0
,
0
,
szBuffW
,
-
1
,
szBuff
,
sizeof
(
szBuff
)
/
sizeof
(
WCHAR
),
0
,
0
);
ok
(
!
strcmp
(
result
->
kb_size
,
szBuff
),
ok
(
!
strcmp
(
result
->
kb_size
,
szBuff
),
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
...
@@ -524,9 +545,15 @@ static void test_StrFormatKBSizeA(void)
...
@@ -524,9 +545,15 @@ static void test_StrFormatKBSizeA(void)
char
szBuff
[
256
];
char
szBuff
[
256
];
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
const
StrFormatSizeResult
*
result
=
StrFormatSize_results
;
if
(
!
pStrFormatKBSizeA
)
{
skip
(
"StrFormatKBSizeA() is not available. Tests skipped
\n
"
);
return
;
}
while
(
result
->
value
)
while
(
result
->
value
)
{
{
StrFormatKBSizeA
(
result
->
value
,
szBuff
,
256
);
p
StrFormatKBSizeA
(
result
->
value
,
szBuff
,
256
);
ok
(
!
strcmp
(
result
->
kb_size
,
szBuff
),
ok
(
!
strcmp
(
result
->
kb_size
,
szBuff
),
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
"Formatted %x%08x wrong: got %s, expected %s
\n
"
,
...
@@ -794,42 +821,75 @@ static void test_StrXXX_overflows(void)
...
@@ -794,42 +821,75 @@ static void test_StrXXX_overflows(void)
expect_eq
(
StrCpyNA
(
buf
,
str1
,
10
),
buf
,
PCHAR
,
"%p"
);
expect_eq
(
StrCpyNA
(
buf
,
str1
,
10
),
buf
,
PCHAR
,
"%p"
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
'\xbf'
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
'\xbf'
,
CHAR
,
"%x"
);
expect_eq
(
StrCatBuffA
(
buf
,
str1
,
100
),
buf
,
PCHAR
,
"%p"
);
if
(
pStrCatBuffA
)
{
expect_eq
(
pStrCatBuffA
(
buf
,
str1
,
100
),
buf
,
PCHAR
,
"%p"
);
expect_eq
(
buf
[
99
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
99
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
100
],
'\xbf'
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
100
],
'\xbf'
,
CHAR
,
"%x"
);
}
else
skip
(
"StrCatBuffA() is not available. Tests skipped
\n
"
);
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
expect_eq
(
StrCpyNW
(
wbuf
,
wstr1
,
10
),
wbuf
,
PWCHAR
,
"%p"
);
expect_eq
(
StrCpyNW
(
wbuf
,
wstr1
,
10
),
wbuf
,
PWCHAR
,
"%p"
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
expect_eq
(
StrCatBuffW
(
wbuf
,
wstr1
,
100
),
wbuf
,
PWCHAR
,
"%p"
);
if
(
pStrCatBuffW
)
{
expect_eq
(
pStrCatBuffW
(
wbuf
,
wstr1
,
100
),
wbuf
,
PWCHAR
,
"%p"
);
expect_eq
(
wbuf
[
99
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
99
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
100
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
100
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
}
else
skip
(
"StrCatBuffW() is not available. Tests skipped
\n
"
);
if
(
pStrRetToBufW
)
{
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
strret
.
uType
=
STRRET_WSTR
;
strret
.
uType
=
STRRET_WSTR
;
U
(
strret
).
pOleStr
=
StrDupW
(
wstr1
);
U
(
strret
).
pOleStr
=
StrDupW
(
wstr1
);
expect_eq
(
StrRetToBufW
(
&
strret
,
NULL
,
wbuf
,
10
),
S_OK
,
HRESULT
,
"%x"
);
expect_eq
(
p
StrRetToBufW
(
&
strret
,
NULL
,
wbuf
,
10
),
S_OK
,
HRESULT
,
"%x"
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
}
else
skip
(
"StrRetToBufW() is not available. Tests skipped
\n
"
);
if
(
pStrRetToBufA
)
{
memset
(
buf
,
0xbf
,
sizeof
(
buf
));
memset
(
buf
,
0xbf
,
sizeof
(
buf
));
strret
.
uType
=
STRRET_CSTR
;
strret
.
uType
=
STRRET_CSTR
;
StrCpyN
(
U
(
strret
).
cStr
,
str1
,
MAX_PATH
);
StrCpyN
(
U
(
strret
).
cStr
,
str1
,
MAX_PATH
);
expect_eq
(
StrRetToBufA
(
&
strret
,
NULL
,
buf
,
10
),
S_OK
,
HRESULT
,
"%x"
);
expect_eq
(
p
StrRetToBufA
(
&
strret
,
NULL
,
buf
,
10
),
S_OK
,
HRESULT
,
"%x"
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
(
CHAR
)
0xbf
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
(
CHAR
)
0xbf
,
CHAR
,
"%x"
);
}
else
skip
(
"StrRetToBufA() is not available. Tests skipped
\n
"
);
if
(
pwnsprintfA
)
{
memset
(
buf
,
0xbf
,
sizeof
(
buf
));
memset
(
buf
,
0xbf
,
sizeof
(
buf
));
ret
=
wnsprintfA
(
buf
,
10
,
"%s"
,
str1
);
ret
=
p
wnsprintfA
(
buf
,
10
,
"%s"
,
str1
);
todo_wine
ok
(
ret
==
9
,
"Unexpected wsnprintfA return %d, expected 9
\n
"
,
ret
);
todo_wine
ok
(
ret
==
9
,
"Unexpected wsnprintfA return %d, expected 9
\n
"
,
ret
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
9
],
0
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
(
CHAR
)
0xbf
,
CHAR
,
"%x"
);
expect_eq
(
buf
[
10
],
(
CHAR
)
0xbf
,
CHAR
,
"%x"
);
}
else
skip
(
"wnsprintfA() is not available. Tests skipped
\n
"
);
if
(
pwnsprintfW
)
{
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
memset
(
wbuf
,
0xbf
,
sizeof
(
wbuf
));
ret
=
wnsprintfW
(
wbuf
,
10
,
fmt
,
wstr1
);
ret
=
p
wnsprintfW
(
wbuf
,
10
,
fmt
,
wstr1
);
todo_wine
ok
(
ret
==
9
,
"Unexpected wsnprintfW return %d, expected 9
\n
"
,
ret
);
todo_wine
ok
(
ret
==
9
,
"Unexpected wsnprintfW return %d, expected 9
\n
"
,
ret
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
9
],
0
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
expect_eq
(
wbuf
[
10
],
(
WCHAR
)
0xbfbf
,
WCHAR
,
"%x"
);
}
else
skip
(
"wnsprintfW() is not available. Tests skipped
\n
"
);
}
}
START_TEST
(
string
)
START_TEST
(
string
)
...
@@ -847,11 +907,20 @@ START_TEST(string)
...
@@ -847,11 +907,20 @@ START_TEST(string)
pIntlStrEqWorkerW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"IntlStrEqWorkerW"
);
pIntlStrEqWorkerW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"IntlStrEqWorkerW"
);
pSHAnsiToAnsi
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
345
);
pSHAnsiToAnsi
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
345
);
pSHUnicodeToUnicode
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
346
);
pSHUnicodeToUnicode
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
346
);
pStrCatBuffA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrCatBuffA"
);
pStrCatBuffW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrCatBuffW"
);
pStrCpyNXA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
399
);
pStrCpyNXA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
399
);
pStrCpyNXW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
400
);
pStrCpyNXW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
(
LPSTR
)
400
);
pStrFormatByteSize64A
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrFormatByteSize64A"
);
pStrFormatKBSizeA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrFormatKBSizeA"
);
pStrFormatKBSizeW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrFormatKBSizeW"
);
pStrIsIntlEqualA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrIsIntlEqualA"
);
pStrIsIntlEqualA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrIsIntlEqualA"
);
pStrIsIntlEqualW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrIsIntlEqualW"
);
pStrIsIntlEqualW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrIsIntlEqualW"
);
pStrRetToBSTR
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrRetToBSTR"
);
pStrRetToBSTR
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrRetToBSTR"
);
pStrRetToBufA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrRetToBufA"
);
pStrRetToBufW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"StrRetToBufW"
);
pwnsprintfA
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"wnsprintfA"
);
pwnsprintfW
=
(
void
*
)
GetProcAddress
(
hShlwapi
,
"wnsprintfW"
);
test_StrChrA
();
test_StrChrA
();
test_StrChrW
();
test_StrChrW
();
...
...
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