summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@suse.cz>2013-01-14 15:23:49 +0100
committerMiklos Vajna <vmiklos@suse.cz>2013-01-14 15:38:13 +0100
commitbf670bcd5e60eae95a6bd297391799f13e55db9d (patch)
tree201dcfd3986fa891280e72a0231f33b8a2dfc4ac
parentb1859c3a6d32dff66550c33831df241035d91aa9 (diff)
fdo#57938 testcase
Change-Id: I5a219011952f37861b0688e17afca1b3b07fdc31
-rw-r--r--sw/qa/core/swdoc-test.cxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/sw/qa/core/swdoc-test.cxx b/sw/qa/core/swdoc-test.cxx
index de9828e84bfb..f2cc9ccde8ea 100644
--- a/sw/qa/core/swdoc-test.cxx
+++ b/sw/qa/core/swdoc-test.cxx
@@ -45,6 +45,8 @@
#include <sfx2/docfile.hxx>
#include <sfx2/sfxmodelfactory.hxx>
+#include <xmloff/odffields.hxx>
+
#include "breakit.hxx"
#include "doc.hxx"
#include "docsh.hxx"
@@ -88,6 +90,7 @@ public:
void testSwScanner();
void testUserPerceivedCharCount();
void testGraphicAnchorDeletion();
+ void testFdo57938();
CPPUNIT_TEST_SUITE(SwDocTest);
CPPUNIT_TEST(randomTest);
@@ -98,6 +101,7 @@ public:
CPPUNIT_TEST(testSwScanner);
CPPUNIT_TEST(testUserPerceivedCharCount);
CPPUNIT_TEST(testGraphicAnchorDeletion);
+ CPPUNIT_TEST(testFdo57938);
CPPUNIT_TEST_SUITE_END();
private:
@@ -874,6 +878,24 @@ void SwDocTest::randomTest()
}
}
+void SwDocTest::testFdo57938()
+{
+ SwNodeIndex aIdx(m_pDoc->GetNodes().GetEndOfContent(), -1);
+ SwPaM aPaM(aIdx);
+
+ // Insert "atest" and create a fieldmark around "test".
+ OUString aTest("atest");
+ m_pDoc->InsertString(aPaM, aTest);
+ aPaM.SetMark();
+ aPaM.GetPoint()->nContent = 1;
+ IDocumentMarkAccess* pMarksAccess = m_pDoc->getIDocumentMarkAccess();
+ pMarksAccess->makeFieldBookmark(aPaM, "", ODF_COMMENTRANGE);
+ aPaM.GetPoint()->nContent = 0;
+ aPaM.GetMark()->nContent = 1;
+ // The problem was that "a" was considered read-only, so could not be deleted.
+ CPPUNIT_ASSERT_EQUAL(false, bool(aPaM.HasReadonlySel(false)));
+}
+
void SwDocTest::setUp()
{
BootstrapFixture::setUp();