|
1 | 1 | import copy |
| 2 | +import pickle |
2 | 3 | import sys |
3 | 4 | import unicodedata |
4 | 5 | import unittest |
@@ -1306,14 +1307,35 @@ def check(str_result, bytes_result): |
1306 | 1307 |
|
1307 | 1308 | def test_result_copying(self): |
1308 | 1309 | def check(result): |
1309 | | - self.assertEqual(copy.copy(result), result) |
1310 | | - self.assertEqual(copy.copy(result).geturl(), result.geturl()) |
1311 | | - self.assertEqual(copy.deepcopy(result), result) |
1312 | | - self.assertEqual(copy.deepcopy(result).geturl(), result.geturl()) |
1313 | | - self.assertEqual(copy.replace(result), result) |
1314 | | - self.assertEqual(copy.replace(result).geturl(), result.geturl()) |
1315 | | - self.assertEqual(result._replace(), result) |
1316 | | - self.assertEqual(result._replace().geturl(), result.geturl()) |
| 1310 | + result2 = copy.copy(result) |
| 1311 | + self.assertEqual(result2, result) |
| 1312 | + self.assertEqual(result2.geturl(), result.geturl()) |
| 1313 | + result2 = copy.deepcopy(result) |
| 1314 | + self.assertEqual(result2, result) |
| 1315 | + self.assertEqual(result2.geturl(), result.geturl()) |
| 1316 | + result2 = copy.replace(result) |
| 1317 | + self.assertEqual(result2, result) |
| 1318 | + self.assertEqual(result2.geturl(), result.geturl()) |
| 1319 | + result2 = result._replace() |
| 1320 | + self.assertEqual(result2, result) |
| 1321 | + self.assertEqual(result2.geturl(), result.geturl()) |
| 1322 | + |
| 1323 | + url = 'http://example.com/?#' |
| 1324 | + burl = url.encode() |
| 1325 | + for func in urldefrag, urlsplit, urlparse: |
| 1326 | + check(func(url)) |
| 1327 | + check(func(url, missing_as_none=True)) |
| 1328 | + check(func(burl)) |
| 1329 | + check(func(burl, missing_as_none=True)) |
| 1330 | + |
| 1331 | + def test_result_pickling(self): |
| 1332 | + import pickletools |
| 1333 | + def check(result): |
| 1334 | + for proto in range(pickle.HIGHEST_PROTOCOL + 1): |
| 1335 | + pickled = pickle.dumps(result, proto) |
| 1336 | + result2 = pickle.loads(pickled) |
| 1337 | + self.assertEqual(result2, result) |
| 1338 | + self.assertEqual(result2.geturl(), result.geturl()) |
1317 | 1339 |
|
1318 | 1340 | url = 'http://example.com/?#' |
1319 | 1341 | burl = url.encode() |
|
0 commit comments