diff options
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport4.cxx | 7 | ||||
-rw-r--r-- | test/source/xmltesttools.cxx | 23 |
2 files changed, 21 insertions, 9 deletions
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx index c953ad1200a8..e3043e6bda7e 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx @@ -589,12 +589,7 @@ DECLARE_OOXMLEXPORT_TEST(testDateControl, "date-control.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:sdt/w:sdtPr/w:date", "fullDate", "2014-03-05T00:00:00Z"); assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:sdt/w:sdtPr/w:date/w:dateFormat", "val", "dddd, dd' de 'MMMM' de 'yyyy"); assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:sdt/w:sdtPr/w:date/w:lid", "val", "es-ES"); - static sal_Unicode const Broken[] = { - 'm', 'i', static_cast<sal_Unicode>('\xC3'), - static_cast<sal_Unicode>('\xA9'), 'r', 'c', 'o', 'l', 'e', 's', ',', - ' ', '0', '5', ' ', 'd', 'e', ' ', 'm', 'a', 'r', 'z', 'o', ' ', 'd', - 'e', ' ', '2', '0', '1', '4' }; - assertXPathContent(pXmlDoc, "/w:document/w:body/w:p/w:sdt/w:sdtContent/w:r/w:t", OUString(Broken, SAL_N_ELEMENTS(Broken))); + assertXPathContent(pXmlDoc, "/w:document/w:body/w:p/w:sdt/w:sdtContent/w:r/w:t", OUString::fromUtf8("mi\xC3\xA9rcoles, 05 de marzo de 2014")); // check imported control uno::Reference<drawing::XControlShape> xControl(getShape(1), uno::UNO_QUERY); diff --git a/test/source/xmltesttools.cxx b/test/source/xmltesttools.cxx index 32908a068699..4694570226b6 100644 --- a/test/source/xmltesttools.cxx +++ b/test/source/xmltesttools.cxx @@ -11,6 +11,23 @@ #include <boost/scoped_array.hpp> +namespace { + +OUString convert(xmlChar const * string) { + OUString s; + CPPUNIT_ASSERT_MESSAGE( + "xmlChar string is not UTF-8", + rtl_convertStringToUString( + &s.pData, reinterpret_cast<char const *>(string), xmlStrlen(string), + RTL_TEXTENCODING_UTF8, + (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR + | RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR + | RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR))); + return s; +} + +} + XmlTestTools::XmlTestTools() {} @@ -55,7 +72,7 @@ OUString XmlTestTools::getXPath(xmlDocPtr pXmlDoc, const OString& rXPath, const return OUString(); xmlNodePtr pXmlNode = pXmlNodes->nodeTab[0]; xmlChar * prop = xmlGetProp(pXmlNode, BAD_CAST(rAttribute.getStr())); - OUString s(OUString::createFromAscii((const char*)prop)); + OUString s(convert(prop)); xmlFree(prop); xmlXPathFreeObject(pXmlObj); return s; @@ -70,7 +87,7 @@ OUString XmlTestTools::getXPathContent(xmlDocPtr pXmlDoc, const OString& rXPath) xmlXPathNodeSetGetLength(pXmlNodes) > 0); xmlNodePtr pXmlNode = pXmlNodes->nodeTab[0]; - OUString s(OUString::createFromAscii((const char*)((pXmlNode->children[0]).content))); + OUString s(convert((pXmlNode->children[0]).content)); xmlXPathFreeObject(pXmlObj); return s; } @@ -137,7 +154,7 @@ int XmlTestTools::getXPathPosition(xmlDocPtr pXmlDoc, const OString& rXPath, con int nRet = 0; for (xmlNodePtr pChild = pXmlNode->children; pChild; pChild = pChild->next) { - if (OUString::createFromAscii((const char*)pChild->name) == rChildName) + if (convert(pChild->name) == rChildName) break; ++nRet; } |