From 69259c6509809c1064eb05690dcd9c19c840bae1 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 20 Apr 2012 12:42:23 +0200 Subject: fdo#48356 fix RTF import of special unicode characters The \'0d string should not be an exception when ignoring characters after the \u control word. --- sw/qa/extras/rtftok/data/fdo48356.rtf | 3 +++ sw/qa/extras/rtftok/rtftok.cxx | 20 ++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 sw/qa/extras/rtftok/data/fdo48356.rtf (limited to 'sw') diff --git a/sw/qa/extras/rtftok/data/fdo48356.rtf b/sw/qa/extras/rtftok/data/fdo48356.rtf new file mode 100644 index 000000000000..59d6cb021d5f --- /dev/null +++ b/sw/qa/extras/rtftok/data/fdo48356.rtf @@ -0,0 +1,3 @@ +{\rtf1 +Ma\u269\'0dek +\par } diff --git a/sw/qa/extras/rtftok/rtftok.cxx b/sw/qa/extras/rtftok/rtftok.cxx index fad769cfaef7..fa1321f25ef0 100644 --- a/sw/qa/extras/rtftok/rtftok.cxx +++ b/sw/qa/extras/rtftok/rtftok.cxx @@ -81,6 +81,7 @@ public: void testFdo45182(); void testFdo44176(); void testFdo39053(); + void testFdo48356(); CPPUNIT_TEST_SUITE(RtfModelTest); #if !defined(MACOSX) && !defined(WNT) @@ -104,6 +105,7 @@ public: CPPUNIT_TEST(testFdo45182); CPPUNIT_TEST(testFdo44176); CPPUNIT_TEST(testFdo39053); + CPPUNIT_TEST(testFdo48356); #endif CPPUNIT_TEST_SUITE_END(); @@ -554,6 +556,24 @@ void RtfModelTest::testFdo39053() CPPUNIT_ASSERT_EQUAL(1, nAsCharacter); } +void RtfModelTest::testFdo48356() +{ + load("fdo48356.rtf"); + + uno::Reference xTextDocument(mxComponent, uno::UNO_QUERY); + uno::Reference xParaEnumAccess(xTextDocument->getText(), uno::UNO_QUERY); + uno::Reference xParaEnum = xParaEnumAccess->createEnumeration(); + OUStringBuffer aBuf; + int i = 0; + while (xParaEnum->hasMoreElements()) + { + xParaEnum->nextElement(); + i++; + } + // The document used to be imported as two paragraphs. + CPPUNIT_ASSERT_EQUAL(1, i); +} + CPPUNIT_TEST_SUITE_REGISTRATION(RtfModelTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit