summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cui/source/dialogs/hlinettp.cxx2
-rw-r--r--sw/qa/uitest/writer_tests3/hyperlinkdialog.py48
2 files changed, 21 insertions, 29 deletions
diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx
index c64f8e7fa01b..2269f3447296 100644
--- a/cui/source/dialogs/hlinettp.cxx
+++ b/cui/source/dialogs/hlinettp.cxx
@@ -91,7 +91,7 @@ void SvxHyperlinkInternetTp::FillDlgFields(const OUString& rStrURL)
if (xTransferable->getTransferData(aFlavor) >>= aClipBoardContent)
{
// tdf#162753 - allow only syntactically valid hyperlink targets
- INetURLObject aURL(aClipBoardContent);
+ INetURLObject aURL(o3tl::trim(aClipBoardContent));
if (!aURL.HasError())
aStrURL
= aURL.GetMainURL(INetURLObject::DecodeMechanism::Unambiguous);
diff --git a/sw/qa/uitest/writer_tests3/hyperlinkdialog.py b/sw/qa/uitest/writer_tests3/hyperlinkdialog.py
index 1ab08e6facdc..8fa06496351a 100644
--- a/sw/qa/uitest/writer_tests3/hyperlinkdialog.py
+++ b/sw/qa/uitest/writer_tests3/hyperlinkdialog.py
@@ -107,20 +107,29 @@ class HyperlinkDialog(UITestCase):
def test_tdf146576_propose_clipboard_content(self):
with self.ui_test.create_doc_in_start_center("writer"):
- # Insert a sample URL
xWriterDoc = self.xUITest.getTopFocusWindow()
xWriterEdit = xWriterDoc.getChild("writer_edit")
- xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "http://www.libreoffice.org"}))
- # Copy URL and open the hyperlink dialog
- self.xUITest.executeCommand(".uno:SelectAll")
- self.xUITest.executeCommand(".uno:Copy")
- with self.ui_test.execute_dialog_through_command(".uno:HyperlinkDialog", close_button="cancel") as xDialog:
- xTab = xDialog.getChild("tabcontrol")
- select_pos(xTab, "0")
- # Check if the content of the clipboard is proposed as URL in the hyperlink dialog
- xTarget = xDialog.getChild("target")
- self.assertEqual(get_state_as_dict(xTarget)["Text"].lower(), "http://www.libreoffice.org/")
+ sampleURLs = [
+ ("libreoffice", ""),
+ ("http://www.libreoffice.org", "http://www.libreoffice.org/"),
+ (" http://www.libreoffice.org ", "http://www.libreoffice.org/")
+ ]
+
+ # Insert sample URLs
+ for sampleURL, expectedURL in sampleURLs:
+ self.xUITest.executeCommand(".uno:SelectAll")
+ xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": sampleURL}))
+
+ # Copy URL and open the hyperlink dialog
+ self.xUITest.executeCommand(".uno:SelectAll")
+ self.xUITest.executeCommand(".uno:Copy")
+ with self.ui_test.execute_dialog_through_command(".uno:HyperlinkDialog", close_button="cancel") as xDialog:
+ xTab = xDialog.getChild("tabcontrol")
+ select_pos(xTab, "0")
+ # Check if the content of the clipboard is proposed as expected
+ xTarget = xDialog.getChild("target")
+ self.assertEqual(get_state_as_dict(xTarget)["Text"].lower(), expectedURL)
def test_tdf162753_propose_clipboard_content_internet(self):
with self.ui_test.create_doc_in_start_center("writer"):
@@ -147,23 +156,6 @@ class HyperlinkDialog(UITestCase):
xTarget = xDialog.getChild("target")
self.assertEqual(get_state_as_dict(xTarget)["Text"].lower(), "http://www.libreoffice.org/")
- def test_tdf162753_propose_invalid_clipboard_content(self):
- with self.ui_test.create_doc_in_start_center("writer"):
- # Insert an invalid sample URL
- xWriterDoc = self.xUITest.getTopFocusWindow()
- xWriterEdit = xWriterDoc.getChild("writer_edit")
- xWriterEdit.executeAction("TYPE", mkPropertyValues({"TEXT": "libreoffice"}))
-
- # Copy URL and open the hyperlink dialog
- self.xUITest.executeCommand(".uno:SelectAll")
- self.xUITest.executeCommand(".uno:Copy")
- with self.ui_test.execute_dialog_through_command(".uno:HyperlinkDialog", close_button="cancel") as xDialog:
- xTab = xDialog.getChild("tabcontrol")
- select_pos(xTab, "0")
- # Check if the content of the clipboard is not proposed as URL in the hyperlink dialog
- xTarget = xDialog.getChild("target")
- self.assertEqual(get_state_as_dict(xTarget)["Text"], "")
-
def test_tdf141166(self):
# Skip this test for --with-help=html and --with-help=online, as that would fail with a
# DialogNotExecutedException("did not execute a dialog for a blocking action") thrown from