summaryrefslogtreecommitdiff
path: root/Lib/unittest/test
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2015-04-14 00:12:57 -0700
committerŁukasz Langa <lukasz@langa.pl>2015-04-14 00:12:57 -0700
commit5f6684efe0690c1272b206764301e751e37d9bcf (patch)
treeba6a1f57f1603b2f3af243de631c0abbd0de6a95 /Lib/unittest/test
parent4882cacab6bcaf90ac496fc8878987598e7665c1 (diff)
downloadcpython-git-5f6684efe0690c1272b206764301e751e37d9bcf.tar.gz
Issue #23310: Fix MagicMock's initializer to work with __methods__.
Behavior equivalent to m.configure_mock(). Patch by Kasia Jachim.
Diffstat (limited to 'Lib/unittest/test')
-rw-r--r--Lib/unittest/test/testmock/testmagicmethods.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/unittest/test/testmock/testmagicmethods.py b/Lib/unittest/test/testmock/testmagicmethods.py
index 73b717d704..e05c6e014d 100644
--- a/Lib/unittest/test/testmock/testmagicmethods.py
+++ b/Lib/unittest/test/testmock/testmagicmethods.py
@@ -439,5 +439,20 @@ class TestMockingMagicMethods(unittest.TestCase):
bar_direct = m.__rdivmod__(2)
self.assertIsInstance(bar_direct, MagicMock)
+ # http://bugs.python.org/issue23310
+ # Check if you can change behaviour of magic methds in MagicMock init
+ def test_magic_in_initialization(self):
+ m = MagicMock(**{'__str__.return_value': "12"})
+ self.assertEqual(str(m), "12")
+
+ def test_changing_magic_set_in_initialization(self):
+ m = MagicMock(**{'__str__.return_value': "12"})
+ m.__str__.return_value = "13"
+ self.assertEqual(str(m), "13")
+ m = MagicMock(**{'__str__.return_value': "12"})
+ m.configure_mock(**{'__str__.return_value': "14"})
+ self.assertEqual(str(m), "14")
+
+
if __name__ == '__main__':
unittest.main()