From 82b2a83337c53f2bde270a2e04d8c2214d066829 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 8 Jul 2008 20:57:16 +0200 Subject: [PATCH] msxml3: Added test of files generated by IXMLDOMDocument_save. --- dlls/msxml3/tests/domdoc.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 997d31c9a21..120ada551eb 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -3263,6 +3263,54 @@ static void test_DocumentSaveToDocument(void) IXMLDOMDocument_Release(doc); } +static void test_DocumentSaveToFile(void) +{ + IXMLDOMDocument *doc = NULL; + IXMLDOMElement *pRoot; + HANDLE file; + char buffer[100]; + DWORD read = 0; + HRESULT hr; + + hr = CoCreateInstance( &CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (LPVOID*)&doc ); + if( hr != S_OK ) + return; + + hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &pRoot); + ok(hr == S_OK, "ret %08x\n", hr ); + if(hr == S_OK) + { + hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)pRoot, NULL); + ok(hr == S_OK, "ret %08x\n", hr ); + if(hr == S_OK) + { + VARIANT vFile; + + V_VT(&vFile) = VT_BSTR; + V_BSTR(&vFile) = _bstr_("test.xml"); + + hr = IXMLDOMDocument_save(doc, vFile); + ok(hr == S_OK, "ret %08x\n", hr ); + } + } + + IXMLDOMElement_Release(pRoot); + IXMLDOMDocument_Release(doc); + + file = CreateFile("test.xml", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); + ok(file != INVALID_HANDLE_VALUE, "Could not open file: %u\n", GetLastError()); + if(file == INVALID_HANDLE_VALUE) + return; + + ReadFile(file, buffer, sizeof(buffer), &read, NULL); + ok(read != 0, "could not read file\n"); + todo_wine { + ok(buffer[0] != '<' || buffer[1] != '?', "File contains processing instruction\n"); + } + + DeleteFile("test.xml"); +} + static void test_testTransforms(void) { IXMLDOMDocument *doc = NULL; @@ -3389,6 +3437,7 @@ START_TEST(domdoc) test_xmlTypes(); test_nodeTypeTests(); test_DocumentSaveToDocument(); + test_DocumentSaveToFile(); test_testTransforms(); test_Namespaces(); -- 2.11.4.GIT