tdf#117923: handle direct formatting for numbering in .doc
Since commit df07d6cb9f
, we do for DOCX.
DOC also has this problem, so set the relevant compatibility flag on
import for this format, too.
Change-Id: I3aef593341edffa878a06566da815cb72aa38004
Reviewed-on: https://gerrit.libreoffice.org/56812
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
BIN
sw/qa/extras/layout/data/tdf117923.doc
Normal file
BIN
sw/qa/extras/layout/data/tdf117923.doc
Normal file
Binary file not shown.
@@ -24,6 +24,7 @@ public:
|
|||||||
void testTableExtrusion2();
|
void testTableExtrusion2();
|
||||||
void testTdf116848();
|
void testTdf116848();
|
||||||
void testTdf117245();
|
void testTdf117245();
|
||||||
|
void testTdf117923();
|
||||||
|
|
||||||
CPPUNIT_TEST_SUITE(SwLayoutWriter);
|
CPPUNIT_TEST_SUITE(SwLayoutWriter);
|
||||||
CPPUNIT_TEST(testTdf116830);
|
CPPUNIT_TEST(testTdf116830);
|
||||||
@@ -34,6 +35,7 @@ public:
|
|||||||
CPPUNIT_TEST(testTableExtrusion2);
|
CPPUNIT_TEST(testTableExtrusion2);
|
||||||
CPPUNIT_TEST(testTdf116848);
|
CPPUNIT_TEST(testTdf116848);
|
||||||
CPPUNIT_TEST(testTdf117245);
|
CPPUNIT_TEST(testTdf117245);
|
||||||
|
CPPUNIT_TEST(testTdf117923);
|
||||||
CPPUNIT_TEST_SUITE_END();
|
CPPUNIT_TEST_SUITE_END();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -194,6 +196,19 @@ void SwLayoutWriter::testTdf117245()
|
|||||||
assertXPath(pXmlDoc, "/root/page/body/txt[2]/LineBreak", 1);
|
assertXPath(pXmlDoc, "/root/page/body/txt[2]/LineBreak", 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SwLayoutWriter::testTdf117923()
|
||||||
|
{
|
||||||
|
createDoc("tdf117923.doc");
|
||||||
|
xmlDocPtr pXmlDoc = parseLayoutDump();
|
||||||
|
|
||||||
|
// Check that we actually test the line we need
|
||||||
|
assertXPathContent(pXmlDoc, "/root/page/body/tab/row/cell/txt[3]", "GHI GHI GHI GHI");
|
||||||
|
assertXPath(pXmlDoc, "/root/page/body/tab/row/cell/txt[3]/Special", "nType", "POR_NUMBER");
|
||||||
|
assertXPath(pXmlDoc, "/root/page/body/tab/row/cell/txt[3]/Special", "rText", "2.");
|
||||||
|
// The numbering height was 960.
|
||||||
|
assertXPath(pXmlDoc, "/root/page/body/tab/row/cell/txt[3]/Special", "nHeight", "220");
|
||||||
|
}
|
||||||
|
|
||||||
CPPUNIT_TEST_SUITE_REGISTRATION(SwLayoutWriter);
|
CPPUNIT_TEST_SUITE_REGISTRATION(SwLayoutWriter);
|
||||||
CPPUNIT_PLUGIN_IMPLEMENT();
|
CPPUNIT_PLUGIN_IMPLEMENT();
|
||||||
|
|
||||||
|
@@ -1795,6 +1795,9 @@ void SwWW8ImplReader::ImportDop()
|
|||||||
m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::TAB_COMPAT, true);
|
m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::TAB_COMPAT, true);
|
||||||
// #i24363# tab stops relative to indent
|
// #i24363# tab stops relative to indent
|
||||||
m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::TABS_RELATIVE_TO_INDENT, false);
|
m_rDoc.getIDocumentSettingAccess().set(DocumentSettingId::TABS_RELATIVE_TO_INDENT, false);
|
||||||
|
// tdf#117923
|
||||||
|
m_rDoc.getIDocumentSettingAccess().set(
|
||||||
|
DocumentSettingId::APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING, true);
|
||||||
|
|
||||||
// Import Default Tabs
|
// Import Default Tabs
|
||||||
long nDefTabSiz = m_xWDop->dxaTab;
|
long nDefTabSiz = m_xWDop->dxaTab;
|
||||||
|
@@ -88,7 +88,12 @@ OUString XmlTestTools::getXPathContent(xmlDocPtr pXmlDoc, const OString& rXPath)
|
|||||||
xmlXPathNodeSetGetLength(pXmlNodes) > 0);
|
xmlXPathNodeSetGetLength(pXmlNodes) > 0);
|
||||||
|
|
||||||
xmlNodePtr pXmlNode = pXmlNodes->nodeTab[0];
|
xmlNodePtr pXmlNode = pXmlNodes->nodeTab[0];
|
||||||
OUString s(convert((pXmlNode->children[0]).content));
|
xmlNodePtr pXmlChild = pXmlNode->children;
|
||||||
|
OUString s;
|
||||||
|
while (pXmlChild && pXmlChild->type != XML_TEXT_NODE)
|
||||||
|
pXmlChild = pXmlChild->next;
|
||||||
|
if (pXmlChild && pXmlChild->type == XML_TEXT_NODE)
|
||||||
|
s = convert(pXmlChild->content);
|
||||||
xmlXPathFreeObject(pXmlObj);
|
xmlXPathFreeObject(pXmlObj);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user