]> granicus.if.org Git - python/commitdiff
Issue #25754: Allow test_rlcompleter to be run multiple times
authorMartin Panter <vadmium+py@gmail.com>
Sat, 28 Nov 2015 22:38:24 +0000 (22:38 +0000)
committerMartin Panter <vadmium+py@gmail.com>
Sat, 28 Nov 2015 22:38:24 +0000 (22:38 +0000)
Lib/test/test_rlcompleter.py

index d9e4de6deb4ccc6cc495a258f74122b01cde1645..208c0545c4405c580bb1adf1fa998fb6f457004a 100644 (file)
@@ -1,4 +1,5 @@
 import unittest
+from unittest.mock import patch
 import builtins
 import rlcompleter
 
@@ -72,12 +73,12 @@ class TestRlcompleter(unittest.TestCase):
         self.assertIn('CompleteMe.__name__', matches)
         self.assertIn('CompleteMe.__new__(', matches)
 
-        CompleteMe.me = CompleteMe
-        self.assertEqual(self.completer.attr_matches('CompleteMe.me.me.sp'),
-                         ['CompleteMe.me.me.spam'])
-        self.assertEqual(self.completer.attr_matches('egg.s'),
-                         ['egg.{}('.format(x) for x in dir(str)
-                          if x.startswith('s')])
+        with patch.object(CompleteMe, "me", CompleteMe, create=True):
+            self.assertEqual(self.completer.attr_matches('CompleteMe.me.me.sp'),
+                             ['CompleteMe.me.me.spam'])
+            self.assertEqual(self.completer.attr_matches('egg.s'),
+                             ['egg.{}('.format(x) for x in dir(str)
+                              if x.startswith('s')])
 
     def test_excessive_getattr(self):
         # Ensure getattr() is invoked no more than once per attribute