summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-07-03 12:47:41 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-07-03 13:32:17 +0100
commitb5a4e6974a5473c44fc239b6a9ae21f233111c2a (patch)
treea84aca11ec732a82bffb0fa3b624e255fb0d812d
parentf1256611054701a2bba20225fb654814eecbf559 (diff)
add a shape resize undo test
Change-Id: I88c2d7de243660ba727f057d6a2d67726b41b982
-rw-r--r--sw/qa/extras/uiwriter/data/draw-anchor-undo.odtbin0 -> 9823 bytes
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx27
2 files changed, 27 insertions, 0 deletions
diff --git a/sw/qa/extras/uiwriter/data/draw-anchor-undo.odt b/sw/qa/extras/uiwriter/data/draw-anchor-undo.odt
new file mode 100644
index 000000000000..370799cd47cc
--- /dev/null
+++ b/sw/qa/extras/uiwriter/data/draw-anchor-undo.odt
Binary files differ
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index 6138ed2968fd..a0c1bfe4d29e 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -113,6 +113,7 @@ public:
void testEmbeddedDataSource();
void testUnoCursorPointer();
void testTextTableCellNames();
+ void testShapeAnchorUndo();
CPPUNIT_TEST_SUITE(SwUiWriterTest);
CPPUNIT_TEST(testReplaceForward);
@@ -163,6 +164,7 @@ public:
CPPUNIT_TEST(testEmbeddedDataSource);
CPPUNIT_TEST(testUnoCursorPointer);
CPPUNIT_TEST(testTextTableCellNames);
+ CPPUNIT_TEST(testShapeAnchorUndo);
CPPUNIT_TEST_SUITE_END();
private:
@@ -1476,6 +1478,31 @@ void SwUiWriterTest::testTextTableCellNames()
CPPUNIT_ASSERT(nCol == 105);
}
+void SwUiWriterTest::testShapeAnchorUndo()
+{
+ SwDoc* pDoc = createDoc("draw-anchor-undo.odt");
+ SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+ SdrPage* pPage = pDoc->getIDocumentDrawModelAccess().GetDrawModel()->GetPage(0);
+ SdrObject* pObject = pPage->GetObj(0);
+ Rectangle aOrigLogicRect(pObject->GetLogicRect());
+
+ sw::UndoManager& rUndoManager = pDoc->GetUndoManager();
+ rUndoManager.StartUndo(UNDO_START, NULL);
+
+ pWrtShell->SelectObj(Point(), 0, pObject);
+
+ pWrtShell->GetDrawView()->MoveMarkedObj(Size(100, 100), false);
+ pWrtShell->ChgAnchor(0, true, true);
+
+ rUndoManager.EndUndo(UNDO_END, NULL);
+
+ CPPUNIT_ASSERT(aOrigLogicRect != pObject->GetLogicRect());
+
+ rUndoManager.Undo();
+
+ CPPUNIT_ASSERT(aOrigLogicRect == pObject->GetLogicRect());
+}
+
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
CPPUNIT_PLUGIN_IMPLEMENT();