Piotr Caban : urlmon/tests: Added Uri IMarshal_UnmarshalInterface tests.

Alexandre Julliard julliard at winehq.org
Mon Jan 16 13:01:33 CST 2012


Module: wine
Branch: master
Commit: c1fb15d1f8dab0d9ec2233ab8683c71ef4a96ea5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c1fb15d1f8dab0d9ec2233ab8683c71ef4a96ea5

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Jan 16 15:13:32 2012 +0100

urlmon/tests: Added Uri IMarshal_UnmarshalInterface tests.

---

 dlls/urlmon/tests/uri.c |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/dlls/urlmon/tests/uri.c b/dlls/urlmon/tests/uri.c
index 4f1db15..9a27e59 100644
--- a/dlls/urlmon/tests/uri.c
+++ b/dlls/urlmon/tests/uri.c
@@ -10871,6 +10871,26 @@ static void test_IPersistStream(void)
             U(max_size).LowPart += 3*sizeof(DWORD);
         ok(dw_data[2] == U(max_size).LowPart, "%d) Incorrect value %d, expected %d (PersistStream size).\n",
                 i, dw_data[2], U(max_size).LowPart);
+        IMarshal_Release(marshal);
+        IUri_Release(uri);
+
+        hr = IStream_Seek(stream, no_off, STREAM_SEEK_SET, NULL);
+        ok(hr == S_OK, "%d) Seek failed 0x%08x, expected S_OK.\n", i, hr);
+        hr = CoCreateInstance(&curi, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
+                &IID_IUri, (void**)&uri);
+        ok(hr == S_OK, "%d) Error creating uninitialized Uri: 0x%08x.\n", i, hr);
+        hr = IUri_QueryInterface(uri, &IID_IMarshal, (void**)&marshal);
+        ok(hr == S_OK, "%d) QueryInterface failed 0x%08x, expected S_OK.\n", i, hr);
+        hr = IMarshal_UnmarshalInterface(marshal, stream, &IID_IUri, (void**)&uri);
+        ok(hr == S_OK, "%d) UnmarshalInterface failed 0x%08x, expected S_OK.\n", i, hr);
+        hr = IUri_GetRawUri(uri, &raw_uri);
+        ok(hr == S_OK, "%d) GetRawUri failed 0x%08x, expected S_OK.\n", i, hr);
+        ok(!strcmp_aw(test->str_props[Uri_PROPERTY_RAW_URI].value, raw_uri)
+                || broken(test->str_props[Uri_PROPERTY_RAW_URI].broken_value
+                    && !strcmp_aw(test->str_props[Uri_PROPERTY_RAW_URI].broken_value, raw_uri)),
+                "%d) Expected %s but got %s.\n", i, test->str_props[Uri_PROPERTY_RAW_URI].value,
+                wine_dbgstr_w(raw_uri));
+        SysFreeString(raw_uri);
 
         IMarshal_Release(marshal);
         IStream_Release(stream);




More information about the wine-cvs mailing list