sw/qa/uitest/writer_dialogs/openDialogs.py |    4 -
 sw/qa/uitest/writer_tests4/exportToPDF.py  |   71 +++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 2 deletions(-)

New commits:
commit 67c541621b701a6873f4e507ad9cc4119b2985bf
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Nov 12 10:10:07 2021 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Fri Nov 12 12:05:36 2021 +0100

    uitest: sw: Add UItest for .uno:ExportToPDF
    
    Change-Id: Icb28ec46e2db5c67f105a61a79e65edfde1df6a3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125081
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/qa/uitest/writer_dialogs/openDialogs.py 
b/sw/qa/uitest/writer_dialogs/openDialogs.py
index 4f7c97835dbd..3579956f1256 100644
--- a/sw/qa/uitest/writer_dialogs/openDialogs.py
+++ b/sw/qa/uitest/writer_dialogs/openDialogs.py
@@ -13,8 +13,8 @@ dialogs = [
     {"command": ".uno:OpenRemote", "closeButton": "cancel"},
     {"command": ".uno:NewDoc", "closeButton": "close"},
     {"command": ".uno:SaveAsTemplate", "closeButton": "cancel"},
-    {"command": ".uno:ExportToPDF", "closeButton": "cancel", "skipTestOK": 
True},
-        # export needs filesystem
+    #{"command": ".uno:ExportToPDF", "closeButton": "cancel", "skipTestOK": 
True},
+        # tested in sw/qa/uitest/writer_tests4/exportToPDF.py
     {"command": ".uno:ExportToEPUB", "closeButton": "cancel", "skipTestOK": 
True},
         # export needs filesystem
     {"command": ".uno:Print", "closeButton": "cancel", "skipTestOK": True},
diff --git a/sw/qa/uitest/writer_tests4/exportToPDF.py 
b/sw/qa/uitest/writer_tests4/exportToPDF.py
new file mode 100644
index 000000000000..cc35227d09b8
--- /dev/null
+++ b/sw/qa/uitest/writer_tests4/exportToPDF.py
@@ -0,0 +1,71 @@
+#
+# 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 uitest.uihelper.common import get_state_as_dict, get_url_for_data_file
+from uitest.uihelper.common import type_text
+from libreoffice.uno.propertyvalue import mkPropertyValues
+from org.libreoffice.unotest import systemPathToFileUrl
+from tempfile import TemporaryDirectory
+import os.path
+
+class exportToPDF(UITestCase):
+
+    def test_checkDefaultValues(self):
+
+        with TemporaryDirectory() as tempdir:
+            xFilePath = os.path.join(tempdir, 'exportToPDFFromWriter-tmp.pdf')
+
+            with self.ui_test.create_doc_in_start_center("writer"):
+
+                xMainWindow = self.xUITest.getTopFocusWindow()
+                xEdit = xMainWindow.getChild("writer_edit")
+
+                type_text(xEdit, "Hello World")
+
+                # Export as PDF
+                with 
self.ui_test.execute_dialog_through_command('.uno:ExportToPDF', 
close_button="") as xDialog:
+
+                    selectedChildren = ['bookmarks', 'display', 'effects', 
'enablea11y', 'enablecopy', 'exporturl', 'forms', 'reduceresolution']
+
+                    for child in selectedChildren:
+                        self.assertEqual("true", 
get_state_as_dict(xDialog.getChild(child))['Selected'])
+
+                    nonSelectedChildren = ['allowdups', 'center', 'comments', 
'convert', 'embed', 'emptypages', 'export', 'exportplaceholders',
+                            'firstonleft', 'hiddenpages', 'menubar', 'notes', 
'onlynotes', 'open', 'pdfa', 'pdfua', 'resize', 'singlepagesheets',
+                            'tagged', 'toolbar', 'usereferencexobject', 
'viewpdf', 'watermark', 'window']
+
+                    for child in nonSelectedChildren:
+                        self.assertEqual("false", 
get_state_as_dict(xDialog.getChild(child))['Selected'])
+
+                    checkedChildren = ['all', 'allbookmarks', 'changeany', 
'default', 'defaultlayout', 'fitdefault', 'jpegcompress', 'pageonly', 
'printhigh']
+
+                    for child in checkedChildren:
+                        self.assertEqual("true", 
get_state_as_dict(xDialog.getChild(child))['Checked'])
+
+                    nonCheckedChildren = ['changecomment', 'changeform', 
'changeinsdel', 'changenone', 'contfacinglayout', 'contlayout', 'fitvis',
+                            'fitwidth', 'fitwin', 'fitzoom', 
'losslesscompress', 'openinternet', 'openpdf', 'outline', 'printlow', 
'printnone', 'range',
+                            'selection', 'singlelayout', 'thumbs', 
'visiblebookmark']
+
+                    for child in nonCheckedChildren:
+                        self.assertEqual("false", 
get_state_as_dict(xDialog.getChild(child))['Checked'])
+
+                    self.assertEqual("300 DPI", 
get_state_as_dict(xDialog.getChild("resolution"))['Text'])
+                    self.assertEqual("90%", 
get_state_as_dict(xDialog.getChild("quality"))['Text'])
+                    self.assertEqual("FDF", 
get_state_as_dict(xDialog.getChild("format"))['DisplayText'])
+
+                    xOk = xDialog.getChild("ok")
+                    with self.ui_test.execute_dialog_through_action(xOk, 
"CLICK", close_button="open") as xSaveDialog:
+                        xFileName = xSaveDialog.getChild('file_name')
+                        xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'CTRL+A'}))
+                        xFileName.executeAction('TYPE', 
mkPropertyValues({'KEYCODE':'BACKSPACE'}))
+                        xFileName.executeAction('TYPE', 
mkPropertyValues({'TEXT': xFilePath}))
+
+            with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
+
+                self.assertEqual("Hello World", 
document.DrawPages[0].getByIndex(0).String)
+
+# vim: set shiftwidth=4 softtabstop=4 expandtab:

Reply via email to