MCPcopy Index your code
hub / github.com/RustPython/RustPython / checkRoundtrips

Method checkRoundtrips

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

Source from the content-addressed store, hash-verified

105class UrlParseTestCase(unittest.TestCase):
106
107 def checkRoundtrips(self, url, parsed, split, url2=None):
108 if url2 is None:
109 url2 = url
110 result = urllib.parse.urlparse(url)
111 self.assertSequenceEqual(result, parsed)
112 t = (result.scheme, result.netloc, result.path,
113 result.params, result.query, result.fragment)
114 self.assertSequenceEqual(t, parsed)
115 # put it back together and it should be the same
116 result2 = urllib.parse.urlunparse(result)
117 self.assertSequenceEqual(result2, url2)
118 self.assertSequenceEqual(result2, result.geturl())
119
120 # the result of geturl() is a fixpoint; we can always parse it
121 # again to get the same result:
122 result3 = urllib.parse.urlparse(result.geturl())
123 self.assertEqual(result3.geturl(), result.geturl())
124 self.assertSequenceEqual(result3, result)
125 self.assertEqual(result3.scheme, result.scheme)
126 self.assertEqual(result3.netloc, result.netloc)
127 self.assertEqual(result3.path, result.path)
128 self.assertEqual(result3.params, result.params)
129 self.assertEqual(result3.query, result.query)
130 self.assertEqual(result3.fragment, result.fragment)
131 self.assertEqual(result3.username, result.username)
132 self.assertEqual(result3.password, result.password)
133 self.assertEqual(result3.hostname, result.hostname)
134 self.assertEqual(result3.port, result.port)
135
136 # check the roundtrip using urlsplit() as well
137 result = urllib.parse.urlsplit(url)
138 self.assertSequenceEqual(result, split)
139 t = (result.scheme, result.netloc, result.path,
140 result.query, result.fragment)
141 self.assertSequenceEqual(t, split)
142 result2 = urllib.parse.urlunsplit(result)
143 self.assertSequenceEqual(result2, url2)
144 self.assertSequenceEqual(result2, result.geturl())
145
146 # check the fixpoint property of re-parsing the result of geturl()
147 result3 = urllib.parse.urlsplit(result.geturl())
148 self.assertEqual(result3.geturl(), result.geturl())
149 self.assertSequenceEqual(result3, result)
150 self.assertEqual(result3.scheme, result.scheme)
151 self.assertEqual(result3.netloc, result.netloc)
152 self.assertEqual(result3.path, result.path)
153 self.assertEqual(result3.query, result.query)
154 self.assertEqual(result3.fragment, result.fragment)
155 self.assertEqual(result3.username, result.username)
156 self.assertEqual(result3.password, result.password)
157 self.assertEqual(result3.hostname, result.hostname)
158 self.assertEqual(result3.port, result.port)
159
160 @support.subTests('orig,expect', parse_qsl_test_cases)
161 def test_qsl(self, orig, expect):

Callers 3

test_roundtripsMethod · 0.95
test_http_roundtripsMethod · 0.95

Calls 3

assertSequenceEqualMethod · 0.80
geturlMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected