]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix issue16713 - tel url parsing with params
authorSenthil Kumaran <senthil@uthcode.com>
Mon, 24 Dec 2012 22:00:20 +0000 (14:00 -0800)
committerSenthil Kumaran <senthil@uthcode.com>
Mon, 24 Dec 2012 22:00:20 +0000 (14:00 -0800)
Lib/test/test_urlparse.py
Lib/urllib/parse.py
Misc/NEWS

index e9adaefbd5ab6447b6648949989d2bdfc7e7b2ec..378a427bc56194f34b1d7bc76044f31a7d9cb651 100755 (executable)
@@ -818,6 +818,35 @@ class UrlParseTestCase(unittest.TestCase):
         p2 = urllib.parse.urlsplit('tel:+31641044153')
         self.assertEqual(p2.scheme, 'tel')
         self.assertEqual(p2.path, '+31641044153')
+        # assert the behavior for urlparse
+        p1 = urllib.parse.urlparse('tel:+31-641044153')
+        self.assertEqual(p1.scheme, 'tel')
+        self.assertEqual(p1.path, '+31-641044153')
+        p2 = urllib.parse.urlparse('tel:+31641044153')
+        self.assertEqual(p2.scheme, 'tel')
+        self.assertEqual(p2.path, '+31641044153')
+
+    def test_telurl_params(self):
+        p1 = urllib.parse.urlparse('tel:123-4;phone-context=+1-650-516')
+        self.assertEqual(p1.scheme, 'tel')
+        self.assertEqual(p1.path, '123-4')
+        self.assertEqual(p1.params, 'phone-context=+1-650-516')
+
+        p1 = urllib.parse.urlparse('tel:+1-201-555-0123')
+        self.assertEqual(p1.scheme, 'tel')
+        self.assertEqual(p1.path, '+1-201-555-0123')
+        self.assertEqual(p1.params, '')
+
+        p1 = urllib.parse.urlparse('tel:7042;phone-context=example.com')
+        self.assertEqual(p1.scheme, 'tel')
+        self.assertEqual(p1.path, '7042')
+        self.assertEqual(p1.params, 'phone-context=example.com')
+
+        p1 = urllib.parse.urlparse('tel:863-1234;phone-context=+1-914-555')
+        self.assertEqual(p1.scheme, 'tel')
+        self.assertEqual(p1.path, '863-1234')
+        self.assertEqual(p1.params, 'phone-context=+1-914-555')
+
 
 def test_main():
     support.run_unittest(UrlParseTestCase)
index 48117593e86bb923086470edb1f4212dd9e5146f..dc75f8f28cfe8bf0e1cb1b25d814adc7996768d0 100644 (file)
@@ -46,7 +46,7 @@ uses_netloc = ['ftp', 'http', 'gopher', 'nntp', 'telnet',
                'svn', 'svn+ssh', 'sftp', 'nfs', 'git', 'git+ssh']
 uses_params = ['ftp', 'hdl', 'prospero', 'http', 'imap',
                'https', 'shttp', 'rtsp', 'rtspu', 'sip', 'sips',
-               'mms', '', 'sftp']
+               'mms', '', 'sftp', 'tel']
 
 # These are not actually used anymore, but should stay for backwards
 # compatibility.  (They are undocumented, but have a public-looking name.)
index 0c4b8b20dd420c39d6ec2eb4fd52e2b91b9a9cac..a93024a8ecfee8d2fb34469bde944098ffef24be 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -182,6 +182,9 @@ Library
 - Issue #16511: Use default IDLE width and height if config param is not valid.
   Patch Serhiy Storchaka.
 
+- Issue #16713: Parsing of 'tel' urls using urlparse separates params from
+  path.
+
 - Issue #16443: Add docstrings to regular expression match objects.
   Patch by Anton Kasyanov.