From bbdb6cb8ed0d77eeb2e413b38f29d2084bd8257b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20N=C3=A9meth?= Date: Tue, 26 Jun 2018 15:01:05 +0200 Subject: [PATCH] tdf#107690 DOCX, XLSX and PPTX unit tests for "Open as read-only" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ie. OOXML export/import of "_MarkAsFinal" MSO document property. Change-Id: I01f0702d5467e78eb93ce8dce8ba25874839c3e3 Reviewed-on: https://gerrit.libreoffice.org/56475 Tested-by: Jenkins Reviewed-by: László Németh --- sc/qa/unit/data/xlsx/open-as-read-only.xlsx | Bin 0 -> 5211 bytes sc/qa/unit/subsequent_export-test.cxx | 12 ++++++++++++ sd/qa/unit/data/pptx/open-as-read-only.pptx | Bin 0 -> 21569 bytes sd/qa/unit/export-tests-ooxml2.cxx | 12 ++++++++++++ .../ooxmlexport/data/open-as-read-only.docx | Bin 0 -> 4594 bytes sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 7 +++++++ 6 files changed, 31 insertions(+) create mode 100644 sc/qa/unit/data/xlsx/open-as-read-only.xlsx create mode 100644 sd/qa/unit/data/pptx/open-as-read-only.pptx create mode 100644 sw/qa/extras/ooxmlexport/data/open-as-read-only.docx diff --git a/sc/qa/unit/data/xlsx/open-as-read-only.xlsx b/sc/qa/unit/data/xlsx/open-as-read-only.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e871a95d399736f794d9883d5c64c9d04825e47a GIT binary patch literal 5211 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 + ScDocShellRef xDocSh2 = saveAndReload(xDocSh.get(), FORMAT_XLSX); + CPPUNIT_ASSERT(xDocSh2->IsSecurityOptOpenReadOnly()); + xDocSh->DoClose(); + xDocSh2->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(ScExportTest); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sd/qa/unit/data/pptx/open-as-read-only.pptx b/sd/qa/unit/data/pptx/open-as-read-only.pptx new file mode 100644 index 0000000000000000000000000000000000000000..57a4d32de7f48042ae819f5d725ebbd07d9bbf33 GIT binary patch literal 21569 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 literal 0 HcmV?d00001 diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 01ca434b33b3..6ca55d72a4e3 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -145,6 +145,7 @@ public: void testTdf90627(); void testTdf104786(); void testTdf104789(); + void testOpenDocumentAsReadOnly(); CPPUNIT_TEST_SUITE(SdOOXMLExportTest2); @@ -211,6 +212,7 @@ public: CPPUNIT_TEST(testTdf90627); CPPUNIT_TEST(testTdf104786); CPPUNIT_TEST(testTdf104789); + CPPUNIT_TEST(testOpenDocumentAsReadOnly); CPPUNIT_TEST_SUITE_END(); @@ -1682,6 +1684,16 @@ void SdOOXMLExportTest2::testTdf104789() xDocShRef->DoClose(); } +void SdOOXMLExportTest2::testOpenDocumentAsReadOnly() +{ + ::sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("sd/qa/unit/data/pptx/open-as-read-only.pptx"), PPTX); + CPPUNIT_ASSERT(xDocShRef->IsSecurityOptOpenReadOnly()); + utl::TempFile tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile); + CPPUNIT_ASSERT(xDocShRef->IsSecurityOptOpenReadOnly()); + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest2); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/qa/extras/ooxmlexport/data/open-as-read-only.docx b/sw/qa/extras/ooxmlexport/data/open-as-read-only.docx new file mode 100644 index 0000000000000000000000000000000000000000..057c67ff6dfe3cb543af623ae2d083884e72c0ac GIT binary patch literal 4594 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 Mf!JPQb&~o20k$M|lmGw# literal 0 HcmV?d00001 diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 730765a8c9ff..3e1c80d23ace 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -408,6 +408,13 @@ DECLARE_OOXMLEXPORT_TEST(testTdf107969, "tdf107969.docx") // SAXParseException: '[word/document.xml line 2]: Extra content at the end of the document', Stream 'word/document.xml'. } +DECLARE_OOXMLEXPORT_TEST(testOpenDocumentAsReadOnly, "open-as-read-only.docx") +{ + SwXTextDocument* pTextDoc = dynamic_cast(mxComponent.get()); + CPPUNIT_ASSERT(pTextDoc); + CPPUNIT_ASSERT(pTextDoc->GetDocShell()->IsSecurityOptOpenReadOnly()); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */