aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_exceptions.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_exceptions.py')
-rw-r--r--Lib/test/test_exceptions.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index c6660043c80..e4b7b8f0a64 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -516,6 +516,27 @@ class ExceptionTests(unittest.TestCase):
'pickled "%r", attribute "%s' %
(e, checkArgName))
+ def test_note(self):
+ for e in [BaseException(1), Exception(2), ValueError(3)]:
+ with self.subTest(e=e):
+ self.assertIsNone(e.__note__)
+ e.__note__ = "My Note"
+ self.assertEqual(e.__note__, "My Note")
+
+ with self.assertRaises(TypeError):
+ e.__note__ = 42
+ self.assertEqual(e.__note__, "My Note")
+
+ e.__note__ = "Your Note"
+ self.assertEqual(e.__note__, "Your Note")
+
+ with self.assertRaises(TypeError):
+ del e.__note__
+ self.assertEqual(e.__note__, "Your Note")
+
+ e.__note__ = None
+ self.assertIsNone(e.__note__)
+
def testWithTraceback(self):
try:
raise IndexError(4)