Skip to content

Commit 0da59cc

Browse files
committed
Issue webcompat#767: don't add trailing slash; account for urls beginning with //
1 parent 71ed381 commit 0da59cc

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

tests/test_form.py

+7-5
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,22 @@ class TestForm(unittest.TestCase):
1212
def test_normalize_url(self):
1313

1414
r = form.normalize_url('example.com')
15-
self.assertEqual(r, 'http://example.com/')
15+
self.assertEqual(r, 'http://example.com')
1616

1717
r = form.normalize_url('http:/example.com')
18-
self.assertEqual(r, 'http://example.com/')
18+
self.assertEqual(r, 'http://example.com')
1919

2020
r = form.normalize_url('https:/example.com')
21-
self.assertEqual(r, 'https://example.com/')
21+
self.assertEqual(r, 'https://example.com')
2222

2323
r = form.normalize_url('http:example.com')
24-
self.assertEqual(r, 'http://example.com/')
24+
self.assertEqual(r, 'http://example.com')
2525

2626
r = form.normalize_url('https:example.com')
27-
self.assertEqual(r, 'https://example.com/')
27+
self.assertEqual(r, 'https://example.com')
2828

29+
r = form.normalize_url('//example.com')
30+
self.assertEqual(r, 'http://example.com')
2931

3032
def test_domain_name(self):
3133

webcompat/form.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -132,11 +132,10 @@ def normalize_url(url):
132132
url += '#' + parsed.fragment
133133
elif not parsed.scheme:
134134
# We assume that http is missing not https
135-
url = 'http://%s' % (url)
136-
137-
# if url does not contain a path, ensure it has a trailing slash
138-
if not urlparse.urlparse(url).path:
139-
url += "/"
135+
if url.startswith("//"):
136+
url = "http://%s" % (url[2:])
137+
else:
138+
url = 'http://%s' % (url)
140139

141140
return url
142141

0 commit comments

Comments
 (0)