summaryrefslogtreecommitdiff
path: root/sd/qa/unit
diff options
context:
space:
mode:
authorMark Hung <marklh9@gmail.com>2015-07-27 23:53:18 +0800
committerNorbert Thiebaud <nthiebaud@gmail.com>2015-08-25 11:59:38 +0000
commit65a66d41fd0e13d0aad9df935091b731b4af650a (patch)
treec358464d1efd0df38f6c46ab0e4595f2927a9012 /sd/qa/unit
parentb14861e1dfb9f83d26d6032ae96b664845528f2a (diff)
Fix tdf#77881,tdf#80520,tdf#89525 bulllets lost issue.
Replace bullet char before write out font description since it may be altered if bullet font has been changed (i.e. StarSymbol to WingDings ). Change-Id: I0461cc0a5e4628b36177602bba7ed7f74a0751eb Reviewed-on: https://gerrit.libreoffice.org/17376 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
Diffstat (limited to 'sd/qa/unit')
-rw-r--r--sd/qa/unit/data/odp/bulletCharAndFont.odpbin0 -> 11279 bytes
-rw-r--r--sd/qa/unit/export-tests.cxx34
2 files changed, 34 insertions, 0 deletions
diff --git a/sd/qa/unit/data/odp/bulletCharAndFont.odp b/sd/qa/unit/data/odp/bulletCharAndFont.odp
new file mode 100644
index 000000000000..51277b27223a
--- /dev/null
+++ b/sd/qa/unit/data/odp/bulletCharAndFont.odp
Binary files differ
diff --git a/sd/qa/unit/export-tests.cxx b/sd/qa/unit/export-tests.cxx
index a90a3de70a89..375ed3eb8153 100644
--- a/sd/qa/unit/export-tests.cxx
+++ b/sd/qa/unit/export-tests.cxx
@@ -56,6 +56,7 @@
#include <com/sun/star/chart2/data/XDataSequence.hpp>
#include <com/sun/star/chart2/data/XNumericalDataSequence.hpp>
#include <com/sun/star/awt/XBitmap.hpp>
+#include <com/sun/star/awt/FontDescriptor.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
#include <com/sun/star/frame/XStorable.hpp>
#include <com/sun/star/drawing/FillStyle.hpp>
@@ -120,6 +121,7 @@ public:
void testTableCellBorder();
void testBulletColor();
void testTdf62176();
+ void testBulletCharAndFont();
void testBulletMarginAndIndentation();
void testParaMarginAndindentation();
void testTransparentBackground();
@@ -159,6 +161,7 @@ public:
CPPUNIT_TEST(testTableCellBorder);
CPPUNIT_TEST(testBulletColor);
CPPUNIT_TEST(testTdf62176);
+ CPPUNIT_TEST(testBulletCharAndFont);
CPPUNIT_TEST(testBulletMarginAndIndentation);
CPPUNIT_TEST(testParaMarginAndindentation);
CPPUNIT_TEST(testTransparentBackground);
@@ -1022,6 +1025,37 @@ void SdExportTest::testTdf62176()
uno::Reference<text::XTextRange> xParagraph2(paraEnum2->nextElement(), uno::UNO_QUERY_THROW);
CPPUNIT_ASSERT_EQUAL(OUString("Hello World"), xParagraph2->getString());
}
+void SdExportTest::testBulletCharAndFont()
+{
+ ::sd::DrawDocShellRef xDocShRef = loadURL( getURLFromSrc("/sd/qa/unit/data/odp/bulletCharAndFont.odp"), ODP);
+ xDocShRef = saveAndReload( xDocShRef, PPTX );
+ uno::Reference< drawing::XDrawPagesSupplier > xDoc( xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW );
+ uno::Reference< drawing::XDrawPage > xPage( xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW );
+ uno::Reference< drawing::XShape > xShape(xPage->getByIndex(0), uno::UNO_QUERY);
+ uno::Reference<text::XText> xText = uno::Reference<text::XTextRange>(xShape, uno::UNO_QUERY_THROW)->getText();
+ uno::Reference<container::XEnumerationAccess> paraEnumAccess;
+ paraEnumAccess.set(xText, uno::UNO_QUERY);
+ uno::Reference<container::XEnumeration> paraEnum = paraEnumAccess->createEnumeration();
+ uno::Reference<text::XTextRange> const xParagraph(paraEnum->nextElement(), uno::UNO_QUERY_THROW);
+ uno::Reference< beans::XPropertySet > xPropSet( xParagraph, uno::UNO_QUERY_THROW );
+ uno::Reference<container::XIndexAccess> xLevels(xPropSet->getPropertyValue("NumberingRules"), uno::UNO_QUERY);
+ uno::Sequence<beans::PropertyValue> aProps;
+ xLevels->getByIndex(0) >>= aProps; // 1st level
+ OUString sBulletChar(sal_Unicode(0xf06c));
+ for (int i = 0; i < aProps.getLength(); ++i)
+ {
+ const beans::PropertyValue& rProp = aProps[i];
+ if (rProp.Name == "BulletChar")
+ CPPUNIT_ASSERT_EQUAL_MESSAGE( "BulletChar incorrect.", sBulletChar ,rProp.Value.get<OUString>());
+ if (rProp.Name == "BulletFont")
+ {
+ awt::FontDescriptor aFontDescriptor;
+ rProp.Value >>= aFontDescriptor;
+ CPPUNIT_ASSERT_EQUAL_MESSAGE( "BulletFont incorrect.", OUString("Wingdings"),aFontDescriptor.Name);
+ }
+ }
+ xDocShRef->DoClose();
+}
void SdExportTest::testTdf91378()
{