]> granicus.if.org Git - python/commitdiff
Issue #23568: Add rdivmod support to MagicMock() objects.
authorBerker Peksag <berker.peksag@gmail.com>
Sat, 14 Mar 2015 23:57:38 +0000 (01:57 +0200)
committerBerker Peksag <berker.peksag@gmail.com>
Sat, 14 Mar 2015 23:57:38 +0000 (01:57 +0200)
Patch by Håkan Lövdahl.

1  2 
Lib/unittest/mock.py
Lib/unittest/test/testmock/testmagicmethods.py
Misc/NEWS

Simple merge
index f4a292afdac15aea6e421afdbc72005fe9f5c5b5,73b717d704f66a66848dd4ba2c908bce8be3e92c..3c53ec4f0e12fdd4ee545c75afa07ab40d0c6469
@@@ -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 c73dd17ea397bd9cbfc4154bb3f443aab855e820,90edc969562bb57052e3f10c1dbeeed20daaad7d..f51a74b09d75b123211d68bc453c567e976cbd24
+++ 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.