MCPcopy Index your code
hub / github.com/python/cpython / checkRoundtrips1

Method checkRoundtrips1

Lib/test/test_urlparse.py:135–189  ·  view source on GitHub ↗
(self, url, parsed, split, url2=None, *, missing_as_none)

Source from the content-addressed store, hash-verified

133 urlunsplit(tuple(result), keep_empty=True)
134
135 def checkRoundtrips1(self, url, parsed, split, url2=None, *, missing_as_none):
136 if url2 is None:
137 url2 = url
138 result = urlparse(url, missing_as_none=missing_as_none)
139 self.assertSequenceEqual(result, parsed)
140 t = (result.scheme, result.netloc, result.path,
141 result.params, result.query, result.fragment)
142 self.assertSequenceEqual(t, parsed)
143 # put it back together and it should be the same
144 result2 = urlunparse(result)
145 self.assertEqual(result2, url2)
146 self.assertEqual(result2, result.geturl())
147 self.assertEqual(urlunparse(result, keep_empty=missing_as_none), url2)
148 self.assertEqual(urlunparse(tuple(result), keep_empty=missing_as_none), result2)
149
150 # the result of geturl() is a fixpoint; we can always parse it
151 # again to get the same result:
152 result3 = urlparse(result.geturl(), missing_as_none=missing_as_none)
153 self.assertEqual(result3.geturl(), result.geturl())
154 self.assertSequenceEqual(result3, result)
155 self.assertEqual(result3.scheme, result.scheme)
156 self.assertEqual(result3.netloc, result.netloc)
157 self.assertEqual(result3.path, result.path)
158 self.assertEqual(result3.params, result.params)
159 self.assertEqual(result3.query, result.query)
160 self.assertEqual(result3.fragment, result.fragment)
161 self.assertEqual(result3.username, result.username)
162 self.assertEqual(result3.password, result.password)
163 self.assertEqual(result3.hostname, result.hostname)
164 self.assertEqual(result3.port, result.port)
165
166 # check the roundtrip using urlsplit() as well
167 result = urlsplit(url, missing_as_none=missing_as_none)
168 self.assertSequenceEqual(result, split)
169 t = (result.scheme, result.netloc, result.path,
170 result.query, result.fragment)
171 self.assertSequenceEqual(t, split)
172 result2 = urlunsplit(result)
173 self.assertEqual(result2, url2)
174 self.assertEqual(result2, result.geturl())
175 self.assertEqual(urlunsplit(tuple(result), keep_empty=missing_as_none), result2)
176
177 # check the fixpoint property of re-parsing the result of geturl()
178 result3 = urlsplit(result.geturl(), missing_as_none=missing_as_none)
179 self.assertEqual(result3.geturl(), result.geturl())
180 self.assertSequenceEqual(result3, result)
181 self.assertEqual(result3.scheme, result.scheme)
182 self.assertEqual(result3.netloc, result.netloc)
183 self.assertEqual(result3.path, result.path)
184 self.assertEqual(result3.query, result.query)
185 self.assertEqual(result3.fragment, result.fragment)
186 self.assertEqual(result3.username, result.username)
187 self.assertEqual(result3.password, result.password)
188 self.assertEqual(result3.hostname, result.hostname)
189 self.assertEqual(result3.port, result.port)
190
191 @support.subTests('orig,expect', parse_qsl_test_cases)
192 def test_qsl(self, orig, expect):

Callers 1

checkRoundtripsMethod · 0.95

Calls 7

urlparseFunction · 0.90
urlunparseFunction · 0.90
urlsplitFunction · 0.90
urlunsplitFunction · 0.90
assertSequenceEqualMethod · 0.80
assertEqualMethod · 0.45
geturlMethod · 0.45

Tested by

no test coverage detected