Issue #23568: Add rdivmod support to MagicMock() objects.
Patch by Håkan Lövdahl.
This commit is contained in:
parent
b19542d062
commit
a785dece57
|
@ -1644,7 +1644,9 @@ magic_methods = (
|
||||||
"len contains iter "
|
"len contains iter "
|
||||||
"hash str sizeof "
|
"hash str sizeof "
|
||||||
"enter exit "
|
"enter exit "
|
||||||
"divmod neg pos abs invert "
|
# we added divmod and rdivmod here instead of numerics
|
||||||
|
# because there is no idivmod
|
||||||
|
"divmod rdivmod neg pos abs invert "
|
||||||
"complex int float index "
|
"complex int float index "
|
||||||
"trunc floor ceil "
|
"trunc floor ceil "
|
||||||
"bool next "
|
"bool next "
|
||||||
|
|
|
@ -424,5 +424,20 @@ class TestMockingMagicMethods(unittest.TestCase):
|
||||||
self.assertEqual(list(m), [])
|
self.assertEqual(list(m), [])
|
||||||
|
|
||||||
|
|
||||||
|
def test_divmod_and_rdivmod(self):
|
||||||
|
m = MagicMock()
|
||||||
|
self.assertIsInstance(divmod(5, m), MagicMock)
|
||||||
|
m.__divmod__.return_value = (2, 1)
|
||||||
|
self.assertEqual(divmod(m, 2), (2, 1))
|
||||||
|
m = MagicMock()
|
||||||
|
foo = divmod(2, m)
|
||||||
|
self.assertIsInstance(foo, MagicMock)
|
||||||
|
foo_direct = m.__divmod__(2)
|
||||||
|
self.assertIsInstance(foo_direct, MagicMock)
|
||||||
|
bar = divmod(m, 2)
|
||||||
|
self.assertIsInstance(bar, MagicMock)
|
||||||
|
bar_direct = m.__rdivmod__(2)
|
||||||
|
self.assertIsInstance(bar_direct, MagicMock)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
|
@ -18,6 +18,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #23568: Add rdivmod support to MagicMock() objects.
|
||||||
|
Patch by Håkan Lövdahl.
|
||||||
|
|
||||||
- Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar.
|
- Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar.
|
||||||
Patch by Demian Brecht.
|
Patch by Demian Brecht.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue