summaryrefslogtreecommitdiff
path: root/Lib/test/test_py3kwarn.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2008-06-08 22:52:37 +0000
committerBenjamin Peterson <benjamin@python.org>2008-06-08 22:52:37 +0000
commitd5efd2040642d08e64011fb6e81193002269aad4 (patch)
tree83d5030f13f6fd161e1dbe81cfa5c95125de1159 /Lib/test/test_py3kwarn.py
parentcbd78133fa68bd646bc0e77ea28cb73ed5a9c188 (diff)
downloadcpython-git-d5efd2040642d08e64011fb6e81193002269aad4.tar.gz
Warn about assigning to Py3k keywords (True and False)
Diffstat (limited to 'Lib/test/test_py3kwarn.py')
-rw-r--r--Lib/test/test_py3kwarn.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 617d996f21..18298fef3d 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -16,6 +16,55 @@ class TestPy3KWarnings(unittest.TestCase):
exec "`2`" in {}
self.assertWarning(None, w, expected)
+ def test_bool_assign(self):
+ # So we don't screw up our globals
+ def safe_exec(expr):
+ def f(**kwargs): pass
+ exec expr in {'f' : f}
+
+ expected = "assignment to True or False is forbidden in 3.x"
+ with catch_warning() as w:
+ safe_exec("True = False")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("False = True")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ try:
+ safe_exec("obj.False = True")
+ except NameError: pass
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ try:
+ safe_exec("obj.True = False")
+ except NameError: pass
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("def False(): pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("def True(): pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("class False: pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("class True: pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("def f(True=43): pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("def f(False=None): pass")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("f(False=True)")
+ self.assertWarning(None, w, expected)
+ with catch_warning() as w:
+ safe_exec("f(True=1)")
+ self.assertWarning(None, w, expected)
+
+
def test_type_inequality_comparisons(self):
expected = 'type inequality comparisons not supported in 3.x'
with catch_warning() as w: