sw/CppunitTest_sw_uiwriter.mk | 1 + sw/inc/docfac.hxx | 2 +- sw/inc/shellio.hxx | 4 ++-- sw/qa/extras/uiwriter/uiwriter.cxx | 24 ++++++++++++++++++++++++ sw/source/filter/basflt/fltini.cxx | 2 +- 5 files changed, 29 insertions(+), 4 deletions(-)
New commits: commit 82587e9bd4659200ea13ba416f881ff4285ec86e Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jan 16 11:00:36 2014 +0100 CppunitTest_sw_uiwriter: add testcase for ImportRTF() Change-Id: I334b21532337c1895a148c949dde60ad774b4759 diff --git a/sw/CppunitTest_sw_uiwriter.mk b/sw/CppunitTest_sw_uiwriter.mk index 721cbf6..66042c5 100644 --- a/sw/CppunitTest_sw_uiwriter.mk +++ b/sw/CppunitTest_sw_uiwriter.mk @@ -77,6 +77,7 @@ $(eval $(call gb_CppunitTest_use_components,sw_uiwriter,\ vcl/vcl.unx \ ) \ $(if $(filter DESKTOP,$(BUILD_TYPE)),xmlhelp/util/ucpchelp1) \ + writerfilter/util/writerfilter \ xmloff/util/xo \ )) diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx index 8b2c122..dd1e63b 100644 --- a/sw/qa/extras/uiwriter/uiwriter.cxx +++ b/sw/qa/extras/uiwriter/uiwriter.cxx @@ -9,6 +9,8 @@ #include <swmodeltestbase.hxx> #include <ndtxt.hxx> #include <wrtsh.hxx> +#include <crsskip.hxx> +#include <shellio.hxx> #include "UndoManager.hxx" @@ -24,12 +26,14 @@ public: void testReplaceBackward(); void testFdo69893(); void testFdo70807(); + void testImportRTF(); CPPUNIT_TEST_SUITE(SwUiWriterTest); CPPUNIT_TEST(testReplaceForward); CPPUNIT_TEST(testReplaceBackward); CPPUNIT_TEST(testFdo69893); CPPUNIT_TEST(testFdo70807); + CPPUNIT_TEST(testImportRTF); CPPUNIT_TEST_SUITE_END(); private: @@ -144,6 +148,26 @@ void SwUiWriterTest::testFdo70807() } } +void SwUiWriterTest::testImportRTF() +{ + // Insert "foobar" and position the cursor between "foo" and "bar". + SwDoc* pDoc = createDoc(); + SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); + pWrtShell->Insert("foobar"); + pWrtShell->Left(CRSR_SKIP_CHARS, /*bSelect=*/false, 3, /*bBasicCall=*/false); + + // Insert the RTF at the cursor position. + OString aData = "{\\rtf1 Hello world!\\par}"; + SvMemoryStream aStream(const_cast<sal_Char*>(aData.getStr()), aData.getLength(), STREAM_READ); + SwReader aReader(aStream, OUString(), OUString(), *pWrtShell->GetCrsr()); + Reader* pRTFReader = SwReaderWriter::GetReader(READER_WRITER_RTF); + CPPUNIT_ASSERT_EQUAL(sal_uLong(0), aReader.Read(*pRTFReader)); + + sal_uLong nIndex = pWrtShell->GetCrsr()->GetNode()->GetIndex(); + CPPUNIT_ASSERT_EQUAL(OUString("fooHello world!"), static_cast<SwTxtNode*>(pDoc->GetNodes()[nIndex - 1])->GetTxt()); + CPPUNIT_ASSERT_EQUAL(OUString("bar"), static_cast<SwTxtNode*>(pDoc->GetNodes()[nIndex])->GetTxt()); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest); CPPUNIT_PLUGIN_IMPLEMENT(); commit 6a445e3231969b4a45f6e9db6f9d8f4044559d6f Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jan 16 10:59:41 2014 +0100 sw: make these public, they will be needed in unit tests And they have the Sw prefix already, so should be no issue. Change-Id: Ibbce389de83b462028dbcf338e5ce277f102d791 diff --git a/sw/inc/docfac.hxx b/sw/inc/docfac.hxx index a453282..35827e0 100644 --- a/sw/inc/docfac.hxx +++ b/sw/inc/docfac.hxx @@ -23,7 +23,7 @@ class SwDoc; -class SwDocFac +class SW_DLLPUBLIC SwDocFac { protected: SwDoc* pDoc; diff --git a/sw/inc/shellio.hxx b/sw/inc/shellio.hxx index 1c50d6d..bfdac41 100644 --- a/sw/inc/shellio.hxx +++ b/sw/inc/shellio.hxx @@ -146,7 +146,7 @@ public: { ResetAllFmtsOnly(); aASCIIOpts.Reset(); } }; -class SwReader: public SwDocFac +class SW_DLLPUBLIC SwReader: public SwDocFac { SvStream* pStrm; SotStorageRef pStg; @@ -560,7 +560,7 @@ struct SwReaderWriterEntry namespace SwReaderWriter { /// Return reader based on ReaderWriterEnum. - Reader* GetReader( ReaderWriterEnum eReader ); + SW_DLLPUBLIC Reader* GetReader( ReaderWriterEnum eReader ); /// Return reader based on the name. Reader* GetReader( const OUString& rFltName ); diff --git a/sw/source/filter/basflt/fltini.cxx b/sw/source/filter/basflt/fltini.cxx index 7018fdb..1f784b7 100644 --- a/sw/source/filter/basflt/fltini.cxx +++ b/sw/source/filter/basflt/fltini.cxx @@ -166,7 +166,7 @@ oslGenericFunction Filters::GetMswordLibSymbol( const char *pSymbol ) namespace SwReaderWriter { -Reader* GetReader( ReaderWriterEnum eReader ) +SW_DLLPUBLIC Reader* GetReader( ReaderWriterEnum eReader ) { return aReaderWriter[eReader].GetReader(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits