CppunitTest_sw_htmlexport: make this really test the exported model
There were two problems here: 1) The original testsuite just served as a crash-test for the HTML export filter, but the second testcase assumed it also reloads the document model. Once this is fixed, we notice that: 2) There are some nasty 'mm100 <-> in' rounding errors, work this around by using cms unconditionally. (Exact problem was that CharTopBorderDistance was 457, but was expected to be 450.) Change-Id: Iaa1f98486767e4dfa81c2ca3e456bc39131977eb
This commit is contained in:
parent
0215131e36
commit
12fd49a270
@ -19,6 +19,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_htmlexport, \
|
|||||||
comphelper \
|
comphelper \
|
||||||
cppu \
|
cppu \
|
||||||
cppuhelper \
|
cppuhelper \
|
||||||
|
i18nlangtag \
|
||||||
sal \
|
sal \
|
||||||
sw \
|
sw \
|
||||||
test \
|
test \
|
||||||
@ -36,6 +37,7 @@ $(eval $(call gb_CppunitTest_use_externals,sw_htmlexport,\
|
|||||||
|
|
||||||
$(eval $(call gb_CppunitTest_set_include,sw_htmlexport,\
|
$(eval $(call gb_CppunitTest_set_include,sw_htmlexport,\
|
||||||
-I$(SRCDIR)/sw/inc \
|
-I$(SRCDIR)/sw/inc \
|
||||||
|
-I$(SRCDIR)/sw/source/ui/inc \
|
||||||
-I$(SRCDIR)/sw/source/core/inc \
|
-I$(SRCDIR)/sw/source/core/inc \
|
||||||
-I$(SRCDIR)/sw/qa/extras/inc \
|
-I$(SRCDIR)/sw/qa/extras/inc \
|
||||||
$$(INCLUDE) \
|
$$(INCLUDE) \
|
||||||
|
@ -10,6 +10,8 @@
|
|||||||
#include <swmodeltestbase.hxx>
|
#include <swmodeltestbase.hxx>
|
||||||
#include <com/sun/star/awt/Gradient.hpp>
|
#include <com/sun/star/awt/Gradient.hpp>
|
||||||
#include <com/sun/star/drawing/FillStyle.hpp>
|
#include <com/sun/star/drawing/FillStyle.hpp>
|
||||||
|
#include <swmodule.hxx>
|
||||||
|
#include <usrpref.hxx>
|
||||||
|
|
||||||
class Test : public SwModelTestBase
|
class Test : public SwModelTestBase
|
||||||
{
|
{
|
||||||
@ -37,10 +39,22 @@ void Test::run()
|
|||||||
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
|
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
|
||||||
{
|
{
|
||||||
MethodEntry<Test>& rEntry = aMethods[i];
|
MethodEntry<Test>& rEntry = aMethods[i];
|
||||||
|
FieldUnit eUnit = FUNIT_NONE;
|
||||||
|
if (OString(rEntry.pName) == "charborder.odt")
|
||||||
|
{
|
||||||
|
// FIXME if padding-top gets exported as inches, not cms, we get rounding errors.
|
||||||
|
SwMasterUsrPref* pPref = const_cast<SwMasterUsrPref*>(SW_MOD()->GetUsrPref(false));
|
||||||
|
eUnit = pPref->GetMetric();
|
||||||
|
pPref->SetMetric(FUNIT_CM);
|
||||||
|
}
|
||||||
load("/sw/qa/extras/htmlexport/data/", rEntry.pName,
|
load("/sw/qa/extras/htmlexport/data/", rEntry.pName,
|
||||||
false /* not doing layout is required for this test */);
|
false /* not doing layout is required for this test */);
|
||||||
utl::TempFile aFile;
|
reload("HTML (StarWriter)");
|
||||||
save("HTML", aFile);
|
if (OString(rEntry.pName) == "charborder.odt")
|
||||||
|
{
|
||||||
|
SwMasterUsrPref* pPref = const_cast<SwMasterUsrPref*>(SW_MOD()->GetUsrPref(false));
|
||||||
|
pPref->SetMetric(eUnit);
|
||||||
|
}
|
||||||
(this->*rEntry.pMethod)();
|
(this->*rEntry.pMethod)();
|
||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user