MCPcopy Index your code
hub / github.com/python/cpython / test_enter_context_slots

Method test_enter_context_slots

Lib/test/test_contextlib.py:836–858  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

834 self.assertEqual(result, [('exit', None, None, None)])
835
836 def test_enter_context_slots(self):
837 class TestCM:
838 __slots__ = ('__enter__', '__exit__')
839 def __init__(self):
840 def enter():
841 result.append('enter')
842 def exit(*exc_details):
843 result.append(('exit', *exc_details))
844 self.__enter__ = enter
845 self.__exit__ = exit
846
847 cm = TestCM()
848 result = []
849 with self.exit_stack() as stack:
850 stack.enter_context(cm)
851 self.assertEqual(result, ['enter'])
852 self.assertEqual(result, ['enter', ('exit', None, None, None)])
853
854 result = []
855 with self.exit_stack() as stack:
856 stack.push(cm)
857 self.assertEqual(result, [])
858 self.assertEqual(result, [('exit', None, None, None)])
859
860 def test_enter_context_errors(self):
861 class LacksEnterAndExit:

Callers

nothing calls this directly

Calls 4

enter_contextMethod · 0.80
TestCMClass · 0.70
assertEqualMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected