diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2024-05-12 14:22:58 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-12 14:22:58 (GMT) |
commit | 76dc1bf5be3b360f7d8c476accb0d8d53c8dfb08 (patch) | |
tree | 4017eb5259525b0dad2e37f09b63eba0318646f2 /Lib/test | |
parent | a0786bcb748ac64a051f6c74f298b8b91852ee4f (diff) | |
download | cpython-76dc1bf5be3b360f7d8c476accb0d8d53c8dfb08.zip cpython-76dc1bf5be3b360f7d8c476accb0d8d53c8dfb08.tar.gz cpython-76dc1bf5be3b360f7d8c476accb0d8d53c8dfb08.tar.bz2 |
[3.12] gh-118899: Add tests for `NotImplemented` attribute access (GH-118902) (#118969)
gh-118899: Add tests for `NotImplemented` attribute access (GH-118902)
(cherry picked from commit ec1398e117fb142cc830495503dbdbb1ddafe941)
Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_builtin.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index 211dd89..c71c568 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -2091,6 +2091,24 @@ class BuiltinTest(unittest.TestCase): with self.assertWarns(DeprecationWarning): self.assertFalse(not NotImplemented) + def test_singleton_attribute_access(self): + for singleton in (NotImplemented, Ellipsis): + with self.subTest(singleton): + self.assertIs(type(singleton), singleton.__class__) + self.assertIs(type(singleton).__class__, type) + + # Missing instance attributes: + with self.assertRaises(AttributeError): + singleton.prop = 1 + with self.assertRaises(AttributeError): + singleton.prop + + # Missing class attributes: + with self.assertRaises(TypeError): + type(singleton).prop = 1 + with self.assertRaises(AttributeError): + type(singleton).prop + class TestBreakpoint(unittest.TestCase): def setUp(self): |