diff options
author | Mario Corchero <mcorcherojim@bloomberg.net> | 2019-05-28 12:53:31 (GMT) |
---|---|---|
committer | Cheryl Sabella <cheryl.sabella@gmail.com> | 2019-05-28 12:53:30 (GMT) |
commit | 04530812e90e45a37ed84e83505d63db7edc1262 (patch) | |
tree | c26e4f6492e37209667b61943cb5a156c2f57aeb /Lib | |
parent | eb65e2443ac21739baf6d373abc7b4638b9d6927 (diff) | |
download | cpython-04530812e90e45a37ed84e83505d63db7edc1262.zip cpython-04530812e90e45a37ed84e83505d63db7edc1262.tar.gz cpython-04530812e90e45a37ed84e83505d63db7edc1262.tar.bz2 |
bpo-32299: Return patched dict when using patch.dict as a context manager (GH-11062)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/unittest/mock.py | 1 | ||||
-rw-r--r-- | Lib/unittest/test/testmock/testpatch.py | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/Lib/unittest/mock.py b/Lib/unittest/mock.py index fac4535..055fbb3 100644 --- a/Lib/unittest/mock.py +++ b/Lib/unittest/mock.py @@ -1730,6 +1730,7 @@ class _patch_dict(object): def __enter__(self): """Patch the dict.""" self._patch_dict() + return self.in_dict def _patch_dict(self): diff --git a/Lib/unittest/test/testmock/testpatch.py b/Lib/unittest/test/testmock/testpatch.py index 3295c5b..27914a9 100644 --- a/Lib/unittest/test/testmock/testpatch.py +++ b/Lib/unittest/test/testmock/testpatch.py @@ -619,6 +619,13 @@ class PatchTest(unittest.TestCase): self.assertEqual(foo.values, original) + def test_patch_dict_as_context_manager(self): + foo = {'a': 'b'} + with patch.dict(foo, a='c') as patched: + self.assertEqual(patched, {'a': 'c'}) + self.assertEqual(foo, {'a': 'b'}) + + def test_name_preserved(self): foo = {} |