diff options
Diffstat (limited to 'Lib/test/test_builtin.py')
| -rw-r--r-- | Lib/test/test_builtin.py | 14 |
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): |
