diff options
-rw-r--r-- | manifest_xml.py | 2 | ||||
-rw-r--r-- | tests/test_manifest_xml.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/manifest_xml.py b/manifest_xml.py index edbebaa3..7e533a02 100644 --- a/manifest_xml.py +++ b/manifest_xml.py | |||
@@ -134,7 +134,7 @@ def normalize_url(url: str) -> str: | |||
134 | parsed_url = urllib.parse.urlparse(url) | 134 | parsed_url = urllib.parse.urlparse(url) |
135 | 135 | ||
136 | # This matches patterns like "git@github.com:foo/bar". | 136 | # This matches patterns like "git@github.com:foo/bar". |
137 | scp_like_url_re = r"^[^:]+@[^:]+:[^/]+/" | 137 | scp_like_url_re = r"^[^/:]+@[^/:]+:[^/]+/" |
138 | 138 | ||
139 | # If our URL is missing a schema and matches git's | 139 | # If our URL is missing a schema and matches git's |
140 | # SCP-like syntax we should convert it to a proper | 140 | # SCP-like syntax we should convert it to a proper |
diff --git a/tests/test_manifest_xml.py b/tests/test_manifest_xml.py index 11c0c15e..6423bb96 100644 --- a/tests/test_manifest_xml.py +++ b/tests/test_manifest_xml.py | |||
@@ -1139,6 +1139,17 @@ class NormalizeUrlTests(ManifestParseTestCase): | |||
1139 | "http://foo.com/bar/baz", manifest_xml.normalize_url(url) | 1139 | "http://foo.com/bar/baz", manifest_xml.normalize_url(url) |
1140 | ) | 1140 | ) |
1141 | 1141 | ||
1142 | def test_has_leading_slash(self): | ||
1143 | """SCP-like syntax except a / comes before the : which git disallows.""" | ||
1144 | url = "/git@foo.com:bar/baf" | ||
1145 | self.assertEqual(url, manifest_xml.normalize_url(url)) | ||
1146 | |||
1147 | url = "gi/t@foo.com:bar/baf" | ||
1148 | self.assertEqual(url, manifest_xml.normalize_url(url)) | ||
1149 | |||
1150 | url = "git@fo/o.com:bar/baf" | ||
1151 | self.assertEqual(url, manifest_xml.normalize_url(url)) | ||
1152 | |||
1142 | def test_has_no_scheme(self): | 1153 | def test_has_no_scheme(self): |
1143 | """Deal with cases where we have no scheme, but we also | 1154 | """Deal with cases where we have no scheme, but we also |
1144 | aren't dealing with the git SCP-like syntax | 1155 | aren't dealing with the git SCP-like syntax |