summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-07-27 01:03:06 +0200
committerMiklos Vajna <vmiklos@suse.cz>2013-07-27 01:09:46 +0200
commit83e0489217fd4b0fcf3ab62d002257b47e7a6459 (patch)
treef86f779c75754974b99d837c8786bf701b626542
parent165cd8332a0844314e698cf59936799676257ea1 (diff)
fdo#67365 testcase
Change-Id: I921eda30f60e5466e381922193c2a46be10ad65c
-rwxr-xr-xsw/qa/extras/rtfimport/data/fdo67365.rtf35
-rw-r--r--sw/qa/extras/rtfimport/rtfimport.cxx17
2 files changed, 52 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/fdo67365.rtf b/sw/qa/extras/rtfimport/data/fdo67365.rtf
new file mode 100755
index 000000000000..07755cc4bb1d
--- /dev/null
+++ b/sw/qa/extras/rtfimport/data/fdo67365.rtf
@@ -0,0 +1,35 @@
+{\rtf1
+\paperw11906\paperh16838\margl1134\margr567\margt851\margb567 \widowctrl\ftnbj\aenddoc\hyphcaps0\formshade\viewkind1\viewscale100\pgbrdrhead\pgbrdrfoot \fet0
+\sectd \linex0\headery397\footery397\colsx709\endnhere\sectdefaultcl
+\trowd \trgaph28\trleft-28\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr \brdrs\brdrw10 \cltxlrtb \cellx5387\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx10206
+\pard \li57\widctlpar\intbl\adjustright
+{\fs22 A1\cell }
+\pard \qc\widctlpar\intbl\adjustright
+{\fs22
+\cell }
+\pard \widctlpar\intbl\adjustright
+{\fs22 \row }
+\trowd \trgaph28\trleft-28\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx5387\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx10206
+\pard \li57\widctlpar\intbl\adjustright
+{
+\fs22 A2\cell }
+\pard \qc\widctlpar\intbl\adjustright
+{\fs22 \cell }
+\pard \widctlpar\intbl\adjustright
+{\fs22 \row }
+\pard \li57\widctlpar\intbl\adjustright
+{\fs22 A3\cell }
+\pard
+\qc\widctlpar\intbl\adjustright
+{\fs22 \cell }
+\pard \widctlpar\intbl\adjustright
+{\fs22 \row }
+\trowd \trgaph28\trleft-28\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv \brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx5387\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx10206
+\pard \li57\widctlpar\intbl\adjustright
+{\fs22 A4\cell \cell }
+\pard \widctlpar\intbl\adjustright
+{\fs22 \row }
+\pard \qj\sb120\widctlpar\adjustright
+foo
+\par
+}
diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx
index eabdd69cfbd2..c676d083f9e6 100644
--- a/sw/qa/extras/rtfimport/rtfimport.cxx
+++ b/sw/qa/extras/rtfimport/rtfimport.cxx
@@ -157,6 +157,7 @@ public:
void testFdo54900();
void testFdo64637();
void testN820504();
+ void testFdo67365();
CPPUNIT_TEST_SUITE(Test);
#if !defined(MACOSX) && !defined(WNT)
@@ -299,6 +300,7 @@ void Test::run()
{"fdo54900.rtf", &Test::testFdo54900},
{"fdo64637.rtf", &Test::testFdo64637},
{"n820504.rtf", &Test::testN820504},
+ {"fdo67365.rtf", &Test::testFdo67365},
};
header();
for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i)
@@ -1453,6 +1455,21 @@ void Test::testN820504()
CPPUNIT_ASSERT_EQUAL(text::TextContentAnchorType_AT_CHARACTER, getProperty<text::TextContentAnchorType>(xDraws->getByIndex(0), "AnchorType"));
}
+void Test::testFdo67365()
+{
+ uno::Reference<text::XTextTablesSupplier> xTextTablesSupplier(mxComponent, uno::UNO_QUERY);
+ uno::Reference<container::XIndexAccess> xTables(xTextTablesSupplier->getTextTables(), uno::UNO_QUERY);
+ uno::Reference<text::XTextTable> xTable(xTables->getByIndex(0), uno::UNO_QUERY);
+ uno::Reference<table::XTableRows> xRows = xTable->getRows();
+ // The table only had 3 rows.
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(4), xRows->getCount());
+ // This was 4999, i.e. the two cells of the row had equal widths instead of a larger and a smaller cell.
+ CPPUNIT_ASSERT_EQUAL(sal_Int16(5290), getProperty< uno::Sequence<text::TableColumnSeparator> >(xRows->getByIndex(2), "TableColumnSeparators")[0].Position);
+ uno::Reference<text::XTextRange> xCell(xTable->getCellByName("A2"), uno::UNO_QUERY);
+ // Paragraph was aligned to center, should be left.
+ CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_LEFT, static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(getParagraphOfText(1, xCell->getText()), "ParaAdjust")));
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(Test);
CPPUNIT_PLUGIN_IMPLEMENT();