10000 PEP 737: gh-111696: Add type.__fully_qualified_name__ attribute by vstinner · Pull Request #112133 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

PEP 737: gh-111696: Add type.__fully_qualified_name__ attribute #112133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 8 commits into from
Closed
Prev Previous commit
Next Next commit
Add tests on more types: built-in and types
  • Loading branch information
vstinner committed Nov 17, 2023
commit 266a8e521e86e2562d71c88cf3949ebc3c15db93
22 changes: 22 additions & 0 deletions Lib/test/test_builtin.py
Original file line number Diff line number Diff line change
Expand Up @@ -2505,6 +2505,28 @@ class D:
D.__module__ = 123
self.assertEqual(D.__fully_qualified_name__, D.__qualname__)

# built-in type
self.assertEqual(str.__name__, 'str')
self.assertEqual(str.__qualname__, 'str')
self.assertEqual(str.__module__, 'builtins')
self.assertEqual(str.__fully_qualified_name__, 'str')

def func():
return 3
CodeType = type(func.__code__)
self.assertEqual(CodeType.__name__, 'code')
self.assertEqual(CodeType.__qualname__, 'code')
self.assertEqual(CodeType.__module__, 'builtins')
self.assertEqual(CodeType.__fully_qualified_name__, 'code')

# fully qualified name which contains the module name
SimpleNamespace = types.SimpleNamespace
self.assertEqual(SimpleNamespace.__name__, 'SimpleNamespace')
self.assertEqual(SimpleNamespace.__qualname__, 'SimpleNamespace')
self.assertEqual(SimpleNamespace.__module__, 'types')
self.assertEqual(SimpleNamespace.__fully_qualified_name__,
'types.SimpleNamespace')

def test_type_qualname(self):
A = type('A', (), {'__qualname__': 'B.C'})
self.assertEqual(A.__name__, 'A')
Expand Down
0