summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/CppunitTest_sw_uiwriter.mk1
-rw-r--r--sw/inc/swacorr.hxx3
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx32
-rw-r--r--test/Package_unittest.mk1
-rw-r--r--test/user-template/user/autocorr/acor_fr.datbin0 -> 9538 bytes
5 files changed, 36 insertions, 1 deletions
diff --git a/sw/CppunitTest_sw_uiwriter.mk b/sw/CppunitTest_sw_uiwriter.mk
index a5c9db081df6..589421dc560a 100644
--- a/sw/CppunitTest_sw_uiwriter.mk
+++ b/sw/CppunitTest_sw_uiwriter.mk
@@ -19,6 +19,7 @@ $(eval $(call gb_CppunitTest_use_libraries,sw_uiwriter, \
comphelper \
cppu \
cppuhelper \
+ editeng \
sal \
sfx \
svl \
diff --git a/sw/inc/swacorr.hxx b/sw/inc/swacorr.hxx
index 33598c6dbc16..ebcb30470433 100644
--- a/sw/inc/swacorr.hxx
+++ b/sw/inc/swacorr.hxx
@@ -25,8 +25,9 @@
#include <com/sun/star/embed/XStorage.hpp>
#include "SwXMLTextBlocks.hxx"
+#include "swdllapi.h"
-class SwAutoCorrect : public SvxAutoCorrect
+class SW_DLLPUBLIC SwAutoCorrect : public SvxAutoCorrect
{
using SvxAutoCorrect::PutText;
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index 2ed5298f6aa0..5cb57649835b 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -22,6 +22,8 @@
#include <textboxhelper.hxx>
#include <view.hxx>
#include <hhcwrp.hxx>
+#include <swacorr.hxx>
+#include <editeng/acorrcfg.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdview.hxx>
@@ -57,6 +59,7 @@ public:
void testChineseConversionTraditionalToSimplified();
void testChineseConversionSimplifiedToTraditional();
void testFdo85554();
+ void testAutoCorr();
CPPUNIT_TEST_SUITE(SwUiWriterTest);
CPPUNIT_TEST(testReplaceForward);
@@ -80,6 +83,7 @@ public:
CPPUNIT_TEST(testChineseConversionTraditionalToSimplified);
CPPUNIT_TEST(testChineseConversionSimplifiedToTraditional);
CPPUNIT_TEST(testFdo85554);
+ CPPUNIT_TEST(testAutoCorr);
CPPUNIT_TEST_SUITE_END();
@@ -586,6 +590,34 @@ void SwUiWriterTest::testFdo85554()
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xDrawPage->getCount());
}
+void SwUiWriterTest::testAutoCorr()
+{
+ SwDoc* pDoc = createDoc();
+ SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+ SwAutoCorrect corr(*SvxAutoCorrCfg::Get().GetAutoCorrect());
+ const sal_Unicode cIns = ' ';
+
+ //Normal AutoCorrect
+ pWrtShell->Insert("tset");
+ pWrtShell->AutoCorrect(corr, cIns);
+ sal_uLong nIndex = pWrtShell->GetCrsr()->GetNode().GetIndex();
+ CPPUNIT_ASSERT_EQUAL(OUString("Test "), static_cast<SwTxtNode*>(pDoc->GetNodes()[nIndex])->GetTxt());
+
+ //AutoCorrect with change style to bolt
+ pWrtShell->Insert("Bolt");
+ pWrtShell->AutoCorrect(corr, cIns);
+ nIndex = pWrtShell->GetCrsr()->GetNode().GetIndex();
+ const uno::Reference< text::XTextRange > xRun = getRun(getParagraph(1), 2);
+ CPPUNIT_ASSERT_EQUAL(OUString("Bolt"), xRun->getString());
+ CPPUNIT_ASSERT_EQUAL(OUString("Arial"), getProperty<OUString>(xRun, "CharFontName"));
+
+ //AutoCorrect inserts Table with 2 rows and 3 columns
+ pWrtShell->Insert("4xx");
+ pWrtShell->AutoCorrect(corr, cIns);
+ const uno::Reference< text::XTextTable > xTable(getParagraphOrTable(2), uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(2), xTable->getRows()->getCount());
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(3), xTable->getColumns()->getCount());
+}
CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/test/Package_unittest.mk b/test/Package_unittest.mk
index 3c0aad7330e4..77c45932780d 100644
--- a/test/Package_unittest.mk
+++ b/test/Package_unittest.mk
@@ -20,5 +20,6 @@ $(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/tem
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/standard.bau,user/autotext/en-US/standard.bau))
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/autotext/en-US/crdbus50.bau,user/autotext/en-US/crdbus50.bau))
$(eval $(call gb_Package_add_file,test_unittest,unittest/user/config/soffice.cfg/.dummy,empty-directory-dummy))
+$(eval $(call gb_Package_add_file,test_unittest,unittest/user/autocorr/acor_en-US.dat,user/autocorr/acor_fr.dat))
# vim: set noet sw=4 ts=4:
diff --git a/test/user-template/user/autocorr/acor_fr.dat b/test/user-template/user/autocorr/acor_fr.dat
new file mode 100644
index 000000000000..d4ef5567fa17
--- /dev/null
+++ b/test/user-template/user/autocorr/acor_fr.dat
Binary files differ