mirror of
https://github.com/python/cpython.git
synced 2024-12-23 00:34:40 +08:00
Sync test_typing.py with upstream git repo (typing.py was already synced).
This commit is contained in:
parent
6a7b3a77b4
commit
6aafbd433d
@ -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__':
|
||||
|
Loading…
Reference in New Issue
Block a user