diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-07-03 12:47:41 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-07-03 13:32:17 +0100 |
commit | b5a4e6974a5473c44fc239b6a9ae21f233111c2a (patch) | |
tree | a84aca11ec732a82bffb0fa3b624e255fb0d812d | |
parent | f1256611054701a2bba20225fb654814eecbf559 (diff) |
add a shape resize undo test
Change-Id: I88c2d7de243660ba727f057d6a2d67726b41b982
-rw-r--r-- | sw/qa/extras/uiwriter/data/draw-anchor-undo.odt | bin | 0 -> 9823 bytes | |||
-rw-r--r-- | sw/qa/extras/uiwriter/uiwriter.cxx | 27 |
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 Binary files differnew file mode 100644 index 000000000000..370799cd47cc --- /dev/null +++ b/sw/qa/extras/uiwriter/data/draw-anchor-undo.odt 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(); |