diff options
author | Marc Bessières <marc.bessieres@mykolab.com> | 2016-01-29 16:32:34 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-02-08 10:01:01 +0000 |
commit | c24aa380eaeb792d6b7125e54eab833d8b65dbc7 (patch) | |
tree | c0e3d8ab426b27b13a8851082471b101801e89fb | |
parent | b7e8306c09d926ad26bbcfd3ea331fff738d0f98 (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.odt | bin | 0 -> 9292 bytes | |||
-rw-r--r-- | sw/qa/extras/htmlexport/htmlexport.cxx | 8 | ||||
-rw-r--r-- | sw/source/filter/html/htmlnumwriter.cxx | 9 | ||||
-rw-r--r-- | sw/source/filter/html/wrthtml.cxx | 2 |
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 Binary files differnew file mode 100644 index 000000000000..fcfab68f93a4 --- /dev/null +++ b/sw/qa/extras/htmlexport/data/tdf83890.odt 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 ) |