[Libreoffice-commits] core.git: sw/qa sw/sdi

Mike Kaganski mike.kaganski at collabora.com
Mon Nov 27 15:33:17 UTC 2017


 sw/qa/extras/uiwriter/uiwriter.cxx |   22 ++++++++++++++++++++++
 sw/sdi/swriter.sdi                 |    2 +-
 2 files changed, 23 insertions(+), 1 deletion(-)

New commits:
commit 9c6b114950b36811e5cf2cb5a6a00f5c05053872
Author: Mike Kaganski <mike.kaganski at collabora.com>
Date:   Mon Nov 27 12:28:50 2017 +0300

    tdf#108048: update InsertBreak slot to use PageNumberFilled param
    
    Since commit c2ccd20c0fd92bddfff76447754541705e3eb8f3 (tdf#44689),
    SwWrtShell::InsertPageBreak takes page number as optional argument.
    The FN_INSERT_BREAK_DLG case in SwTextShell::Execute expects third
    parameter (FN_PARAM_3) to be boolean flag indicating if page number
    is filled. But corresponding sw slot was not updated to that fact.
    This prevented macros inserting page breaks with page numbers to be
    properly recorded, and one couldn't fix that manually, too, because
    the slot didn't expect that extra param (which would be dropped in
    TransformParameters).
    
    This adds the boolean parameter named PageNumberFilled to the list
    of InsertBreak slot.
    
    Unit test included.
    
    Change-Id: Ibccaece59b0e9848c0b754aa91b6700054b7fe97
    Reviewed-on: https://gerrit.libreoffice.org/45319
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index 6bd634596c2f..89ca0a775383 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -287,6 +287,7 @@ public:
     void testTdf99689TableOfFigures();
     void testTdf99689TableOfTables();
     void testTdf113790();
+    void testTdf108048();
 
     CPPUNIT_TEST_SUITE(SwUiWriterTest);
     CPPUNIT_TEST(testReplaceForward);
@@ -455,6 +456,7 @@ public:
     CPPUNIT_TEST(testTdf99689TableOfFigures);
     CPPUNIT_TEST(testTdf99689TableOfTables);
     CPPUNIT_TEST(testTdf113790);
+    CPPUNIT_TEST(testTdf108048);
     CPPUNIT_TEST_SUITE_END();
 
 private:
@@ -5579,6 +5581,26 @@ void SwUiWriterTest::testTdf113790()
     CPPUNIT_ASSERT(dynamic_cast<SwXTextDocument *>(mxComponent.get()));
 }
 
+void SwUiWriterTest::testTdf108048()
+{
+    createDoc();
+
+    uno::Sequence<beans::PropertyValue> aPropertyValues = comphelper::InitPropertySequence({
+        { "Kind", uno::makeAny(sal_Int16(3)) },
+        { "TemplateName", uno::makeAny(OUString("Default Style")) },
+        { "PageNumber", uno::makeAny(sal_uInt16(6)) }, // Even number to avoid auto-inserted blank page
+        { "PageNumberFilled", uno::makeAny(true) },
+    });
+    lcl_dispatchCommand(mxComponent, ".uno:InsertBreak", aPropertyValues);
+    CPPUNIT_ASSERT_EQUAL(2, getParagraphs());
+    CPPUNIT_ASSERT_EQUAL(2, getPages());
+
+    // The inserted page must have page number set to 6
+    uno::Reference<text::XTextRange> xPara = getParagraph(2);
+    sal_uInt16 nPageNumber = getProperty< sal_uInt16 >(xPara, "PageNumberOffset");
+    CPPUNIT_ASSERT_EQUAL(sal_uInt16(6), nPageNumber);
+}
+
 CPPUNIT_TEST_SUITE_REGISTRATION(SwUiWriterTest);
 CPPUNIT_PLUGIN_IMPLEMENT();
 
diff --git a/sw/sdi/swriter.sdi b/sw/sdi/swriter.sdi
index 90aa48538dc7..2f0d5d9ec45a 100644
--- a/sw/sdi/swriter.sdi
+++ b/sw/sdi/swriter.sdi
@@ -2538,7 +2538,7 @@ SfxVoidItem InsertBookmark FN_INSERT_BOOKMARK
 ]
 
 SfxVoidItem InsertBreak FN_INSERT_BREAK_DLG
-(SfxInt16Item Kind FN_INSERT_BREAK_DLG,SfxStringItem TemplateName FN_PARAM_1,SfxUInt16Item PageNumber FN_PARAM_2)
+(SfxInt16Item Kind FN_INSERT_BREAK_DLG,SfxStringItem TemplateName FN_PARAM_1,SfxUInt16Item PageNumber FN_PARAM_2,SfxBoolItem PageNumberFilled FN_PARAM_3)
 [
     AutoUpdate = FALSE,
     FastCall = FALSE,


More information about the Libreoffice-commits mailing list