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
9816ec85
Commit
9816ec85
authored
Aug 18, 2010
by
Thomas Mullaly
Committed by
Alexandre Julliard
Aug 19, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
urlmon/tests: Added tests for IUriBuilder_GetFragment.
parent
a88421cc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
148 additions
and
0 deletions
+148
-0
uri.c
dlls/urlmon/tests/uri.c
+135
-0
uri.c
dlls/urlmon/uri.c
+13
-0
No files found.
dlls/urlmon/tests/uri.c
View file @
9816ec85
...
...
@@ -5314,6 +5314,135 @@ static void test_IUriBuilder_CreateInvalidArgs(void) {
if
(
builder
)
IUriBuilder_Release
(
builder
);
}
/* Tests invalid args to the "Get*" functions. */
static
void
test_IUriBuilder_GetInvalidArgs
(
void
)
{
IUriBuilder
*
builder
=
NULL
;
HRESULT
hr
;
hr
=
pCreateIUriBuilder
(
NULL
,
0
,
0
,
&
builder
);
ok
(
hr
==
S_OK
,
"Error: CreateIUriBuilder returned 0x%08x, expected 0x%08x.
\n
"
,
hr
,
S_OK
);
if
(
SUCCEEDED
(
hr
))
{
LPCWSTR
received
=
(
void
*
)
0xdeadbeef
;
DWORD
len
=
-
1
;
hr
=
IUriBuilder_GetFragment
(
builder
,
NULL
,
NULL
);
ok
(
hr
==
E_POINTER
,
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x.
\n
"
,
hr
,
E_POINTER
);
hr
=
IUriBuilder_GetFragment
(
builder
,
NULL
,
&
received
);
ok
(
hr
==
E_POINTER
,
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x.
\n
"
,
hr
,
E_POINTER
);
ok
(
!
received
,
"Error: Expected received to be NULL, but was %p instead.
\n
"
,
received
);
hr
=
IUriBuilder_GetFragment
(
builder
,
&
len
,
NULL
);
ok
(
hr
==
E_POINTER
,
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x.
\n
"
,
hr
,
E_POINTER
);
ok
(
!
len
,
"Error: Expected len to be 0, but was %d instead.
\n
"
,
len
);
}
if
(
builder
)
IUriBuilder_Release
(
builder
);
}
static
void
test_IUriBuilder_GetFragment
(
IUriBuilder
*
builder
,
const
uri_builder_test
*
test
,
DWORD
test_index
)
{
HRESULT
hr
;
DWORD
i
;
LPCWSTR
received
=
NULL
;
DWORD
len
=
-
1
;
const
uri_builder_property
*
prop
=
NULL
;
/* Check if the property was set earlier. */
for
(
i
=
0
;
i
<
sizeof
(
test
->
properties
)
/
sizeof
(
test
->
properties
[
0
]);
++
i
)
{
if
(
test
->
properties
[
i
].
change
&&
test
->
properties
[
i
].
property
==
Uri_PROPERTY_FRAGMENT
)
prop
=
&
(
test
->
properties
[
i
]);
}
if
(
prop
)
{
/* Use expected_value unless it's NULL, then use value. */
LPCSTR
expected
=
prop
->
expected_value
?
prop
->
expected_value
:
prop
->
value
;
hr
=
IUriBuilder_GetFragment
(
builder
,
&
len
,
&
received
);
if
(
prop
->
todo
)
{
todo_wine
{
ok
(
hr
==
(
expected
?
S_OK
:
S_FALSE
),
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x on uri_builder_tests[%d].
\n
"
,
hr
,
(
expected
?
S_OK
:
S_FALSE
),
test_index
);
}
todo_wine
{
ok
(
!
strcmp_aw
(
expected
,
received
),
"Error: Expected %s but got %s on uri_builder_tests[%d].
\n
"
,
expected
,
wine_dbgstr_w
(
received
),
test_index
);
}
todo_wine
{
ok
(
lstrlen
(
expected
)
==
len
,
"Error: Expected the length to be %d, but was %d instead on uri_builder_tests[%d].
\n
"
,
lstrlen
(
expected
),
len
,
test_index
);
}
}
else
{
ok
(
hr
==
(
expected
?
S_OK
:
S_FALSE
),
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x on uri_builder_tests[%d].
\n
"
,
hr
,
(
expected
?
S_OK
:
S_FALSE
),
test_index
);
ok
(
!
strcmp_aw
(
expected
,
received
),
"Error: Expected %s but got %s on uri_builder_tests[%d].
\n
"
,
expected
,
wine_dbgstr_w
(
received
),
test_index
);
ok
(
lstrlen
(
expected
)
==
len
,
"Error: Expected the length to be %d, but was %d instead on uri_builder_tests[%d].
\n
"
,
lstrlen
(
expected
),
len
,
test_index
);
}
}
else
{
/* The property wasn't set earlier, so it should return whatever
* the base IUri contains (if anything).
*/
IUri
*
uri
=
NULL
;
hr
=
IUriBuilder_GetIUri
(
builder
,
&
uri
);
todo_wine
{
ok
(
hr
==
S_OK
,
"Error: IUriBuilder_GetIUri returned 0x%08x, expected 0x%08x on uri_builder_tests[%d].
\n
"
,
hr
,
S_OK
,
test_index
);
}
if
(
SUCCEEDED
(
hr
))
{
BOOL
has_prop
=
FALSE
;
BSTR
expected
=
NULL
;
hr
=
IUri_GetFragment
(
uri
,
&
expected
);
ok
(
SUCCEEDED
(
hr
),
"Error: Expected IUri_GetFragment to succeed, but got 0x%08x instead on uri_builder_tests[%d].
\n
"
,
hr
,
test_index
);
has_prop
=
hr
==
S_OK
;
hr
=
IUriBuilder_GetFragment
(
builder
,
&
len
,
&
received
);
if
(
has_prop
)
{
todo_wine
{
ok
(
hr
==
S_OK
,
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x on uri_builder_tests[%d].
\n
"
,
hr
,
S_OK
,
test_index
);
}
if
(
SUCCEEDED
(
hr
))
{
todo_wine
{
ok
(
!
lstrcmpW
(
expected
,
received
),
"Error: Expected %s but got %s instead on uri_builder_tests[%d].
\n
"
,
wine_dbgstr_w
(
expected
),
wine_dbgstr_w
(
received
),
test_index
);
}
todo_wine
{
ok
(
lstrlenW
(
expected
)
==
len
,
"Error: Expected the length to be %d, but was %d instead on uri_builder_tests[%d].
\n
"
,
lstrlenW
(
expected
),
len
,
test_index
);
}
}
}
else
{
todo_wine
{
ok
(
hr
==
S_FALSE
,
"Error: IUriBuilder_GetFragment returned 0x%08x, expected 0x%08x on uri_builder_tests[%d].
\n
"
,
hr
,
S_FALSE
,
test_index
);
}
todo_wine
{
ok
(
!
received
,
"Error: Expected received to be NULL on uri_builder_tests[%d].
\n
"
,
test_index
);
}
todo_wine
{
ok
(
!
len
,
"Error: Expected the length to be 0, but was %d instead on uri_builder_tests[%d].
\n
"
,
len
,
test_index
);
}
}
SysFreeString
(
expected
);
}
if
(
uri
)
IUri_Release
(
uri
);
}
}
/* Tests IUriBuilder functions. */
static
void
test_IUriBuilder
(
void
)
{
HRESULT
hr
;
...
...
@@ -5367,6 +5496,9 @@ static void test_IUriBuilder(void) {
}
}
/* Test the "Get*" functions. */
test_IUriBuilder_GetFragment
(
builder
,
&
test
,
i
);
test_IUriBuilder_CreateUri
(
builder
,
&
test
,
i
);
test_IUriBuilder_CreateUriSimple
(
builder
,
&
test
,
i
);
test_IUriBuilder_CreateUriWithFlags
(
builder
,
&
test
,
i
);
...
...
@@ -5440,4 +5572,7 @@ START_TEST(uri) {
trace
(
"test IUriBuilder...
\n
"
);
test_IUriBuilder
();
trace
(
"test IUriBuilder_GetInvalidArgs...
\n
"
);
test_IUriBuilder_GetInvalidArgs
();
}
dlls/urlmon/uri.c
View file @
9816ec85
...
...
@@ -4195,6 +4195,19 @@ static HRESULT WINAPI UriBuilder_SetIUri(IUriBuilder *iface, IUri *pIUri)
static
HRESULT
WINAPI
UriBuilder_GetFragment
(
IUriBuilder
*
iface
,
DWORD
*
pcchFragment
,
LPCWSTR
*
ppwzFragment
)
{
UriBuilder
*
This
=
URIBUILDER_THIS
(
iface
);
TRACE
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchFragment
,
ppwzFragment
);
if
(
!
pcchFragment
)
{
if
(
ppwzFragment
)
*
ppwzFragment
=
NULL
;
return
E_POINTER
;
}
if
(
!
ppwzFragment
)
{
*
pcchFragment
=
0
;
return
E_POINTER
;
}
FIXME
(
"(%p)->(%p %p)
\n
"
,
This
,
pcchFragment
,
ppwzFragment
);
return
E_NOTIMPL
;
}
...
...
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