sw/qa/uitest/writer_tests6/save_readonly_with_password.py |   48 +++++++++++---
 1 file changed, 41 insertions(+), 7 deletions(-)

New commits:
commit 3797007c2fe143dc3c83c72eeb5cc6d1cb401792
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Oct 29 17:53:10 2021 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Sat Oct 30 08:41:07 2021 +0200

    sw: uitest: test "save to ODT as read-only with password protection"
    
    Similar to the UItest added in 1b53c1dfc76f08ca7df40a0673aa50eca700d072
    < tdf#144374 DOCX: export the password for editing > for the DOCX format
    
    Change-Id: Ifceab6bfb683a42db28e1836b173a850a342515a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124444
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sw/qa/uitest/writer_tests6/tdf144374.py 
b/sw/qa/uitest/writer_tests6/save_readonly_with_password.py
similarity index 56%
rename from sw/qa/uitest/writer_tests6/tdf144374.py
rename to sw/qa/uitest/writer_tests6/save_readonly_with_password.py
index bdd0e59f05b2..c61e7d7b0c19 100644
--- a/sw/qa/uitest/writer_tests6/tdf144374.py
+++ b/sw/qa/uitest/writer_tests6/save_readonly_with_password.py
@@ -11,11 +11,11 @@ from uitest.uihelper.common import select_by_text
 from tempfile import TemporaryDirectory
 import os.path
 
-#Bug 144374 - Writer: FILESAVE to DOCX as read-only with additional password 
protection for editing not working
 
-class tdf144374(UITestCase):
+class save_readonly_with_password(UITestCase):
 
-   def test_tdf144374_DOCX(self):
+    #Bug 144374 - Writer: FILESAVE to DOCX as read-only with additional 
password protection for editing not working
+   def test_save_to_docx(self):
         with TemporaryDirectory() as tempdir:
             xFilePath = os.path.join(tempdir, "tdf144374-tmp.docx")
 
@@ -45,14 +45,48 @@ class tdf144374(UITestCase):
                 xSave = xWarnDialog.getChild("save")
                 self.ui_test.close_dialog_through_button(xSave)
 
-            with self.ui_test.load_file(systemPathToFileUrl(xFilePath)):
-                xWriterEdit = 
self.xUITest.getTopFocusWindow().getChild("writer_edit")
-                document = self.ui_test.get_component()
+            with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
 
                 self.assertTrue(document.isReadonly())
 
                 #Without the fix in place, this dialog wouldn't have been 
displayed
-                with self.ui_test.execute_dialog_through_action(xWriterEdit, 
"TYPE", mkPropertyValues({"KEYCODE": "CTRL+SHIFT+M"})) as xDialog:
+                with 
self.ui_test.execute_dialog_through_command(".uno:EditDoc") as xDialog:
+                    xPassword = xDialog.getChild("newpassEntry")
+                    xPassword.executeAction("TYPE", mkPropertyValues({"TEXT": 
"password"}))
+
+                self.assertFalse(document.isReadonly())
+
+   def test_save_to_odt(self):
+
+        with TemporaryDirectory() as tempdir:
+            xFilePath = os.path.join(tempdir, "readonly_with_password_tmp.odt")
+
+            with self.ui_test.create_doc_in_start_center("writer"):
+                # Save the document
+                with self.ui_test.execute_dialog_through_command(".uno:Save", 
close_button="") 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}))
+                    xPasswordCheckButton = xSaveDialog.getChild("password")
+                    xPasswordCheckButton.executeAction("CLICK", tuple())
+                    xOpen = xSaveDialog.getChild("open")
+
+                    with self.ui_test.execute_dialog_through_action(xOpen, 
"CLICK") as xPasswordDialog:
+                        xReadonly = xPasswordDialog.getChild("readonly")
+                        xReadonly.executeAction("CLICK", tuple())
+                        xNewPassword = 
xPasswordDialog.getChild("newpassroEntry")
+                        xNewPassword.executeAction("TYPE", 
mkPropertyValues({"TEXT": "password"}))
+                        xConfirmPassword = 
xPasswordDialog.getChild("confirmropassEntry")
+                        xConfirmPassword.executeAction("TYPE", 
mkPropertyValues({"TEXT": "password"}))
+
+            with self.ui_test.load_file(systemPathToFileUrl(xFilePath)) as 
document:
+
+                xWriterEdit = 
self.xUITest.getTopFocusWindow().getChild("writer_edit")
+
+                self.assertTrue(document.isReadonly())
+
+                with 
self.ui_test.execute_dialog_through_command(".uno:EditDoc") as xDialog:
                     xPassword = xDialog.getChild("newpassEntry")
                     xPassword.executeAction("TYPE", mkPropertyValues({"TEXT": 
"password"}))
 

Reply via email to