diff options
author | Mariatta <Mariatta@users.noreply.github.com> | 2017-06-10 03:36:28 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-10 03:36:28 (GMT) |
commit | 753422f6e32e13d96319b090788f0474f1e21fc4 (patch) | |
tree | c69c5fe8db142205521b495fc1e4dcd7e39c8d7c /Lib/test/test_contextlib.py | |
parent | e380c19b7e88d97d3497016f1065d6922415db1c (diff) | |
download | cpython-753422f6e32e13d96319b090788f0474f1e21fc4.zip cpython-753422f6e32e13d96319b090788f0474f1e21fc4.tar.gz cpython-753422f6e32e13d96319b090788f0474f1e21fc4.tar.bz2 |
bpo-30266: support "= None" pattern in AbstractContextManager (GH-1448) (GH-2054)
contextlib.AbstractContextManager now supports anti-registration
by setting __enter__ = None or __exit__ = None, following the pattern
introduced in bpo-25958..
(cherry picked from commit 57161aac5eb9bcb0b43e551a1937ff0a84c1ec52)
Diffstat (limited to 'Lib/test/test_contextlib.py')
-rw-r--r-- | Lib/test/test_contextlib.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py index b1a467d..2301f75 100644 --- a/Lib/test/test_contextlib.py +++ b/Lib/test/test_contextlib.py @@ -44,6 +44,16 @@ class TestAbstractContextManager(unittest.TestCase): self.assertTrue(issubclass(DefaultEnter, AbstractContextManager)) + class NoEnter(ManagerFromScratch): + __enter__ = None + + self.assertFalse(issubclass(NoEnter, AbstractContextManager)) + + class NoExit(ManagerFromScratch): + __exit__ = None + + self.assertFalse(issubclass(NoExit, AbstractContextManager)) + class ContextManagerTestCase(unittest.TestCase): |