Module: wine Branch: master Commit: 68963c9fd093bea830b59630e307d243aaec4669 URL: http://source.winehq.org/git/wine.git/?a=commit;h=68963c9fd093bea830b59630e3...
Author: Piotr Caban piotr.caban@gmail.com Date: Wed Jul 23 16:39:43 2008 +0200
msxml3/tests: Add test for parsing document with '\r' characters.
---
dlls/msxml3/tests/saxreader.c | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c index 9c71033..dd69e0f 100644 --- a/dlls/msxml3/tests/saxreader.c +++ b/dlls/msxml3/tests/saxreader.c @@ -52,7 +52,15 @@ static const WCHAR szSimpleXML[] = { '<','/','B','a','n','k','A','c','c','o','u','n','t','>','\n','\0' };
-static CHAR szTestXML[] = +static const WCHAR szCarriageRetTest[] = { +'<','?','x','m','l',' ','v','e','r','s','i','o','n','=','"','1','.','0','"','?','>','\r','\n', +'<','B','a','n','k','A','c','c','o','u','n','t','>','\r','\n', +'\t','<','N','u','m','b','e','r','>','1','2','3','4','<','/','N','u','m','b','e','r','>','\r','\n', +'\t','<','N','a','m','e','>','C','a','p','t','a','i','n',' ','A','h','a','b','<','/','N','a','m','e','>','\r','\n', +'<','/','B','a','n','k','A','c','c','o','u','n','t','>','\0' +}; + +static const CHAR szTestXML[] = "<?xml version=\"1.0\" ?>\n" "<BankAccount>\n" " <Number>1234</Number>\n" @@ -86,6 +94,26 @@ static content_handler_test contentHandlerTest1[] = { { CH_ENDTEST } };
+static content_handler_test contentHandlerTest2[] = { + { CH_PUTDOCUMENTLOCATOR, 0, 0 }, + { CH_STARTDOCUMENT, 0, 0 }, + { CH_STARTELEMENT, 2, 14, "", "BankAccount", "BankAccount" }, + { CH_CHARACTERS, 2, 14, "\n" }, + { CH_CHARACTERS, 2, 16, "\t" }, + { CH_STARTELEMENT, 3, 10, "", "Number", "Number" }, + { CH_CHARACTERS, 3, 10, "1234" }, + { CH_ENDELEMENT, 3, 16, "", "Number", "Number" }, + { CH_CHARACTERS, 3, 23, "\n" }, + { CH_CHARACTERS, 3, 25, "\t" }, + { CH_STARTELEMENT, 4, 8, "", "Name", "Name" }, + { CH_CHARACTERS, 4, 8, "Captain Ahab" }, + { CH_ENDELEMENT, 4, 22, "", "Name", "Name" }, + { CH_CHARACTERS, 4, 27, "\n" }, + { CH_ENDELEMENT, 5, 3, "", "BankAccount", "BankAccount" }, + { CH_ENDDOCUMENT, 0, 0 }, + { CH_ENDTEST } +}; + static content_handler_test *expectCall; static ISAXLocator *locator;
@@ -525,6 +553,14 @@ static void test_saxreader(void)
IStream_Release(iStream);
+ V_VT(&var) = VT_BSTR; + V_BSTR(&var) = SysAllocString(szCarriageRetTest); + + expectCall = contentHandlerTest2; + hr = ISAXXMLReader_parse(reader, var); + ok(hr == S_OK, "Expected S_OK, got %08x\n", hr); + test_expect_call(CH_ENDTEST); + ISAXXMLReader_Release(reader); }