Module: wine Branch: master Commit: 2656f73817d8eb72f57d8b4f2db170f49fa299f8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=2656f73817d8eb72f57d8b4f2d...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Thu Mar 16 14:12:29 2017 +0300
msxml3/tests: A bit more tests for IPersist* interfaces.
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msxml3/tests/domdoc.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index f6e33d3..611d48e 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -1839,12 +1839,15 @@ if (0) free_bstrs(); }
-static void test_persiststreaminit(void) +static void test_persiststream(void) { - IXMLDOMDocument *doc; IPersistStreamInit *streaminit; + IPersistStream *stream; + IXMLDOMDocument *doc; ULARGE_INTEGER size; + IPersist *persist; HRESULT hr; + CLSID clsid;
doc = create_document(&IID_IXMLDOMDocument);
@@ -1857,6 +1860,26 @@ static void test_persiststreaminit(void) hr = IPersistStreamInit_GetSizeMax(streaminit, &size); ok(hr == E_NOTIMPL, "got 0x%08x\n", hr);
+ hr = IXMLDOMDocument_QueryInterface(doc, &IID_IPersistStream, (void **)&stream); + ok(hr == S_OK, "got 0x%08x\n", hr); + ok((IUnknown *)stream == (IUnknown *)streaminit, "got %p, %p\n", stream, streaminit); + + hr = IPersistStream_QueryInterface(stream, &IID_IPersist, (void **)&persist); + ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr); + + hr = IXMLDOMDocument_QueryInterface(doc, &IID_IPersist, (void **)&persist); + ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr); + + hr = IPersistStreamInit_GetClassID(streaminit, NULL); + ok(hr == E_POINTER, "got 0x%08x\n", hr); + + memset(&clsid, 0, sizeof(clsid)); + hr = IPersistStreamInit_GetClassID(streaminit, &clsid); + ok(hr == S_OK, "got 0x%08x\n", hr); + ok(IsEqualGUID(&clsid, &CLSID_DOMDocument2), "wrong clsid %s\n", wine_dbgstr_guid(&clsid)); + + IPersistStream_Release(stream); + IPersistStreamInit_Release(streaminit); IXMLDOMDocument_Release(doc); }
@@ -12189,7 +12212,7 @@ START_TEST(domdoc) }
test_domdoc(); - test_persiststreaminit(); + test_persiststream(); test_domnode(); test_refs(); test_create();