https://github.com/python-mechanize/mechanize/commit/529d2c4cb8f31284f8026642968ba3adb9de1171 https://github.com/python-mechanize/mechanize/commit/7ba3d586368c03577c061c35bc27664a907f5435 https://github.com/python-mechanize/mechanize/commit/560839d51e54943890c2d37c0d0854792479cb80 From: Kovid Goyal Date: Tue, 24 May 2022 11:13:16 +0530 Subject: [PATCH] Use asserts for failing test so we get better feedback on the failure --- a/test/test_cookies.py +++ b/test/test_cookies.py @@ -1028,10 +1028,10 @@ def test_Cookie_iterator(self): # noqa i = 0 for c in cs: # assert isinstance(c, Cookie) - assert c.version == versions[i] - assert c.name == names[i] - assert c.domain == domains[i] - assert c.path == paths[i] + self.assertEqual(c.version, versions[i]) + self.assertEqual(c.name, names[i]) + self.assertEqual(c.domain, domains[i]) + self.assertEqual(c.path, paths[i]) i = i + 1 self.assertRaises(IndexError, lambda cs=cs: cs[5]) From: Kovid Goyal Date: Tue, 24 May 2022 17:54:50 +0530 Subject: [PATCH] DRYer --- a/test/test_cookies.py +++ b/test/test_cookies.py @@ -1025,14 +1025,9 @@ def test_Cookie_iterator(self): # noqa # sequential iteration for i in range(4): - i = 0 - for c in cs: + for c, expected in zip(cs, zip(versions, names, domains, paths)): # assert isinstance(c, Cookie) - self.assertEqual(c.version, versions[i]) - self.assertEqual(c.name, names[i]) - self.assertEqual(c.domain, domains[i]) - self.assertEqual(c.path, paths[i]) - i = i + 1 + self.assertEqual((c.version, c.name, c.domain, c.path), expected) self.assertRaises(IndexError, lambda cs=cs: cs[5]) Date: Tue, 24 May 2022 18:09:16 +0530 Subject: [PATCH] Change test to not rely on order of cookie iteration python 3.11 iterates in add order, earlier pythons iterate in domain sorted order Fix #74 --- a/test/test_cookies.py +++ b/test/test_cookies.py @@ -1022,13 +1022,12 @@ def test_Cookie_iterator(self): # noqa "www.acme.com" ] paths = ["/", "/", "/", "/blah", "/blah/"] - + expected = set(zip(versions, names, domains, paths)) # sequential iteration - for i in range(4): - for c, expected in zip(cs, zip(versions, names, domains, paths)): - # assert isinstance(c, Cookie) - self.assertEqual((c.version, c.name, c.domain, c.path), expected) - + # python 3.11 iterates in add order, earlier pythons iterate in domain + # sorted order + actual = {(c.version, c.name, c.domain, c.path) for c in cs} + self.assertEqual(expected, actual) self.assertRaises(IndexError, lambda cs=cs: cs[5]) def test_parse_ns_headers(self):