sw/qa/extras/uiwriter/uiwriter.cxx |   61 +++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)

New commits:
commit 16ca97a0c24da47cd7b0d2e7f3170d547cb063d2
Author: Varun <varun.dh...@studentpartner.com>
Date:   Wed Jun 24 04:49:57 2015 +0530

    Added Test for tdf#51741 bookmark rename doc mod
    
    Change-Id: I95149db78a34e35565fe8262f4933732183a7e16
    Reviewed-by: Michael Stahl <mst...@redhat.com>

diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx 
b/sw/qa/extras/uiwriter/uiwriter.cxx
index 815189d..afefed2 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -92,6 +92,7 @@ public:
     void testTdf68183();
     void testCp1000115();
     void testTdf90003();
+    void testTdf51741();
     void testdelofTableRedlines();
     void testExportToPicture();
     void testSearchWithTransliterate();
@@ -135,6 +136,7 @@ public:
     CPPUNIT_TEST(testTdf68183);
     CPPUNIT_TEST(testCp1000115);
     CPPUNIT_TEST(testTdf90003);
+    CPPUNIT_TEST(testTdf51741);
     CPPUNIT_TEST(testdelofTableRedlines);
     CPPUNIT_TEST(testExportToPicture);
     CPPUNIT_TEST(testSearchWithTransliterate);
@@ -880,6 +882,65 @@ void SwUiWriterTest::testTdf90003()
     assertXPath(pXmlDoc, "//Special[@nType='POR_FLY']", 0);
 }
 
+void SwUiWriterTest::testTdf51741()
+{
+    SwDoc* pDoc = createDoc();
+    SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+    sw::UndoManager& rUndoManager = pDoc->GetUndoManager();
+    IDocumentMarkAccess* const pMarkAccess = pDoc->getIDocumentMarkAccess();
+    SwPaM aPaM( SwNodeIndex(pDoc->GetNodes().GetEndOfContent(), -1) );
+    //Modification 1
+    pMarkAccess->makeMark(aPaM, OUString("Mark"), 
IDocumentMarkAccess::MarkType::BOOKMARK);
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(1), pMarkAccess->getAllMarksCount());
+    //Modification 2
+    rUndoManager.Undo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0), pMarkAccess->getAllMarksCount());
+    //Modification 3
+    rUndoManager.Redo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(1), pMarkAccess->getAllMarksCount());
+    IDocumentMarkAccess::const_iterator_t ppBkmk = 
pMarkAccess->findMark("Mark");
+    CPPUNIT_ASSERT(ppBkmk != pMarkAccess->getAllMarksEnd());
+    //Modification 4
+    pMarkAccess->renameMark(ppBkmk->get(), "Mark_");
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark") == 
pMarkAccess->getAllMarksEnd());
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark_") != 
pMarkAccess->getAllMarksEnd());
+    //Modification 5
+    rUndoManager.Undo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark") != 
pMarkAccess->getAllMarksEnd());
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark_") == 
pMarkAccess->getAllMarksEnd());
+    //Modification 6
+    rUndoManager.Redo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark") == 
pMarkAccess->getAllMarksEnd());
+    CPPUNIT_ASSERT(pMarkAccess->findMark("Mark_") != 
pMarkAccess->getAllMarksEnd());
+    //Modification 7
+    pMarkAccess->deleteMark( pMarkAccess->findMark("Mark_") );
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0), pMarkAccess->getAllMarksCount());
+    //Modification 8
+    rUndoManager.Undo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(1), pMarkAccess->getAllMarksCount());
+    //Modification 9
+    rUndoManager.Redo();
+    CPPUNIT_ASSERT(pWrtShell->IsModified());
+    pWrtShell->ResetModified();
+    CPPUNIT_ASSERT_EQUAL(sal_Int32(0), pMarkAccess->getAllMarksCount());
+}
+
 void SwUiWriterTest::testdelofTableRedlines()
 {
     SwDoc* pDoc = createDoc();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to