Module: wine Branch: master Commit: 0a8b28401086a4bfc9f20ce869ac9777829a8cc1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0a8b28401086a4bfc9f20ce869...
Author: Piotr Caban piotr.caban@gmail.com Date: Sat Jul 19 22:32:26 2008 +0200
msxml3/tests: Added test for ISAXXMLReader_parse with SafeArray as argument.
---
dlls/msxml3/tests/saxreader.c | 26 ++++++++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c index 3bb7983..26f232b 100644 --- a/dlls/msxml3/tests/saxreader.c +++ b/dlls/msxml3/tests/saxreader.c @@ -52,6 +52,13 @@ static const WCHAR szSimpleXML[] = { '<','/','B','a','n','k','A','c','c','o','u','n','t','>','\n','\0' };
+static CHAR szTestXML[] = +"<?xml version=\"1.0\" ?>\n" +"<BankAccount>\n" +" <Number>1234</Number>\n" +" <Name>Captain Ahab</Name>\n" +"</BankAccount>\n"; + typedef struct _contenthandlercheck { CH id; int line; @@ -434,6 +441,9 @@ static void test_saxreader(void) VARIANT var; ISAXContentHandler *lpContentHandler; ISAXErrorHandler *lpErrorHandler; + SAFEARRAY *pSA; + SAFEARRAYBOUND SADim[1]; + char *pSAData = NULL;
hr = CoCreateInstance(&CLSID_SAXXMLReader, NULL, CLSCTX_INPROC_SERVER, &IID_ISAXXMLReader, (LPVOID*)&reader); @@ -479,6 +489,22 @@ static void test_saxreader(void) ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); test_expect_call(CH_ENDTEST);
+ SADim[0].lLbound= 0; + SADim[0].cElements= sizeof(szTestXML)-1; + pSA = SafeArrayCreate(VT_UI1, 1, SADim); + SafeArrayAccessData(pSA, (void**)&pSAData); + memcpy(pSAData, szTestXML, sizeof(szTestXML)-1); + SafeArrayUnaccessData(pSA); + V_VT(&var) = VT_ARRAY|VT_UI1; + V_ARRAY(&var) = pSA; + + expectCall = contentHandlerTest1; + hr = ISAXXMLReader_parse(reader, var); + ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); + test_expect_call(CH_ENDTEST); + + SafeArrayDestroy(pSA); + ISAXXMLReader_Release(reader); }