Sync test_typing.py with upstream git repo (typing.py was already synced).

This commit is contained in:
Guido van Rossum 2016-04-17 17:52:05 -07:00
parent 6a7b3a77b4
commit 6aafbd433d
1 changed files with 20 additions and 0 deletions

View File

@ -1,3 +1,4 @@
import contextlib
import pickle
import re
import sys
@ -1309,6 +1310,21 @@ class CollectionsAbcTests(TestCase):
assert len(MMB[KT, VT]()) == 0
class OtherABCTests(TestCase):
@skipUnless(hasattr(typing, 'ContextManager'),
'requires typing.ContextManager')
def test_contextmanager(self):
@contextlib.contextmanager
def manager():
yield 42
cm = manager()
assert isinstance(cm, typing.ContextManager)
assert isinstance(cm, typing.ContextManager[int])
assert not isinstance(42, typing.ContextManager)
class NamedTupleTests(TestCase):
def test_basics(self):
@ -1447,12 +1463,16 @@ class AllTests(TestCase):
assert 'ValuesView' in a
assert 'cast' in a
assert 'overload' in a
if hasattr(contextlib, 'AbstractContextManager'):
assert 'ContextManager' in a
# Check that io and re are not exported.
assert 'io' not in a
assert 're' not in a
# Spot-check that stdlib modules aren't exported.
assert 'os' not in a
assert 'sys' not in a
# Check that Text is defined.
assert 'Text' in a
if __name__ == '__main__':