summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2020-04-06 13:28:03 +0200
committerXisco Faulí <xiscofauli@libreoffice.org>2020-04-06 15:43:22 +0200
commit4361e87deff63bd7dca2c5c22372379254912a0c (patch)
tree536a074751bb53a9cf6c375d498201816b722696 /sd
parent23ebb037ef1b557113738e2fbdf1c0e9328371a9 (diff)
tdf#118354: Add unittest
Change-Id: I10fe6180f9a793ff9bb1cd9ad18d2cfddc1c1ec6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91743 Tested-by: Jenkins Reviewed-by: Xisco Faulí <xiscofauli@libreoffice.org>
Diffstat (limited to 'sd')
-rw-r--r--sd/qa/unit/tiledrendering/data/tdf118354.odpbin0 -> 14518 bytes
-rw-r--r--sd/qa/unit/tiledrendering/tiledrendering.cxx30
2 files changed, 30 insertions, 0 deletions
diff --git a/sd/qa/unit/tiledrendering/data/tdf118354.odp b/sd/qa/unit/tiledrendering/data/tdf118354.odp
new file mode 100644
index 000000000000..beb132c7e34d
--- /dev/null
+++ b/sd/qa/unit/tiledrendering/data/tdf118354.odp
Binary files differ
diff --git a/sd/qa/unit/tiledrendering/tiledrendering.cxx b/sd/qa/unit/tiledrendering/tiledrendering.cxx
index 2fed5db352df..9bf4a5acb47f 100644
--- a/sd/qa/unit/tiledrendering/tiledrendering.cxx
+++ b/sd/qa/unit/tiledrendering/tiledrendering.cxx
@@ -107,6 +107,7 @@ public:
void testCreateViewGraphicSelection();
void testCreateViewTextCursor();
void testTdf102223();
+ void testTdf118354();
void testPostKeyEventInvalidation();
void testTdf103083();
void testTdf104405();
@@ -162,6 +163,7 @@ public:
CPPUNIT_TEST(testCreateViewGraphicSelection);
CPPUNIT_TEST(testCreateViewTextCursor);
CPPUNIT_TEST(testTdf102223);
+ CPPUNIT_TEST(testTdf118354);
CPPUNIT_TEST(testPostKeyEventInvalidation);
CPPUNIT_TEST(testTdf103083);
CPPUNIT_TEST(testTdf104405);
@@ -1540,6 +1542,34 @@ void SdTiledRenderingTest::testTdf102223()
CPPUNIT_ASSERT_EQUAL(int(1411), static_cast<int>(rItem2.GetHeight()));
}
+void SdTiledRenderingTest::testTdf118354()
+{
+ // Load the document.
+ SdXImpressDocument* pXImpressDocument = createDoc("tdf118354.odp");
+
+ sd::ViewShell* pViewShell = pXImpressDocument->GetDocShell()->GetViewShell();
+ SdPage* pActualPage = pViewShell->GetActualPage();
+
+ CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(2), pActualPage->GetObjCount());
+
+ auto pTableObject = dynamic_cast<sdr::table::SdrTableObj*>(pActualPage->GetObj(0));
+ CPPUNIT_ASSERT(pTableObject);
+
+ // Without the fix, it would crash here
+ ::tools::Rectangle aRect = pTableObject->GetCurrentBoundRect();
+ pXImpressDocument->postMouseEvent(LOK_MOUSEEVENT_MOUSEBUTTONDOWN,
+ convertMm100ToTwip(aRect.getX() + 2), convertMm100ToTwip(aRect.getY() + 2),
+ 1, MOUSE_LEFT, 0);
+ pXImpressDocument->postMouseEvent(LOK_MOUSEEVENT_MOUSEBUTTONUP,
+ convertMm100ToTwip(aRect.getX() + 2), convertMm100ToTwip(aRect.getY() + 2),
+ 1, MOUSE_LEFT, 0);
+ Scheduler::ProcessEventsToIdle();
+
+ SdrView* pView = pViewShell->GetView();
+ rtl::Reference<sdr::SelectionController> xSelectionController(pView->getSelectionController());
+ CPPUNIT_ASSERT(xSelectionController->hasSelectedCells());
+}
+
void SdTiledRenderingTest::testPostKeyEventInvalidation()
{
// Load a document and begin text edit on the first slide.