summaryrefslogtreecommitdiff
path: root/sw/qa/extras/unowriter
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2020-01-07 01:23:03 +0300
committerXisco Faulí <xiscofauli@libreoffice.org>2020-01-08 11:45:42 +0100
commitfd3be6be5c9dc9a96834261c280fc291ed089835 (patch)
treef92df4d4a9816fc56001486e1e7677ac5a4cadfb /sw/qa/extras/unowriter
parente236f90d44b1c429a470a15a0520946c12cd8487 (diff)
tdf#129841: fix GetTextTableCursorPropertyMap cell background values
... which were accidentally broken in 2003 in commit eba784710e92597282a2284b56dce3a45ac38776. Change-Id: I3dc96dff0a8935f927933bb3946528fb8ac9aed0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86315 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86330 Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'sw/qa/extras/unowriter')
-rw-r--r--sw/qa/extras/unowriter/unowriter.cxx35
1 files changed, 35 insertions, 0 deletions
diff --git a/sw/qa/extras/unowriter/unowriter.cxx b/sw/qa/extras/unowriter/unowriter.cxx
index 630a72afa6b1..faaac078bff6 100644
--- a/sw/qa/extras/unowriter/unowriter.cxx
+++ b/sw/qa/extras/unowriter/unowriter.cxx
@@ -9,6 +9,7 @@
#include <swmodeltestbase.hxx>
#include <com/sun/star/awt/FontSlant.hpp>
+#include <com/sun/star/table/XCellRange.hpp>
#include <com/sun/star/text/TextContentAnchorType.hpp>
#include <com/sun/star/text/AutoTextContainer.hpp>
#include <com/sun/star/text/XAutoTextGroup.hpp>
@@ -762,6 +763,40 @@ CPPUNIT_TEST_FIXTURE(SwUnoWriter, testShapeAllowOverlap)
CPPUNIT_ASSERT(getProperty<bool>(xShapeProperties, "AllowOverlap"));
}
+CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTdf129841)
+{
+ // Create a new document and add a table
+ loadURL("private:factory/swriter", nullptr);
+ css::uno::Reference<css::text::XTextDocument> xTextDocument(mxComponent,
+ css::uno::UNO_QUERY_THROW);
+ css::uno::Reference<css::lang::XMultiServiceFactory> xFac(xTextDocument,
+ css::uno::UNO_QUERY_THROW);
+ css::uno::Reference<css::text::XTextTable> xTable(
+ xFac->createInstance("com.sun.star.text.TextTable"), css::uno::UNO_QUERY_THROW);
+ xTable->initialize(4, 4);
+ auto xSimpleText = xTextDocument->getText();
+ xSimpleText->insertTextContent(xSimpleText->createTextCursor(), xTable, true);
+ // Get SwXTextTableCursor
+ css::uno::Reference<css::beans::XPropertySet> xTableCursor(xTable->createCursorByCellName("A1"),
+ css::uno::UNO_QUERY_THROW);
+ css::uno::Reference<css::table::XCellRange> xTableCellRange(xTable, css::uno::UNO_QUERY_THROW);
+ // Get SwXCellRange for the same cell
+ css::uno::Reference<css::beans::XPropertySet> xCellRange(
+ xTableCellRange->getCellRangeByName("A1:A1"), css::uno::UNO_QUERY_THROW);
+ const OUString sBackColor = "BackColor";
+ // Apply background color to table cursor, and read background color from cell range
+ css::uno::Any aRefColor(sal_Int32(0x00FF0000));
+ xTableCursor->setPropertyValue(sBackColor, aRefColor);
+ css::uno::Any aColor = xCellRange->getPropertyValue(sBackColor);
+ // This failed
+ CPPUNIT_ASSERT_EQUAL(aRefColor, aColor);
+ // Now the other way round
+ aRefColor <<= sal_Int32(0x0000FF00);
+ xCellRange->setPropertyValue(sBackColor, aRefColor);
+ aColor = xTableCursor->getPropertyValue(sBackColor);
+ CPPUNIT_ASSERT_EQUAL(aRefColor, aColor);
+}
+
CPPUNIT_TEST_FIXTURE(SwUnoWriter, testTextConvertToTableLineSpacing)
{
// Load a document which has a table with a single cell.