desktop/unx/source/start.c | 2 sw/qa/extras/autocorrect/autocorrect.cxx | 67 +++++++ sw/qa/extras/autocorrect/data/de-DE.fodt | 6 sw/qa/extras/autocorrect/data/fr-FR.fodt | 15 + sw/qa/extras/uiwriter/data/tdf151801.fodt | 260 ------------------------------ sw/qa/extras/uiwriter/uiwriter8.cxx | 66 ------- 6 files changed, 86 insertions(+), 330 deletions(-)
New commits: commit bc3fd0c8110256c920669e6e355b42504b17c7b2 Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Mon Jul 15 18:06:08 2024 +0200 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Mon Jul 15 23:10:07 2024 +0200 -Werror,-Wgnu-folding-constant > desktop/unx/source/start.c:788:23: error: variable length array folded to constant array as an extension [-Werror,-Wgnu-folding-constant] > 788 | char resp[strlen("InternalIPC::SendArguments") + 1]; > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ since <https://github.com/llvm/llvm-project/commit/e4163c0927772f2ec73cf16d53e000614c419c45> "[clang] Emit bad shift warnings (#70307)" (and see the comments starting at <https://github.com/llvm/llvm-project/pull/70307#issuecomment-2228342153> "[clang] Emit bad shift warnings" for how this new warning is indeed intentional) Change-Id: Ie439a0f5f6f3b256fa82ec3a05fdc5fb3b840715 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170510 Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> Tested-by: Jenkins diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index 0bb009d9c598..9094ca228a08 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -785,7 +785,7 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS(argc, argv) if ((fd=connect_pipe(pPipePath)) >= 0) { // Wait for answer - char resp[strlen("InternalIPC::SendArguments") + 1]; + char resp[27]; // strlen("InternalIPC::SendArguments") + 1 ssize_t n = read(fd, resp, SAL_N_ELEMENTS(resp)); if (n == (ssize_t) SAL_N_ELEMENTS(resp) && (memcmp(resp, "InternalIPC::SendArguments", commit a14f0b14c4a0904d37c5ad5b18400d832bde7804 Author: Xisco Fauli <xiscofa...@libreoffice.org> AuthorDate: Mon Jul 15 17:14:02 2024 +0200 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Mon Jul 15 23:10:04 2024 +0200 CppunitTest_sw_autocorrect: move some tests here and name them by language Change-Id: I634d31cd968ffdcbf2b92766980cae8bfb2afdb5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170506 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> diff --git a/sw/qa/extras/autocorrect/autocorrect.cxx b/sw/qa/extras/autocorrect/autocorrect.cxx index bc06aaece662..abc752dd4865 100644 --- a/sw/qa/extras/autocorrect/autocorrect.cxx +++ b/sw/qa/extras/autocorrect/autocorrect.cxx @@ -9,7 +9,9 @@ #include <swmodeltestbase.hxx> +#include <comphelper/configuration.hxx> #include <docsh.hxx> +#include <officecfg/Office/Common.hxx> #include <unotxdoc.hxx> // If you want to add a test for a language that doesn't exists yet @@ -38,6 +40,71 @@ CPPUNIT_TEST_FIXTURE(SwAutoCorrect, nl_BE) CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); } +CPPUNIT_TEST_FIXTURE(SwAutoCorrect, fr_FR) +{ + createSwDoc("fr-FR.fodt"); + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + + dispatchCommand(mxComponent, u".uno:GoToEndOfDoc"_ustr, {}); + + // tdf#158703: Typing ":" after the spaces should start auto-correction, which is expected to + // remove the spaces, and insert an NBSP instead. It must not crash. + emulateTyping(*pTextDoc, u"Foo :"); + CPPUNIT_ASSERT_EQUAL(u"Foo\u00A0:"_ustr, getParagraph(1)->getString()); +} + +CPPUNIT_TEST_FIXTURE(SwAutoCorrect, pt_BR) +{ + createSwDoc("pt-BR.fodt"); + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + + // tdf#44293 + emulateTyping(*pTextDoc, u"1a 1o "); + CPPUNIT_ASSERT_EQUAL(u"1.a 1.o "_ustr, getParagraph(1)->getString()); + emulateTyping(*pTextDoc, u"1ra 1ro "); + CPPUNIT_ASSERT_EQUAL(u"1.a 1.o 1.a 1.o "_ustr, getParagraph(1)->getString()); + emulateTyping(*pTextDoc, u"43as 43os 43ras 43ros "); + CPPUNIT_ASSERT_EQUAL(u"1.a 1.o 1.a 1.o 43.as 43.os 43.as 43.os "_ustr, + getParagraph(1)->getString()); +} + +CPPUNIT_TEST_FIXTURE(SwAutoCorrect, de_DE) +{ + Resetter resetter([]() { + std::shared_ptr<comphelper::ConfigurationChanges> pBatch( + comphelper::ConfigurationChanges::create()); + officecfg::Office::Common::AutoCorrect::SingleQuoteAtStart::set(0, pBatch); + officecfg::Office::Common::AutoCorrect::SingleQuoteAtEnd::set(0, pBatch); + return pBatch->commit(); + }); + // Set Single Quotes › and ‹ + std::shared_ptr<comphelper::ConfigurationChanges> pBatch( + comphelper::ConfigurationChanges::create()); + officecfg::Office::Common::AutoCorrect::SingleQuoteAtStart::set(8250, pBatch); + officecfg::Office::Common::AutoCorrect::SingleQuoteAtEnd::set(8249, pBatch); + pBatch->commit(); + + createSwDoc("de-DE.fodt"); + SwDoc* pDoc = getSwDoc(); + SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); + CPPUNIT_ASSERT(pWrtShell); + SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); + // tdf#151801: Single starting quote: 'word -> ›word + emulateTyping(*pTextDoc, u"'word"); + OUString sReplaced(u"\u203Aword"_ustr); + CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); + // tdf#151801: Single ending quote: ›word' -> ›word‹ + emulateTyping(*pTextDoc, u"'"); + sReplaced += u"\u2039"; + CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); + // tdf#151801: Use apostrophe without preceding starting quote: word' -> word’ + emulateTyping(*pTextDoc, u" word'"); + sReplaced += u" word\u2019"; + CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/qa/extras/uiwriter/data/tdf158703.fodt b/sw/qa/extras/autocorrect/data/de-DE.fodt similarity index 80% rename from sw/qa/extras/uiwriter/data/tdf158703.fodt rename to sw/qa/extras/autocorrect/data/de-DE.fodt index 5fc03d015f7e..148ef19051b5 100644 --- a/sw/qa/extras/uiwriter/data/tdf158703.fodt +++ b/sw/qa/extras/autocorrect/data/de-DE.fodt @@ -3,12 +3,12 @@ <office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> <office:automatic-styles> <style:style style:name="P1" style:family="paragraph"> - <style:text-properties fo:language="fr" fo:country="FR"/> + <style:text-properties fo:language="de" fo:country="DE"/> </style:style> </office:automatic-styles> <office:body> <office:text> - <text:p text:style-name="P1">Foo <text:s text:c="5"/></text:p> + <text:p text:style-name="P1"></text:p> </office:text> </office:body> -</office:document> \ No newline at end of file +</office:document> diff --git a/sw/qa/extras/autocorrect/data/fr-FR.fodt b/sw/qa/extras/autocorrect/data/fr-FR.fodt new file mode 100644 index 000000000000..8f2092c15144 --- /dev/null +++ b/sw/qa/extras/autocorrect/data/fr-FR.fodt @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.text"> + <office:styles> + <style:style style:name="Standard" style:family="paragraph" style:class="text"/> + <style:default-style style:family="paragraph"> + <style:text-properties fo:language="fr" fo:country="FR"/> + </style:default-style> + </office:styles> + <office:body> + <office:text> + <text:p text:style-name="Standard"></text:p> + </office:text> + </office:body> +</office:document> diff --git a/sw/qa/extras/uiwriter/data/tdf44293.fodt b/sw/qa/extras/autocorrect/data/pt-BR.fodt similarity index 100% rename from sw/qa/extras/uiwriter/data/tdf44293.fodt rename to sw/qa/extras/autocorrect/data/pt-BR.fodt diff --git a/sw/qa/extras/uiwriter/data/tdf151801.fodt b/sw/qa/extras/uiwriter/data/tdf151801.fodt deleted file mode 100644 index e596a0c2e92a..000000000000 --- a/sw/qa/extras/uiwriter/data/tdf151801.fodt +++ /dev/null @@ -1,260 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<office:document xmlns:officeooo="http://openoffice.org/2009/office" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:dc="http://purl.org/dc/eleme nts/1.1/" xmlns:ooo="http://openoffice.org/2004/office" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0 " xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" office:version="1.2" office:mimetype="application/vnd.oasis.opendocument.text"> - <office:meta><meta:document-statistic meta:table-count="0" meta:image-count="0" meta:object-count="0" meta:page-count="1" meta:paragraph-count="0" meta:word-count="0" meta:character-count="0" meta:non-whitespace-character-count="0"/><meta:generator>LibreOffice/6.4.7.2$Linux_X86_64 LibreOffice_project/40$Build-2</meta:generator></office:meta> - <office:settings> - <config:config-item-set config:name="ooo:view-settings"> - <config:config-item config:name="ViewAreaTop" config:type="long">0</config:config-item> - <config:config-item config:name="ViewAreaLeft" config:type="long">0</config:config-item> - <config:config-item config:name="ViewAreaWidth" config:type="long">33207</config:config-item> - <config:config-item config:name="ViewAreaHeight" config:type="long">21036</config:config-item> - <config:config-item config:name="ShowRedlineChanges" config:type="boolean">true</config:config-item> - <config:config-item config:name="InBrowseMode" config:type="boolean">false</config:config-item> - <config:config-item-map-indexed config:name="Views"> - <config:config-item-map-entry> - <config:config-item config:name="ViewId" config:type="string">view2</config:config-item> - <config:config-item config:name="ViewLeft" config:type="long">8103</config:config-item> - <config:config-item config:name="ViewTop" config:type="long">2501</config:config-item> - <config:config-item config:name="VisibleLeft" config:type="long">0</config:config-item> - <config:config-item config:name="VisibleTop" config:type="long">0</config:config-item> - <config:config-item config:name="VisibleRight" config:type="long">33205</config:config-item> - <config:config-item config:name="VisibleBottom" config:type="long">21034</config:config-item> - <config:config-item config:name="ZoomType" config:type="short">0</config:config-item> - <config:config-item config:name="ViewLayoutColumns" config:type="short">1</config:config-item> - <config:config-item config:name="ViewLayoutBookMode" config:type="boolean">false</config:config-item> - <config:config-item config:name="ZoomFactor" config:type="short">100</config:config-item> - <config:config-item config:name="IsSelectedFrame" config:type="boolean">false</config:config-item> - <config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item> - </config:config-item-map-entry> - </config:config-item-map-indexed> - </config:config-item-set> - <config:config-item-set config:name="ooo:configuration-settings"> - <config:config-item config:name="PrintProspect" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintReversed" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintSingleJobs" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintLeftPages" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintTables" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintControls" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintPageBackground" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintDrawings" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintBlackFonts" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintAnnotationMode" config:type="short">0</config:config-item> - <config:config-item config:name="PrintTextPlaceholder" config:type="boolean">false</config:config-item> - <config:config-item config:name="EmptyDbFieldHidesPara" config:type="boolean">false</config:config-item> - <config:config-item config:name="DisableOffPagePositioning" config:type="boolean">false</config:config-item> - <config:config-item config:name="SubtractFlysAnchoredAtFlys" config:type="boolean">false</config:config-item> - <config:config-item config:name="PropLineSpacingShrinksFirstLine" config:type="boolean">true</config:config-item> - <config:config-item config:name="ApplyParagraphMarkFormatToNumbering" config:type="boolean">false</config:config-item> - <config:config-item config:name="TreatSingleColumnBreakAsPageBreak" config:type="boolean">false</config:config-item> - <config:config-item config:name="EmbedSystemFonts" config:type="boolean">false</config:config-item> - <config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item> - <config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item> - <config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item> - <config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item> - <config:config-item config:name="ContinuousEndnotes" config:type="boolean">false</config:config-item> - <config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item> - <config:config-item config:name="ClippedPictures" config:type="boolean">false</config:config-item> - <config:config-item config:name="FloattableNomargins" config:type="boolean">false</config:config-item> - <config:config-item config:name="UnbreakableNumberings" config:type="boolean">false</config:config-item> - <config:config-item config:name="HeaderSpacingBelowLastPara" config:type="boolean">false</config:config-item> - <config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item> - <config:config-item config:name="UseOldPrinterMetrics" config:type="boolean">false</config:config-item> - <config:config-item config:name="TabOverMargin" config:type="boolean">false</config:config-item> - <config:config-item config:name="TabsRelativeToIndent" config:type="boolean">true</config:config-item> - <config:config-item config:name="UseOldNumbering" config:type="boolean">false</config:config-item> - <config:config-item config:name="InvertBorderSpacing" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintPaperFromSetup" config:type="boolean">false</config:config-item> - <config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item> - <config:config-item config:name="CurrentDatabaseCommandType" config:type="int">0</config:config-item> - <config:config-item config:name="LinkUpdateMode" config:type="short">1</config:config-item> - <config:config-item config:name="AddParaSpacingToTableCells" config:type="boolean">true</config:config-item> - <config:config-item config:name="CurrentDatabaseCommand" config:type="string"/> - <config:config-item config:name="PrinterIndependentLayout" config:type="string">high-resolution</config:config-item> - <config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrintFaxName" config:type="string"/> - <config:config-item config:name="CurrentDatabaseDataSource" config:type="string"/> - <config:config-item config:name="ClipAsCharacterAnchoredWriterFlyFrames" config:type="boolean">false</config:config-item> - <config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item> - <config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item> - <config:config-item config:name="UseFormerTextWrapping" config:type="boolean">false</config:config-item> - <config:config-item config:name="AddExternalLeading" config:type="boolean">true</config:config-item> - <config:config-item config:name="AddParaTableSpacing" config:type="boolean">true</config:config-item> - <config:config-item config:name="StylesNoDefault" config:type="boolean">false</config:config-item> - <config:config-item config:name="ChartAutoUpdate" config:type="boolean">true</config:config-item> - <config:config-item config:name="PrinterSetup" config:type="base64Binary"/> - <config:config-item config:name="AddParaTableSpacingAtStart" config:type="boolean">true</config:config-item> - <config:config-item config:name="Rsid" config:type="int">1110478</config:config-item> - <config:config-item config:name="EmbeddedDatabaseName" config:type="string"/> - <config:config-item config:name="FieldAutoUpdate" config:type="boolean">true</config:config-item> - <config:config-item config:name="OutlineLevelYieldsNumbering" config:type="boolean">false</config:config-item> - <config:config-item config:name="AlignTabStopPosition" config:type="boolean">true</config:config-item> - <config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item> - <config:config-item config:name="PrinterName" config:type="string"/> - <config:config-item config:name="SaveGlobalDocumentLinks" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item> - <config:config-item config:name="UseFormerLineSpacing" config:type="boolean">false</config:config-item> - <config:config-item config:name="AddParaLineSpacingToTableCells" config:type="boolean">true</config:config-item> - <config:config-item config:name="UseFormerObjectPositioning" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintGraphics" config:type="boolean">true</config:config-item> - <config:config-item config:name="SurroundTextWrapSmall" config:type="boolean">false</config:config-item> - <config:config-item config:name="ConsiderTextWrapOnObjPos" config:type="boolean">false</config:config-item> - <config:config-item config:name="MsWordCompTrailingBlanks" config:type="boolean">false</config:config-item> - <config:config-item config:name="TabAtLeftIndentForParagraphsInList" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintRightPages" config:type="boolean">true</config:config-item> - <config:config-item config:name="IgnoreFirstLineIndentInNumbering" config:type="boolean">false</config:config-item> - <config:config-item config:name="RedlineProtectionKey" config:type="base64Binary"/> - <config:config-item config:name="DoNotJustifyLinesWithManualBreak" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintProspectRTL" config:type="boolean">false</config:config-item> - <config:config-item config:name="PrintEmptyPages" config:type="boolean">true</config:config-item> - <config:config-item config:name="DoNotResetParaAttrsForNumFont" config:type="boolean">false</config:config-item> - <config:config-item config:name="AddFrameOffsets" config:type="boolean">false</config:config-item> - <config:config-item config:name="IgnoreTabsAndBlanksForLineCalculation" config:type="boolean">false</config:config-item> - <config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item> - <config:config-item config:name="DoNotCaptureDrawObjsOnPage" config:type="boolean">false</config:config-item> - <config:config-item config:name="AddVerticalFrameOffsets" config:type="boolean">false</config:config-item> - <config:config-item config:name="UnxForceZeroExtLeading" config:type="boolean">false</config:config-item> - <config:config-item config:name="IsLabelDocument" config:type="boolean">false</config:config-item> - <config:config-item config:name="TableRowKeep" config:type="boolean">false</config:config-item> - <config:config-item config:name="RsidRoot" config:type="int">1110478</config:config-item> - <config:config-item config:name="PrintHiddenText" config:type="boolean">false</config:config-item> - <config:config-item config:name="ProtectForm" config:type="boolean">false</config:config-item> - <config:config-item config:name="MsWordCompMinLineHeightByFly" config:type="boolean">false</config:config-item> - <config:config-item config:name="BackgroundParaOverDrawings" config:type="boolean">false</config:config-item> - <config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item> - <config:config-item config:name="MathBaselineAlignment" config:type="boolean">true</config:config-item> - <config:config-item config:name="SmallCapsPercentage66" config:type="boolean">false</config:config-item> - <config:config-item config:name="CollapseEmptyCellPara" config:type="boolean">true</config:config-item> - <config:config-item config:name="TabOverflow" config:type="boolean">true</config:config-item> - </config:config-item-set> - </office:settings> - <office:scripts> - <office:script script:language="ooo:Basic"> - <ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink"/> - </office:script> - </office:scripts> - <office:font-face-decls> - <style:font-face style:name="Lohit Devanagari1" svg:font-family="'Lohit Devanagari'"/> - <style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/> - <style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/> - <style:font-face style:name="Lohit Devanagari" svg:font-family="'Lohit Devanagari'" style:font-family-generic="system" style:font-pitch="variable"/> - <style:font-face style:name="Noto Sans CJK SC" svg:font-family="'Noto Sans CJK SC'" style:font-family-generic="system" style:font-pitch="variable"/> - <style:font-face style:name="Noto Serif CJK SC" svg:font-family="'Noto Serif CJK SC'" style:font-family-generic="system" style:font-pitch="variable"/> - </office:font-face-decls> - <office:styles> - <style:default-style style:family="graphic"> - <style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/> - <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> - <style:tab-stops/> - </style:paragraph-properties> - <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lohit Devanagari" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/> - </style:default-style> - <style:default-style style:family="paragraph"> - <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="0.741cm" style:writing-mode="page"/> - <style:text-properties style:use-window-font-color="true" style:font-name="Liberation Serif" fo:font-size="12pt" fo:language="de" fo:country="DE" style:letter-kerning="true" style:font-name-asian="Noto Serif CJK SC" style:font-size-asian="10.5pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="Lohit Devanagari" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" loext:hyphenation-no-caps="false"/> - </style:default-style> - <style:default-style style:family="table"> - <style:table-properties table:border-model="collapsing"/> - </style:default-style> - <style:default-style style:family="table-row"> - <style:table-row-properties fo:keep-together="auto"/> - </style:default-style> - <style:style style:name="Standard" style:family="paragraph" style:class="text"/> - <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"> - <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" fo:keep-with-next="always"/> - <style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="14pt" style:font-name-asian="Noto Sans CJK SC" style:font-family-asian="'Noto Sans CJK SC'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="14pt" style:font-name-complex="Lohit Devanagari" style:font-family-complex="'Lohit Devanagari'" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="14pt"/> - </style:style> - <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> - <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.247cm" loext:contextual-spacing="false" fo:line-height="115%"/> - </style:style> - <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> - <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Lohit Devanagari1" style:font-family-complex="'Lohit Devanagari'"/> - </style:style> - <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> - <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" loext:contextual-spacing="false" text:number-lines="false" text:line-number="0"/> - <style:text-properties fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-name-complex="Lohit Devanagari1" style:font-family-complex="'Lohit Devanagari'" style:font-size-complex="12pt" style:font-style-complex="italic"/> - </style:style> - <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> - <style:paragraph-properties text:number-lines="false" text:line-number="0"/> - <style:text-properties style:font-size-asian="12pt" style:font-name-complex="Lohit Devanagari1" style:font-family-complex="'Lohit Devanagari'"/> - </style:style> - <text:outline-style style:name="Outline"> - <text:outline-level-style text:level="1" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="2" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="3" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="4" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="5" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="6" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="7" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="8" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="9" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - <text:outline-level-style text:level="10" style:num-format=""> - <style:list-level-properties text:list-level-position-and-space-mode="label-alignment"> - <style:list-level-label-alignment text:label-followed-by="listtab"/> - </style:list-level-properties> - </text:outline-level-style> - </text:outline-style> - <text:notes-configuration text:note-class="footnote" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="document"/> - <text:notes-configuration text:note-class="endnote" style:num-format="i" text:start-value="0"/> - <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> - </office:styles> - <office:automatic-styles> - <style:page-layout style:name="pm1"> - <style:page-layout-properties fo:page-width="21.001cm" fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> - <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:line-style="solid" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> - </style:page-layout-properties> - <style:header-style/> - <style:footer-style/> - </style:page-layout> - </office:automatic-styles> - <office:master-styles> - <style:master-page style:name="Standard" style:page-layout-name="pm1"/> - </office:master-styles> - <office:body> - <office:text> - <text:sequence-decls> - <text:sequence-decl text:display-outline-level="0" text:name="Illustration"/> - <text:sequence-decl text:display-outline-level="0" text:name="Table"/> - <text:sequence-decl text:display-outline-level="0" text:name="Text"/> - <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/> - <text:sequence-decl text:display-outline-level="0" text:name="Figure"/> - </text:sequence-decls> - <text:p text:style-name="Standard"/> - </office:text> - </office:body> -</office:document> \ No newline at end of file diff --git a/sw/qa/extras/uiwriter/uiwriter8.cxx b/sw/qa/extras/uiwriter/uiwriter8.cxx index 31529eeb9b10..2309983bb75a 100644 --- a/sw/qa/extras/uiwriter/uiwriter8.cxx +++ b/sw/qa/extras/uiwriter/uiwriter8.cxx @@ -2918,41 +2918,6 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf151462) "portion"_ostr, u"another sub three"_ustr); } -CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf151801) -{ - Resetter resetter([]() { - std::shared_ptr<comphelper::ConfigurationChanges> pBatch( - comphelper::ConfigurationChanges::create()); - officecfg::Office::Common::AutoCorrect::SingleQuoteAtStart::set(0, pBatch); - officecfg::Office::Common::AutoCorrect::SingleQuoteAtEnd::set(0, pBatch); - return pBatch->commit(); - }); - // Set Single Quotes › and ‹ - std::shared_ptr<comphelper::ConfigurationChanges> pBatch( - comphelper::ConfigurationChanges::create()); - officecfg::Office::Common::AutoCorrect::SingleQuoteAtStart::set(8250, pBatch); - officecfg::Office::Common::AutoCorrect::SingleQuoteAtEnd::set(8249, pBatch); - pBatch->commit(); - - createSwDoc("tdf151801.fodt"); - SwDoc* pDoc = getSwDoc(); - SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell(); - CPPUNIT_ASSERT(pWrtShell); - SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); - // Single starting quote: 'word -> ›word - emulateTyping(*pTextDoc, u"'word"); - OUString sReplaced(u"\u203Aword"_ustr); - CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); - // Single ending quote: ›word' -> ›word‹ - emulateTyping(*pTextDoc, u"'"); - sReplaced += u"\u2039"; - CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); - // Use apostrophe without preceding starting quote: word' -> word’ - emulateTyping(*pTextDoc, u" word'"); - sReplaced += u" word\u2019"; - CPPUNIT_ASSERT_EQUAL(sReplaced, getParagraph(1)->getString()); -} - CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testCursorPositionAfterUndo) { createSwDoc("cursor_position_after_undo.odt"); @@ -3091,37 +3056,6 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf158459) CPPUNIT_ASSERT_EQUAL(u"abdf"_ustr, pTextNode->GetText()); } -CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf158703) -{ - // Given a document with French text, consisting of a word and several spaces: - createSwDoc("tdf158703.fodt"); - SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); - CPPUNIT_ASSERT(pTextDoc); - - dispatchCommand(mxComponent, u".uno:GoToEndOfDoc"_ustr, {}); - - // Typing ":" after the spaces should start auto-correction, which is expected to - // remove the spaces, and insert an NBSP instead. It must not crash. - emulateTyping(*pTextDoc, u":"); - CPPUNIT_ASSERT_EQUAL(u"Foo\u00A0:"_ustr, getParagraph(1)->getString()); -} - -CPPUNIT_TEST_FIXTURE(SwUiWriterTest8, testTdf44293) -{ - // Given a document with Portuguese text - createSwDoc("tdf44293.fodt"); - SwXTextDocument* pTextDoc = dynamic_cast<SwXTextDocument*>(mxComponent.get()); - CPPUNIT_ASSERT(pTextDoc); - - emulateTyping(*pTextDoc, u"1a 1o "); - CPPUNIT_ASSERT_EQUAL(u"1.a 1.o "_ustr, getParagraph(1)->getString()); - emulateTyping(*pTextDoc, u"1ra 1ro "); - CPPUNIT_ASSERT_EQUAL(u"1.a 1.o 1.a 1.o "_ustr, getParagraph(1)->getString()); - emulateTyping(*pTextDoc, u"43as 43os 43ras 43ros "); - CPPUNIT_ASSERT_EQUAL(u"1.a 1.o 1.a 1.o 43.as 43.os 43.as 43.os "_ustr, - getParagraph(1)->getString()); -} - } // end of anonymous namespace CPPUNIT_PLUGIN_IMPLEMENT();