From cwittich@svn.reactos.org Sat Aug 22 17:18:26 2009 From: cwittich@svn.reactos.org To: ros-diffs@reactos.org Subject: [ros-diffs] [cwittich] 42848: sync msxml3 winetest with wine 1.1.28 Date: Sat, 22 Aug 2009 15:18:26 +0000 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============3968139801536770895==" --===============3968139801536770895== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: cwittich Date: Sat Aug 22 17:18:26 2009 New Revision: 42848 URL: http://svn.reactos.org/svn/reactos?rev=3D42848&view=3Drev Log: sync msxml3 winetest with wine 1.1.28 Modified: trunk/rostests/winetests/msxml3/domdoc.c trunk/rostests/winetests/msxml3/saxreader.c Modified: trunk/rostests/winetests/msxml3/domdoc.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/msxml3/domdo= c.c?rev=3D42848&r1=3D42847&r2=3D42848&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/rostests/winetests/msxml3/domdoc.c [iso-8859-1] (original) +++ trunk/rostests/winetests/msxml3/domdoc.c [iso-8859-1] Sat Aug 22 17:18:26= 2009 @@ -150,6 +150,37 @@ "" "Wine"; =20 +static const CHAR szBasicTransformSSXMLPart1[] =3D +"" +"" +"\n" +"" +"" +" " +" " +" " +"
" +"
" +"" +" " +"" +"" +" " +"" +"" +" " +"" +"
"; + +static const CHAR szBasicTransformXML[] =3D +"Wine$25.00= "; + +static const CHAR szBasicTransformOutput[] =3D +"
Wine$25.00
"; + static const WCHAR szNonExistentFile[] =3D { 'c', ':', '\\', 'N', 'o', 'n', 'e', 'x', 'i', 's', 't', 'e', 'n', 't', '= .', 'x', 'm', 'l', 0 }; @@ -514,7 +545,11 @@ ok( r =3D=3D S_OK, "should be a document element\n"); if( element ) { + IObjectIdentity *ident; BSTR tag =3D NULL; + + r =3D IXMLDOMElement_QueryInterface( element, &IID_IObjectIdentity, = (LPVOID*)&ident ); + ok( r =3D=3D E_NOINTERFACE, "ret %08x\n", r); =20 /* check if the tag is correct */ r =3D IXMLDOMElement_get_tagName( element, &tag ); @@ -3945,6 +3980,98 @@ =20 IXMLDOMDocument2_Release(doc); =20 + free_bstrs(); +} + +static void test_TransformWithLoadingLocalFile(void) +{ + IXMLDOMDocument2 *doc =3D NULL; + IXMLDOMDocument2 *xsl =3D NULL; + IXMLDOMNode *pNode; + VARIANT_BOOL bSucc; + HRESULT hr; + HANDLE file; + DWORD dwWritten; + char lpPathBuffer[MAX_PATH]; + int i; + + /* Create a Temp File. */ + GetTempPathA(MAX_PATH, lpPathBuffer); + strcat(lpPathBuffer, "customers.xml" ); + + file =3D CreateFile(lpPathBuffer, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,= FILE_ATTRIBUTE_NORMAL, NULL ); + ok(file !=3D INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLas= tError()); + if(file =3D=3D INVALID_HANDLE_VALUE) + return; + + WriteFile(file, szBasicTransformXML, strlen(szBasicTransformXML), &dwWri= tten, NULL); + CloseHandle(file); + + /* Correct path to not include a escape character. */ + for(i=3D0; i < strlen(lpPathBuffer); i++) + { + if(lpPathBuffer[i] =3D=3D '\\') + lpPathBuffer[i] =3D '/'; + } + + hr =3D CoCreateInstance( &CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,= &IID_IXMLDOMDocument2, (LPVOID*)&doc ); + if( hr !=3D S_OK ) + return; + + hr =3D CoCreateInstance( &CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,= &IID_IXMLDOMDocument2, (LPVOID*)&xsl ); + if( hr !=3D S_OK ) + { + IXMLDOMDocument2_Release(doc); + return; + } + + hr =3D IXMLDOMDocument2_loadXML(doc, _bstr_(szTypeValueXML), &bSucc); + ok(hr =3D=3D S_OK, "ret %08x\n", hr ); + ok(bSucc =3D=3D VARIANT_TRUE, "Expected VARIANT_TRUE got VARIANT_FALSE\n= "); + if(bSucc =3D=3D VARIANT_TRUE) + { + BSTR sXSL; + BSTR sPart1 =3D _bstr_(szBasicTransformSSXMLPart1); + BSTR sPart2 =3D _bstr_(szBasicTransformSSXMLPart2); + BSTR sFileName =3D _bstr_(lpPathBuffer); + int nLegnth =3D lstrlenW(sPart1) + lstrlenW(sPart2) + lstrlenW(sFile= Name) + 1; + + sXSL =3D SysAllocStringLen(NULL, nLegnth); + lstrcpyW(sXSL, sPart1); + lstrcatW(sXSL, sFileName); + lstrcatW(sXSL, sPart2); + + hr =3D IXMLDOMDocument2_loadXML(xsl, sXSL, &bSucc); + ok(hr =3D=3D S_OK, "ret %08x\n", hr ); + ok(bSucc =3D=3D VARIANT_TRUE, "Expected VARIANT_TRUE got VARIANT_FAL= SE\n"); + if(bSucc =3D=3D VARIANT_TRUE) + { + BSTR sResult; + + hr =3D IXMLDOMDocument_QueryInterface(xsl, &IID_IXMLDOMNode, (LP= VOID*)&pNode ); + ok(hr =3D=3D S_OK, "ret %08x\n", hr ); + if(hr =3D=3D S_OK) + { + /* This will load the temp file via the XSL */ + hr =3D IXMLDOMDocument2_transformNode(doc, pNode, &sResult); + ok(hr =3D=3D S_OK, "ret %08x\n", hr ); + if(hr =3D=3D S_OK) + { + ok( compareIgnoreReturns( sResult, _bstr_(szBasicTransfo= rmOutput)), "Stylesheet output not correct\n"); + SysFreeString(sResult); + } + + IXMLDOMNode_Release(pNode); + } + } + + SysFreeString(sXSL); + } + + IXMLDOMDocument2_Release(doc); + IXMLDOMDocument2_Release(xsl); + + DeleteFile(lpPathBuffer); free_bstrs(); } =20 @@ -3977,6 +4104,7 @@ test_Namespaces(); test_FormattingXML(); test_NodeTypeValue(); + test_TransformWithLoadingLocalFile(); =20 CoUninitialize(); } Modified: trunk/rostests/winetests/msxml3/saxreader.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/msxml3/saxre= ader.c?rev=3D42848&r1=3D42847&r2=3D42848&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- trunk/rostests/winetests/msxml3/saxreader.c [iso-8859-1] (original) +++ trunk/rostests/winetests/msxml3/saxreader.c [iso-8859-1] Sat Aug 22 17:18= :26 2009 @@ -117,13 +117,6 @@ static content_handler_test *expectCall; static ISAXLocator *locator; =20 -static const char *debugstr_wn(const WCHAR *szStr, int len) -{ - static char buf[1024]; - WideCharToMultiByte(CP_ACP, 0, szStr, len, buf, sizeof(buf), NULL, NULL); - return buf; -} - static void test_saxstr(unsigned line, const WCHAR *szStr, int nStr, const c= har *szTest) { WCHAR buf[1024]; @@ -142,7 +135,7 @@ =20 MultiByteToWideChar(CP_ACP, 0, szTest, -1, buf, sizeof(buf)/sizeof(WCHAR= )); ok_(__FILE__,line) (!memcmp(szStr, buf, len*sizeof(WCHAR)), "unexpected = szStr %s, expected %s\n", - debugstr_wn(szStr, nStr), szTest); + wine_dbgstr_wn(szStr, nStr), szTest); } =20 static BOOL test_expect_call(CH id) --===============3968139801536770895==--