summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_builtin.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_builtin.py')
-rw-r--r--Lib/test/test_builtin.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 5c553a9..e50c273 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -1666,6 +1666,20 @@ class BuiltinTest(unittest.TestCase):
self.assertRaises(TypeError, tp, 1, 2)
self.assertRaises(TypeError, tp, a=1, b=2)
+ def test_warning_notimplemented(self):
+ # Issue #35712: NotImplemented is a sentinel value that should never
+ # be evaluated in a boolean context (virtually all such use cases
+ # are a result of accidental misuse implementing rich comparison
+ # operations in terms of one another).
+ # For the time being, it will continue to evaluate as truthy, but
+ # issue a deprecation warning (with the eventual intent to make it
+ # a TypeError).
+ self.assertWarns(DeprecationWarning, bool, NotImplemented)
+ with self.assertWarns(DeprecationWarning):
+ self.assertTrue(NotImplemented)
+ with self.assertWarns(DeprecationWarning):
+ self.assertFalse(not NotImplemented)
+
class TestBreakpoint(unittest.TestCase):
def setUp(self):