summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Bessières <marc.bessieres@mykolab.com>2016-01-29 16:32:34 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2016-02-08 10:01:01 +0000
commitc24aa380eaeb792d6b7125e54eab833d8b65dbc7 (patch)
treec0e3d8ab426b27b13a8851082471b101801e89fb
parentb7e8306c09d926ad26bbcfd3ea331fff738d0f98 (diff)
tdf#83890 sw html export: fix missing start numbering attribute
In the sequence 1 Title 1 1.1 Subtitle 1.1 Not numbered item 1.2 Subitle 1.2 2 Title 2 The numbering element for the Subitle 1.2 was missing the html start attribute when it was followed by a numbering element of lower level. So let's force it, when it comes after a not numbered item. Adding a test case that validate that the Subtitle now contains the right attribute Removed a reference to an openoffice bug that brings no value too Change-Id: I928592a667f59128a4aa079d6b042ffb14244181 Reviewed-on: https://gerrit.libreoffice.org/22191 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--sw/qa/extras/htmlexport/data/tdf83890.odtbin0 -> 9292 bytes
-rw-r--r--sw/qa/extras/htmlexport/htmlexport.cxx8
-rw-r--r--sw/source/filter/html/htmlnumwriter.cxx9
-rw-r--r--sw/source/filter/html/wrthtml.cxx2
4 files changed, 15 insertions, 4 deletions
diff --git a/sw/qa/extras/htmlexport/data/tdf83890.odt b/sw/qa/extras/htmlexport/data/tdf83890.odt
new file mode 100644
index 000000000000..fcfab68f93a4
--- /dev/null
+++ b/sw/qa/extras/htmlexport/data/tdf83890.odt
Binary files differ
diff --git a/sw/qa/extras/htmlexport/htmlexport.cxx b/sw/qa/extras/htmlexport/htmlexport.cxx
index c10d44e90501..64bc4cf5510f 100644
--- a/sw/qa/extras/htmlexport/htmlexport.cxx
+++ b/sw/qa/extras/htmlexport/htmlexport.cxx
@@ -264,6 +264,14 @@ DECLARE_HTMLEXPORT_TEST(testExportImageBulletList, "tdf66822.odt")
assertXPath(pDoc, "/html/body/ul", "style", "list-style-image: url(data:image/svg+xml;base64,cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+DQo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTIuMC4xLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCA1MTQ0OCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbDQoJPCFFTlRJVFkgbnNfc3ZnICJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQoJPCFFTlRJVFkgbnNfeGxpbmsgImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KXT4NCjxzdmcgIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSImbnNfc3ZnOyIgeG1sbnM6eGxpbms9IiZuc194bGluazsiIHdpZHRoPSIxNC4wMDgiIGhlaWdodD0iMTQuMDEiDQoJIHZpZXdCb3g9IjAgMCAxNC4wMDggMTQuMDEiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNC4wMDggMTQuMDEiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHJhZGlhbEdyYWRpZW50IGlkPSJYTUxJRF80XyIgY3g9IjcuMDA0NCIgY3k9IjcuMDA0OSIgcj0iNy4wMDQ0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMzNURCMzUiLz4NCgkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwQTAwMCIvPg0KCTwvcmFkaWFsR3JhZGllbnQ+DQoJPGNpcmNsZSBmaWxsPSJ1cmwoI1hNTElEXzRfKSIgY3g9IjcuMDA0IiBjeT0iNy4wMDUiIHI9IjcuMDA0Ii8+DQoJPGRlZnM+DQoJCTxmaWx0ZXIgaWQ9IkFkb2JlX09wYWNpdHlNYXNrRmlsdGVyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjMuNDgxIiB5PSIwLjY5MyIgd2lkdGg9IjYuOTg4IiBoZWlnaHQ9IjMuODkzIj4NCgkJCTxmZUNvbG9yTWF0cml4ICB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMSAwIDAgMCAwICAwIDEgMCAwIDAgIDAgMCAxIDAgMCAgMCAwIDAgMSAwIi8+DQoJCTwvZmlsdGVyPg0KCTwvZGVmcz4NCgk8bWFzayBtYXNrVW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4PSIzLjQ4MSIgeT0iMC42OTMiIHdpZHRoPSI2Ljk4OCIgaGVpZ2h0PSIzLjg5MyIgaWQ9IlhNTElEXzVfIj4NCgkJPGcgZmlsdGVyPSJ1cmwoI0Fkb2JlX09wYWNpdHlNYXNrRmlsdGVyKSI+DQoJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlhNTElEXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjcuMTIyMSIgeTE9IjAuMTAzIiB4Mj0iNy4xMjIxIiB5Mj0iNS4yMzQ0Ij4NCgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRkZGRkZGIi8+DQoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMCIvPg0KCQkJPC9saW5lYXJHcmFkaWVudD4NCgkJCTxyZWN0IHg9IjMuMTk5IiB5PSIwLjMzOSIgb3BhY2l0eT0iMC43IiBmaWxsPSJ1cmwoI1hNTElEXzZfKSIgd2lkdGg9IjcuODQ2IiBoZWlnaHQ9IjQuNjAxIi8+DQoJCTwvZz4NCgk8L21hc2s+DQoJPGVsbGlwc2UgbWFzaz0idXJsKCNYTUxJRF81XykiIGZpbGw9IiNGRkZGRkYiIGN4PSI2Ljk3NSIgY3k9IjIuNjQiIHJ4PSIzLjQ5NCIgcnk9IjEuOTQ2Ii8+DQo8L2c+DQo8L3N2Zz4NPC9zdmc+Cg==);");
}
+DECLARE_HTMLEXPORT_TEST(testTdf83890, "tdf83890.odt")
+{
+ htmlDocPtr pDoc = parseHtml(maTempFile);
+ CPPUNIT_ASSERT(pDoc);
+
+ assertXPath(pDoc, "/html/body/ol[2]/ol", "start", "2");
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/html/htmlnumwriter.cxx b/sw/source/filter/html/htmlnumwriter.cxx
index afad8498e4a2..5afc06a333bc 100644
--- a/sw/source/filter/html/htmlnumwriter.cxx
+++ b/sw/source/filter/html/htmlnumwriter.cxx
@@ -141,9 +141,13 @@ Writer& OutHTML_NumBulListStart( SwHTMLWriter& rWrt,
if( pTextNd->GetActualListLevel() + 1 <
rInfo.GetDepth() )
{
- // node is numbered, but level is lower
+ if (rPrevInfo.GetDepth() == 0)
+ // previous node had no numbering => write start value
+ bStartValue = true;
+ else
+ // node is numbered, but level is lower
+ bStartValue = false;
// => check completed
- bStartValue = false;
break;
}
nPos++;
@@ -249,7 +253,6 @@ Writer& OutHTML_NumBulListStart( SwHTMLWriter& rWrt,
sal_uInt16 nStartVal = rNumFormat.GetStart();
if( bStartValue && 1 == nStartVal && i == rInfo.GetDepth()-1 )
{
- // #i51089 - TUNING#
if ( rWrt.pCurPam->GetNode().GetTextNode()->GetNum() )
{
nStartVal = static_cast< sal_uInt16 >( rWrt.pCurPam->GetNode()
diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx
index f4c06463b3e6..57978fbe53d8 100644
--- a/sw/source/filter/html/wrthtml.cxx
+++ b/sw/source/filter/html/wrthtml.cxx
@@ -331,7 +331,7 @@ sal_uLong SwHTMLWriter::WriteStream()
OString aStartTags;
- // Tabellen und Bereiche am Doc.-Anfang beachten
+ // respect table and section at document beginning
{
SwTableNode * pTNd = pCurPam->GetNode().FindTableNode();
if( pTNd && bWriteAll )