Kaydet (Commit) 8902a25c authored tarafından Pallavi Jadhav's avatar Pallavi Jadhav Kaydeden (comit) Miklos Vajna

fdo#76589 : FILESAVE: DOCX: Numbered list is not preserved after RT

	Issue :
	Numbered list without suffix does not get preserved after
	Roudtrip.

	Description :
	- For level zero LO was writing w:lvlText with epmty value.
	- This was because in DocxAttributeOutput::NumberingLevel()
	  check was based on empty NumberingString.
	- But for "deciaml" also rNumberingString appears to be empty
	  for level-0

	Implementation :
	- Added check to write empty value for w:lvlText only if
	  NumberingType is "bullet" with level-0.
	- This will not write empty w:lvlText with level-0 and
	  NumberingType as "decimal".

Reviewed on:
	https://gerrit.libreoffice.org/8768

Change-Id: Ic6ece45e0122da05013beac93a6e11fac926514d
üst 6055c667
...@@ -2991,6 +2991,20 @@ DECLARE_OOXMLEXPORT_TEST(test76317_2K10, "test76317_2K10.docx") ...@@ -2991,6 +2991,20 @@ DECLARE_OOXMLEXPORT_TEST(test76317_2K10, "test76317_2K10.docx")
assertXPath(pXmlDoc, "/w:document[1]/w:body[1]/w:p[1]/w:r[1]/mc:AlternateContent[1]/mc:Choice[1]/w:drawing[1]/wp:anchor[1]/a:graphic[1]/a:graphicData[1]/wps:wsp[1]/wps:spPr[1]/a:prstGeom[1]/a:avLst[1]/a:gd[1]", "name", "adj"); assertXPath(pXmlDoc, "/w:document[1]/w:body[1]/w:p[1]/w:r[1]/mc:AlternateContent[1]/mc:Choice[1]/w:drawing[1]/wp:anchor[1]/a:graphic[1]/a:graphicData[1]/wps:wsp[1]/wps:spPr[1]/a:prstGeom[1]/a:avLst[1]/a:gd[1]", "name", "adj");
} }
DECLARE_OOXMLEXPORT_TEST(testfdo76589 , "fdo76589.docx")
{
/* Numbered list was not preserve after RT.
* In numbering.xml, when NumberingType is "decimal" and level is zero,
* w:val of w:lvlText was empty.
* It should be <w:lvlText w:val="%1" />
*/
xmlDocPtr pXmlDoc = parseExport("word/numbering.xml");
if (!pXmlDoc)
return;
assertXPath ( pXmlDoc, "/w:numbering/w:abstractNum[1]/w:lvl[1]/w:lvlText","val","%1" );
}
DECLARE_OOXMLEXPORT_TEST(testAuthorPropertySdt, "author-property.docx") DECLARE_OOXMLEXPORT_TEST(testAuthorPropertySdt, "author-property.docx")
{ {
xmlDocPtr pXmlDoc = parseExport("word/document.xml"); xmlDocPtr pXmlDoc = parseExport("word/document.xml");
......
...@@ -5006,7 +5006,7 @@ void DocxAttributeOutput::NumberingLevel( sal_uInt8 nLevel, ...@@ -5006,7 +5006,7 @@ void DocxAttributeOutput::NumberingLevel( sal_uInt8 nLevel,
aBuffer.append( pPrev, pIt - pPrev ); aBuffer.append( pPrev, pIt - pPrev );
// If bullet char is empty, set lvlText as empty // If bullet char is empty, set lvlText as empty
if ( aText.equals ( OUString(sal_Unicode(0)) ) ) if ( aText.equals ( OUString(sal_Unicode(0)) ) && nNumberingType == SVX_NUM_CHAR_SPECIAL )
{ {
m_pSerializer->singleElementNS( XML_w, XML_lvlText, FSNS( XML_w, XML_val ), "", FSEND ); m_pSerializer->singleElementNS( XML_w, XML_lvlText, FSNS( XML_w, XML_val ), "", FSEND );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment