diff options
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/uiwriter/uiwriter.cxx | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 5aef75bab9a0..3b7cfcf769b3 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -11,6 +11,7 @@ #include <wrtsh.hxx> #include <crsskip.hxx> #include <shellio.hxx> +#include <expfld.hxx> #include "UndoManager.hxx" @@ -30,6 +31,7 @@ public: void testExportRTF(); void testFdo75110(); void testFdo75898(); + void testFdo74981(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); @@ -40,6 +42,7 @@ public: CPPUNIT_TEST(testExportRTF); CPPUNIT_TEST(testFdo75110); CPPUNIT_TEST(testFdo75898); + CPPUNIT_TEST(testFdo74981); CPPUNIT_TEST_SUITE_END(); private: @@ -232,6 +235,32 @@ void SwUiWriterTest::testExportRTF() CPPUNIT_ASSERT_EQUAL(sal_Int32(-1), aData.indexOf("ccc")); } +void SwUiWriterTest::testFdo74981() +{ + // create a document with an input field + SwDoc* pDoc = createDoc(); + SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); + SwInputField aField((SwInputFieldType*)pWrtShell->GetFldType(0, RES_INPUTFLD), OUString("foo"), OUString("bar"), 0, 0); + pWrtShell->Insert(aField); + + // expect hints + SwNodeIndex aIdx(pDoc->GetNodes().GetEndOfContent(), -1); + SwTxtNode* pTxtNode = aIdx.GetNode().GetTxtNode(); + CPPUNIT_ASSERT(pTxtNode->HasHints()); + + // go to the begin of the paragraph and split this node + pWrtShell->Left(CRSR_SKIP_CHARS, false, 100, false); + pWrtShell->SplitNode(); + + // expect only the second paragraph to have hints + aIdx = SwNodeIndex(pDoc->GetNodes().GetEndOfContent(), -1); + pTxtNode = aIdx.GetNode().GetTxtNode(); + CPPUNIT_ASSERT(pTxtNode->HasHints()); + aIdx--; + pTxtNode = aIdx.GetNode().GetTxtNode(); + CPPUNIT_ASSERT(!pTxtNode->HasHints()); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); |