From 351358bd56c9be542eb91fb26510b790d9bf0702 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Sun, 12 May 2024 17:00:49 +0300 Subject: [PATCH] gh-118899: Add tests for `NotImplemented` attribute access (GH-118902) (cherry picked from commit ec1398e117fb142cc830495503dbdbb1ddafe941) Co-authored-by: Nikita Sobolev --- Lib/test/test_builtin.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index 211dd89ea4851c..c71c56877f690f 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -2091,6 +2091,24 @@ def test_warning_notimplemented(self): 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): pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy