From: Berker Peksag Date: Sat, 14 Mar 2015 23:57:38 +0000 (+0200) Subject: Issue #23568: Add rdivmod support to MagicMock() objects. X-Git-Tag: v3.5.0a3~174 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7aaa85932cf576470f2befe8257b29039b2cb411;p=thirdparty%2FPython%2Fcpython.git Issue #23568: Add rdivmod support to MagicMock() objects. Patch by Håkan Lövdahl. --- 7aaa85932cf576470f2befe8257b29039b2cb411 diff --cc Lib/unittest/test/testmock/testmagicmethods.py index f4a292afdac1,73b717d704f6..3c53ec4f0e12 --- a/Lib/unittest/test/testmock/testmagicmethods.py +++ b/Lib/unittest/test/testmock/testmagicmethods.py @@@ -424,16 -424,20 +424,31 @@@ class TestMockingMagicMethods(unittest. self.assertEqual(list(m), []) + def test_matmul(self): + m = MagicMock() + self.assertIsInstance(m @ 1, MagicMock) + m.__matmul__.return_value = 42 + m.__rmatmul__.return_value = 666 + m.__imatmul__.return_value = 24 + self.assertEqual(m @ 1, 42) + self.assertEqual(1 @ m, 666) + m @= 24 + self.assertEqual(m, 24) + + 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__': unittest.main() diff --cc Misc/NEWS index c73dd17ea397,90edc969562b..f51a74b09d75 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -18,8 -18,9 +18,11 @@@ Core and Builtin Library ------- + - Issue #23568: Add rdivmod support to MagicMock() objects. + Patch by HÃ¥kan Lövdahl. + +- Issue #2052: Add charset parameter to HtmlDiff.make_file(). + - Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar. Patch by Demian Brecht.