diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2013-06-04 12:21:11 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-06-04 14:03:49 +0200 |
commit | 9a63f21bcefe07250de463c488c459b0767534b4 (patch) | |
tree | 6d77cea1111dd3da2b3eb9b408fbaad0fea31073 /sw | |
parent | a1929fb6282e33770bced4c6a1cd9e0760947f9f (diff) |
fdo#62044 RTF import: don't overwrite existing styles when pasting
(cherry picked from commit 2ade07126971b79c92f729fae5709f2e2e2b495c)
Conflicts:
sw/qa/extras/rtfimport/rtfimport.cxx
Change-Id: I80a83caebc8fa3f038cf2ff080c6c6ec8e93fb70
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/rtfimport/data/fdo62044-paste.rtf | 7 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/data/fdo62044.rtf | 7 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 14 |
3 files changed, 28 insertions, 0 deletions
diff --git a/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf b/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf new file mode 100644 index 000000000000..cea4373f5ca8 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/fdo62044-paste.rtf @@ -0,0 +1,7 @@ +{\rtf +{\stylesheet +{\s14\fs36 Heading1;} +} +from impress +\par +} diff --git a/sw/qa/extras/rtfimport/data/fdo62044.rtf b/sw/qa/extras/rtfimport/data/fdo62044.rtf new file mode 100644 index 000000000000..8ab293bbb7ac --- /dev/null +++ b/sw/qa/extras/rtfimport/data/fdo62044.rtf @@ -0,0 +1,7 @@ +{\rtf1 +{\stylesheet +{\s1\fs20 Heading 1;} +} +\s1 this is heading 1 +\par +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 5aadfa64b72b..4700ecbb028d 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -137,6 +137,7 @@ public: void testFdo62977(); void testN818997(); void testFdo64671(); + void testFdo62044(); CPPUNIT_TEST_SUITE(Test); #if !defined(MACOSX) && !defined(WNT) @@ -263,6 +264,7 @@ void Test::run() {"fdo62977.rtf", &Test::testFdo62977}, {"n818997.rtf", &Test::testN818997}, {"fdo64671.rtf", &Test::testFdo64671}, + {"fdo62044.rtf", &Test::testFdo62044}, }; header(); for (unsigned int i = 0; i < SAL_N_ELEMENTS(aMethods); ++i) @@ -1248,6 +1250,18 @@ void Test::testFdo64671() getRun(getParagraph(1), 1, OUString("\xC5\xBD", 2, RTL_TEXTENCODING_UTF8)); } +void Test::testFdo62044() +{ + // The problem was that RTF import during copy&paste did not ignore existing paragraph styles. + uno::Reference<text::XTextDocument> xTextDocument(mxComponent, uno::UNO_QUERY); + uno::Reference<text::XTextRange> xText(xTextDocument->getText(), uno::UNO_QUERY); + uno::Reference<text::XTextRange> xEnd = xText->getEnd(); + paste("fdo62044-paste.rtf", xEnd); + + uno::Reference<beans::XPropertySet> xPropertySet(getStyles("ParagraphStyles")->getByName("Heading 1"), uno::UNO_QUERY); + CPPUNIT_ASSERT_EQUAL(10.f, getProperty<float>(xPropertySet, "CharHeight")); // Was 18, i.e. reset back to original value. +} + CPPUNIT_TEST_SUITE_REGISTRATION(Test); CPPUNIT_PLUGIN_IMPLEMENT(); |