diff options
Diffstat (limited to 'sw/qa/extras/rtfimport')
-rw-r--r-- | sw/qa/extras/rtfimport/data/fdo64637.rtf | 13 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 10 |
2 files changed, 23 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/fdo64637.rtf b/sw/qa/extras/rtfimport/data/fdo64637.rtf new file mode 100644 index 000000000000..9bec690cde23 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/fdo64637.rtf @@ -0,0 +1,13 @@ +{\rtf1 +{\info +{\upr +{\company aaa} +{\*\ud +{\company +bbb +} +} +} +} +foo +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 58353bff2fb2..9a6974f15767 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -146,6 +146,7 @@ public: void testFdo39001(); void testFdo66565(); void testFdo54900(); + void testFdo64637(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -279,6 +280,7 @@ void Test::run() {"fdo39001.rtf", &Test::testFdo39001}, {"fdo66565.rtf", &Test::testFdo66565}, {"fdo54900.rtf", &Test::testFdo54900}, + {"fdo64637.rtf", &Test::testFdo64637}, }; header(); for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) @@ -1343,6 +1345,14 @@ void Test::testFdo54900() CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_CENTER, static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(getParagraphOfText(1, xCell->getText()), "ParaAdjust"))); } +void Test::testFdo64637() +{ + // The problem was that the custom "Company" property was added twice, the second invocation resulted in an exception. + uno::Reference<document::XDocumentPropertiesSupplier> xDocumentPropertiesSupplier(mxComponent, uno::UNO_QUERY); + uno::Reference<beans::XPropertySet> xPropertySet(xDocumentPropertiesSupplier->getDocumentProperties()->getUserDefinedProperties(), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(OUString("bbb"), getProperty<OUString>(xPropertySet, "Company")); +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); |