[Libreoffice-commits] core.git: sw/CppunitTest_sw_htmlexport.mk sw/qa
Mark Hung (via logerrit)
logerrit at kemper.freedesktop.org
Mon Feb 10 11:25:35 UTC 2020
sw/CppunitTest_sw_htmlexport.mk | 1 +
sw/qa/extras/htmlexport/htmlexport.cxx | 8 ++++++++
2 files changed, 9 insertions(+)
New commits:
commit f40456f093fed10fd6153ad4c5960bd0f7b438c6
Author: Mark Hung <marklh9 at gmail.com>
AuthorDate: Sat Feb 8 13:44:05 2020 +0800
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Mon Feb 10 12:25:03 2020 +0100
sw/qa: fix libxml2 parser error for testChinese
in htmlexport CUT on Windows with tradtional Chinese
as the system locale.
Libxml2 complaints about encoding:
Entity: line 2: parser error : Input is not proper UTF-8,
indicate encoding !
Bytes: 0xB4 0x49 0xA4 0xE5
- By default SvxHtmlOptions::GetTextEncoding() uses
SvtSysLocale::GetBestMimeEncoding() to decide the decoding,
where osl_getThreadTextEncoding() is used. That results in
big5 if you're using Windows with tradtional Chinese as the
system Locale.
- libxml2 expects the xml begins with "<?xm", and guesses the
encoding based on first 4 bytes of the content. So it always
falls back to utf8 in our test.
Change-Id: I48be9bf552ab6ea76f8baea7e48a8c02a7e8c2cb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88260
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/sw/CppunitTest_sw_htmlexport.mk b/sw/CppunitTest_sw_htmlexport.mk
index 3e2188bc07dc..957152c7fd8b 100644
--- a/sw/CppunitTest_sw_htmlexport.mk
+++ b/sw/CppunitTest_sw_htmlexport.mk
@@ -25,6 +25,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_htmlexport, \
sal \
sfx \
sw \
+ svt \
test \
tl \
unotest \
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx
index b5d2f0955aaa..ab1aaf366818 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -17,6 +17,7 @@
#include <com/sun/star/frame/XDispatchHelper.hpp>
#include <com/sun/star/frame/DispatchHelper.hpp>
+#include <svtools/htmlcfg.hxx>
#include <swmodule.hxx>
#include <swdll.hxx>
#include <usrpref.hxx>
@@ -776,6 +777,12 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testChinese)
comphelper::makePropertyValue("FilterName", OUString("HTML (StarWriter)")),
comphelper::makePropertyValue("FilterOptions", OUString("xhtmlns=reqif-xhtml")),
};
+
+ // Prevent parseXmlStream guess incompatible encoding and complaint.
+ SvxHtmlOptions& rOptions = SvxHtmlOptions::Get();
+ rtl_TextEncoding eOldEncoding = rOptions.GetTextEncoding();
+ rOptions.SetTextEncoding(RTL_TEXTENCODING_UTF8);
+
xStorable->storeToURL(maTempFile.GetURL(), aStoreProperties);
SvMemoryStream aStream;
HtmlExportTest::wrapFragment(maTempFile, aStream);
@@ -784,6 +791,7 @@ CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testChinese)
// Without the accompanying fix in place, this test would have failed as the output was not
// well-formed.
CPPUNIT_ASSERT(pDoc);
+ rOptions.SetTextEncoding(eOldEncoding);
}
CPPUNIT_TEST_FIXTURE(SwHtmlDomExportTest, testReqifComment)
More information about the Libreoffice-commits
mailing list