tdf#107696, tdf#111492: xhtml: Add unittest

Change-Id: Ic276a4ad53920c7f1e8bb8f7bcefe580ef88a446
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92346
Tested-by: Jenkins
Reviewed-by: Xisco FaulĂ­ <xiscofauli@libreoffice.org>
diff --git a/sw/qa/extras/htmlexport/xhtmlexport.cxx b/sw/qa/extras/htmlexport/xhtmlexport.cxx
index bce7a1e..714c982 100644
--- a/sw/qa/extras/htmlexport/xhtmlexport.cxx
+++ b/sw/qa/extras/htmlexport/xhtmlexport.cxx
@@ -54,6 +54,31 @@ DECLARE_HTMLEXPORT_TEST(testTdf131812, "tdf131812.odt")
        != -1);
}

DECLARE_HTMLEXPORT_TEST(testTdf107696, "tdf107696.odt")
{
    SvStream* pStream = maTempFile.GetStream(StreamMode::READ);
    CPPUNIT_ASSERT(pStream);
    sal_uInt64 nLength = pStream->TellEnd();
    OString aStream(read_uInt8s_ToOString(*pStream, nLength));
    //tdf#111492
    CPPUNIT_ASSERT(aStream.indexOf("span.heading_numbering { margin-right: 0.8rem; }* { margin:0;}")
                   != -1);
    CPPUNIT_ASSERT(
        aStream.indexOf("<h2 class=\"Heading_20_2\"><a "
                        "id=\"a__Level_2_without_number\"><span/></a>Level 2 without number</h2>")
        != -1);
    CPPUNIT_ASSERT(
        aStream.indexOf("<h2 class=\"Heading_20_2\"><a id=\"a_3_1_Level_2__number_3_1\"><span "
                        "class=\"heading_numbering\">3.1</span></a>Level <span "
                        "class=\"T2\">2</span>, <span class=\"T1\">number 3.1</span></h2>")
        != -1);
    CPPUNIT_ASSERT(
        aStream.indexOf("<h2 class=\"Heading_20_2\"><a id=\"a_3_2_Level_2__number_3_2\"><span "
                        "class=\"heading_numbering\">3.2</span></a>Level 2, <span "
                        "class=\"T1\">number 3.2</span></h2>")
        != -1);
}

CPPUNIT_PLUGIN_IMPLEMENT();

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/qa/extras/odfexport/data/tdf107696.odt b/sw/qa/extras/odfexport/data/tdf107696.odt
new file mode 100644
index 0000000..c24100b
--- /dev/null
+++ b/sw/qa/extras/odfexport/data/tdf107696.odt
Binary files differ