diff options
author | Benjamin Peterson <benjamin@python.org> | 2008-06-08 22:52:37 +0000 |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2008-06-08 22:52:37 +0000 |
commit | d5efd2040642d08e64011fb6e81193002269aad4 (patch) | |
tree | 83d5030f13f6fd161e1dbe81cfa5c95125de1159 /Lib/test/test_py3kwarn.py | |
parent | cbd78133fa68bd646bc0e77ea28cb73ed5a9c188 (diff) | |
download | cpython-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.py | 49 |
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: |