Module: wine Branch: master Commit: 3b383e2175f66a8b095dc3981633b604550cb6c1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3b383e2175f66a8b095dc39816...
Author: Thomas Mullaly thomas.mullaly@gmail.com Date: Sun Aug 22 15:26:31 2010 -0400
urlmon/tests: Added tests for IUriBuilder's IUri property.
---
dlls/urlmon/tests/uri.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/urlmon/uri.c | 5 +++++ 2 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c index bff36a3..6bb05b7 100644 --- a/dlls/urlmon/tests/uri.c +++ b/dlls/urlmon/tests/uri.c @@ -6409,6 +6409,49 @@ static void test_IUriBuilder_HasBeenModified(void) { if(builder) IUriBuilder_Release(builder); }
+/* Test IUriBuilder {Get,Set}IUri functions. */ +static void test_IUriBuilder_IUriProperty(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)) { + IUri *uri = NULL; + + hr = IUriBuilder_GetIUri(builder, NULL); + ok(hr == E_POINTER, "Error: IUriBuilder_GetIUri returned 0x%08x, expected 0x%08x.\n", + hr, E_POINTER); + + hr = pCreateUri(http_urlW, 0, 0, &uri); + if(SUCCEEDED(hr)) { + ULONG cur_count, orig_count; + + /* IUriBuilder doesn't clone the IUri, it use the same IUri. */ + orig_count = get_refcnt(uri); + hr = IUriBuilder_SetIUri(builder, uri); + cur_count = get_refcnt(uri); + if(SUCCEEDED(hr)) { + todo_wine { + ok(cur_count == orig_count+1, "Error: Expected uri ref count to be %d, but was %d instead.\n", + orig_count+1, cur_count); + } + } + + hr = IUriBuilder_SetIUri(builder, NULL); + cur_count = get_refcnt(uri); + if(SUCCEEDED(hr)) { + todo_wine { + ok(cur_count == orig_count, "Error: Expected uri ref count to be %d, but was %d instead.\n", + orig_count, cur_count); + } + } + } + if(uri) IUri_Release(uri); + } + if(builder) IUriBuilder_Release(builder); +} + START_TEST(uri) { HMODULE hurlmon;
@@ -6478,4 +6521,7 @@ START_TEST(uri) {
trace("test IUriBuilder_HasBeenModified...\n"); test_IUriBuilder_HasBeenModified(); + + trace("test IUriBuilder_IUriProperty...\n"); + test_IUriBuilder_IUriProperty(); } diff --git a/dlls/urlmon/uri.c b/dlls/urlmon/uri.c index 64a7ef1..4a13f33 100644 --- a/dlls/urlmon/uri.c +++ b/dlls/urlmon/uri.c @@ -4181,6 +4181,11 @@ static HRESULT WINAPI UriBuilder_CreateUriWithFlags(IUriBuilder *iface, static HRESULT WINAPI UriBuilder_GetIUri(IUriBuilder *iface, IUri **ppIUri) { UriBuilder *This = URIBUILDER_THIS(iface); + TRACE("(%p)->(%p)\n", This, ppIUri); + + if(!ppIUri) + return E_POINTER; + FIXME("(%p)->(%p)\n", This, ppIUri); return E_NOTIMPL; }