mirror of
https://github.com/python/cpython.git
synced 2026-01-06 15:32:22 +00:00
bpo-26120: do not exclude __future__ import in pydoc of the __future__ module itself (GH-32180)
This commit is contained in:
parent
a5ba445322
commit
63f32fae79
2 changed files with 18 additions and 1 deletions
|
|
@ -292,7 +292,7 @@ def visiblename(name, all=None, obj=None):
|
|||
if name.startswith('_') and hasattr(obj, '_fields'):
|
||||
return True
|
||||
# Ignore __future__ imports.
|
||||
if name in _future_feature_names:
|
||||
if obj is not __future__ and name in _future_feature_names:
|
||||
if isinstance(getattr(obj, name, None), __future__._Feature):
|
||||
return False
|
||||
if all is not None:
|
||||
|
|
|
|||
|
|
@ -850,6 +850,23 @@ class B(A)
|
|||
for expected_line in expected_lines:
|
||||
self.assertIn(expected_line, as_text)
|
||||
|
||||
def test__future__imports(self):
|
||||
# __future__ features are excluded from module help,
|
||||
# except when it's the __future__ module itself
|
||||
import __future__
|
||||
future_text, _ = get_pydoc_text(__future__)
|
||||
future_html, _ = get_pydoc_html(__future__)
|
||||
pydoc_mod_text, _ = get_pydoc_text(pydoc_mod)
|
||||
pydoc_mod_html, _ = get_pydoc_html(pydoc_mod)
|
||||
|
||||
for feature in __future__.all_feature_names:
|
||||
txt = f"{feature} = _Feature"
|
||||
html = f"<strong>{feature}</strong> = _Feature"
|
||||
self.assertIn(txt, future_text)
|
||||
self.assertIn(html, future_html)
|
||||
self.assertNotIn(txt, pydoc_mod_text)
|
||||
self.assertNotIn(html, pydoc_mod_html)
|
||||
|
||||
|
||||
class PydocImportTest(PydocBaseTest):
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue