diff options
author | Xisco Fauli <xiscofauli@libreoffice.org> | 2025-01-29 11:42:11 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2025-01-29 13:39:41 +0100 |
commit | 7f8ee2ccc0a1059759706ecbb1a7d592084dedc9 (patch) | |
tree | 38df06b957b16bdd3f34bfd650178382fbc0e223 | |
parent | bf6ba4620bc5e7c8c18745f72c9018a6abe62256 (diff) |
tdf#164855: sd_uiimpress: Add unittest
Change-Id: If912bd0a1c33f7eaefc5872643a7073dbc836c31
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180888
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r-- | sd/qa/unit/uiimpress.cxx | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sd/qa/unit/uiimpress.cxx b/sd/qa/unit/uiimpress.cxx index 6d7c772afa15..8d399f024b03 100644 --- a/sd/qa/unit/uiimpress.cxx +++ b/sd/qa/unit/uiimpress.cxx @@ -23,6 +23,9 @@ #include <com/sun/star/view/XSelectionSupplier.hpp> #include <comphelper/propertysequence.hxx> +#include <editeng/adjustitem.hxx> +#include <editeng/editobj.hxx> +#include <editeng/eeitem.hxx> #include <sfx2/dispatch.hxx> #include <sfx2/request.hxx> #include <sfx2/viewfrm.hxx> @@ -819,6 +822,39 @@ CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf141703) CPPUNIT_ASSERT_EQUAL(u"B"_ustr, xTextA2->getString()); } +CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf164855) +{ + createSdImpressDoc(); + + uno::Sequence<beans::PropertyValue> aArgs(comphelper::InitPropertySequence( + { { "Rows", uno::Any(sal_Int32(2)) }, { "Columns", uno::Any(sal_Int32(2)) } })); + + dispatchCommand(mxComponent, u".uno:InsertTable"_ustr, aArgs); + + auto pXImpressDocument = dynamic_cast<SdXImpressDocument*>(mxComponent.get()); + sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell(); + SdPage* pActualPage = pViewShell->GetActualPage(); + CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), pActualPage->GetObjCount()); + + auto pTableObject = dynamic_cast<sdr::table::SdrTableObj*>(pActualPage->GetObj(2)); + CPPUNIT_ASSERT(pTableObject); + + const EditTextObject& rEdit + = pTableObject->getText(0)->GetOutlinerParaObject()->GetTextObject(); + const SfxItemSet& rParaAttribs = rEdit.GetParaAttribs(0); + auto pAdjust = rParaAttribs.GetItem(EE_PARA_JUST); + CPPUNIT_ASSERT_EQUAL(SvxAdjust::Left, pAdjust->GetAdjust()); + + // Without the fix in place, this test would have crashed here + dispatchCommand(mxComponent, u".uno:RightPara"_ustr, {}); + + const EditTextObject& rEdit2 + = pTableObject->getText(0)->GetOutlinerParaObject()->GetTextObject(); + const SfxItemSet& rParaAttribs2 = rEdit2.GetParaAttribs(0); + pAdjust = rParaAttribs2.GetItem(EE_PARA_JUST); + CPPUNIT_ASSERT_EQUAL(SvxAdjust::Right, pAdjust->GetAdjust()); +} + CPPUNIT_TEST_FIXTURE(SdUiImpressTest, testTdf127481) { createSdImpressDoc(); |