changeset: 94960:8c65480a1e19 user: Berker Peksag date: Thu Mar 12 20:42:48 2015 +0200 files: Lib/unittest/mock.py Lib/unittest/test/testmock/testmagicmethods.py Misc/NEWS description: Issue #23581: Add matmul support to MagicMock. Patch by Håkan Lövdahl. diff -r 07e8c0ae232c -r 8c65480a1e19 Lib/unittest/mock.py --- a/Lib/unittest/mock.py Thu Mar 12 18:51:16 2015 +0200 +++ b/Lib/unittest/mock.py Thu Mar 12 20:42:48 2015 +0200 @@ -1668,7 +1668,7 @@ ) numerics = ( - "add sub mul div floordiv mod lshift rshift and xor or pow truediv" + "add sub mul matmul div floordiv mod lshift rshift and xor or pow truediv" ) inplace = ' '.join('i%s' % n for n in numerics.split()) right = ' '.join('r%s' % n for n in numerics.split()) diff -r 07e8c0ae232c -r 8c65480a1e19 Lib/unittest/test/testmock/testmagicmethods.py --- a/Lib/unittest/test/testmock/testmagicmethods.py Thu Mar 12 18:51:16 2015 +0200 +++ b/Lib/unittest/test/testmock/testmagicmethods.py Thu Mar 12 20:42:48 2015 +0200 @@ -424,5 +424,16 @@ 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) + if __name__ == '__main__': unittest.main() diff -r 07e8c0ae232c -r 8c65480a1e19 Misc/NEWS --- a/Misc/NEWS Thu Mar 12 18:51:16 2015 +0200 +++ b/Misc/NEWS Thu Mar 12 20:42:48 2015 +0200 @@ -18,6 +18,8 @@ Library ------- +- Issue #23581: Add matmul support to MagicMock. Patch by Håkan Lövdahl. + - Issue #23566: enable(), register(), dump_traceback() and dump_traceback_later() functions of faulthandler now accept file descriptors. Patch by Wei Wu.