[Python-checkins] bpo-24928: Add test case for patch.dict using OrderedDict (GH -11437)

Chris Withers webhook-mailer at python.org
Fri Jan 24 03:14:26 EST 2020


https://github.com/python/cpython/commit/1d0c5e16eab29d55773cc4196bb90d2bf12e09dd
commit: 1d0c5e16eab29d55773cc4196bb90d2bf12e09dd
branch: master
author: Emmanuel Arias <eamanu at yaerobi.com>
committer: Chris Withers <chris at withers.org>
date: 2020-01-24T08:14:14Z
summary:

bpo-24928: Add test case for patch.dict using OrderedDict (GH -11437)

* add test for path.dict using OrderedDict

Co-authored-by: Yu Tomita nekobon at users.noreply.github.com

files:
M Lib/unittest/test/testmock/testpatch.py

diff --git a/Lib/unittest/test/testmock/testpatch.py b/Lib/unittest/test/testmock/testpatch.py
index e065a2c35fbee..dc4ccdbae242b 100644
--- a/Lib/unittest/test/testmock/testpatch.py
+++ b/Lib/unittest/test/testmock/testpatch.py
@@ -4,6 +4,7 @@
 
 import os
 import sys
+from collections import OrderedDict
 
 import unittest
 from unittest.test.testmock import support
@@ -1834,6 +1835,25 @@ def foo(*a, x=0):
             self.assertEqual(foo(), 1)
         self.assertEqual(foo(), 0)
 
+    def test_patch_orderdict(self):
+        foo = OrderedDict()
+        foo['a'] = object()
+        foo['b'] = 'python'
+
+        original = foo.copy()
+        update_values = list(zip('cdefghijklmnopqrstuvwxyz', range(26)))
+        patched_values = list(foo.items()) + update_values
+
+        with patch.dict(foo, OrderedDict(update_values)):
+            self.assertEqual(list(foo.items()), patched_values)
+
+        self.assertEqual(foo, original)
+
+        with patch.dict(foo, update_values):
+            self.assertEqual(list(foo.items()), patched_values)
+
+        self.assertEqual(foo, original)
+
     def test_dotted_but_module_not_loaded(self):
         # This exercises the AttributeError branch of _dot_lookup.
 



More information about the Python-checkins mailing list