[Libreoffice-commits] core.git: sc/qa
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Tue Feb 26 08:46:59 UTC 2019
sc/qa/uitest/calc_tests/data/tdf120161.ods |binary
sc/qa/uitest/calc_tests/tdf120161.py | 84 +++++++++++++++++++++++++++++
2 files changed, 84 insertions(+)
New commits:
commit 3af17a75409965ab6326902e004f6bf5bc37ac71
Author: Serge Krot <Serge.Krot at cib.de>
AuthorDate: Mon Feb 25 09:01:02 2019 +0100
Commit: Thorsten Behrens <Thorsten.Behrens at CIB.de>
CommitDate: Tue Feb 26 09:46:37 2019 +0100
tdf#120161 calc uitest: print selection on cross pages
Change-Id: I3578a1c3e345211d3504d8abf6c520defb62f448
Reviewed-on: https://gerrit.libreoffice.org/68299
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>
diff --git a/sc/qa/uitest/calc_tests/data/tdf120161.ods b/sc/qa/uitest/calc_tests/data/tdf120161.ods
new file mode 100755
index 000000000000..4b2c6e3ce69c
Binary files /dev/null and b/sc/qa/uitest/calc_tests/data/tdf120161.ods differ
diff --git a/sc/qa/uitest/calc_tests/tdf120161.py b/sc/qa/uitest/calc_tests/tdf120161.py
new file mode 100755
index 000000000000..ed04a3d91511
--- /dev/null
+++ b/sc/qa/uitest/calc_tests/tdf120161.py
@@ -0,0 +1,84 @@
+# -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+from uitest.framework import UITestCase
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from uitest.path import get_srcdir_url
+import os
+from tempfile import TemporaryDirectory
+
+
+def get_url_for_data_file(file_name):
+ return get_srcdir_url() + "/sc/qa/uitest/calc_tests/data/" + file_name
+
+
+# Bug 120161: PRINTING, PDF Export: Problem with selected cells which cross pages
+class tdf120161(UITestCase):
+ def getFileContent(self, pathAndFileName):
+ with open(pathAndFileName, 'rb') as theFile: # b is important -> binary
+ # Return as binary string
+ data = theFile.read()
+ return data
+
+ def verifyExportToFile(self, xDoc, xContext, xRange, xFontName, xFilename):
+ # set selection
+ xGridWin = xDoc.getChild("grid_window")
+ xGridWin.executeAction("SELECT", mkPropertyValues({"RANGE": xRange}))
+
+ # set print area
+ self.xUITest.executeCommand(".uno:DefinePrintArea")
+
+ # create temp file name
+ xURL = 'file:///' + xFilename
+
+ # prepare to export into pdf
+ xServiceManager = xContext.ServiceManager
+ xDispatcher = xServiceManager.createInstanceWithContext(
+ 'com.sun.star.frame.DispatchHelper', xContext)
+ xDocFrame = self.ui_test.get_desktop().getCurrentFrame()
+ document = self.ui_test.get_component()
+
+ # get selection
+ xSelection = document.Sheets.getByName("Sheet1").getCellRangeByName(xRange)
+ self.assertIsNotNone(xSelection)
+
+ # run export into pdf
+ xFilterData = mkPropertyValues(
+ {'Selection': xSelection, 'ViewPDFAfterExport': True, 'Printing': '2'})
+ xParams = mkPropertyValues(
+ {'URL': xURL, 'FilterName': 'calc_pdf_Export', 'FilterData': xFilterData})
+ xDispatcher.executeDispatch(xDocFrame, '.uno:ExportToPDF', '', 0, xParams)
+
+ # check resulting pdf file
+ xFileContent = self.getFileContent(xFilename)
+ position = xFileContent.find(xFontName)
+ return position > 0
+
+ # create temp directory and filename inside it
+ def verifyExport(self, xDoc, xContext, xRange, xFontName):
+ with TemporaryDirectory() as tempdir:
+ if os.altsep: # we need URL so replace "\" with "/"
+ tempdir = tempdir.replace(os.sep, os.altsep)
+ xFilename = tempdir + "/tdf120161-temp.pdf"
+ return self.verifyExportToFile(xDoc, xContext, xRange, xFontName, xFilename)
+ return False
+
+ def test_tdf120161(self):
+ calc_doc = self.ui_test.load_file(get_url_for_data_file("tdf120161.ods"))
+ xDoc = self.xUITest.getTopFocusWindow()
+ xContext = self.xContext
+
+ # check different areas to be printed without any lost cell
+ # note:
+ # 1. Visually in GridView G1 is on page-1 and H1 is on page-2
+ # 2. DejaVuSans is used only in H1
+ self.assertFalse(self.verifyExport(xDoc, xContext, "A1:G1", b"DejaVuSans"))
+ self.assertTrue(self.verifyExport(xDoc, xContext, "H1:I1", b"DejaVuSans"))
+ self.assertTrue(self.verifyExport(xDoc, xContext, "G1:H1", b"DejaVuSans"))
+
+ self.ui_test.close_doc()
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:
More information about the Libreoffice-commits
mailing list