diff options
| author | Mark Dickinson <dickinsm@gmail.com> | 2010-07-04 16:59:04 (GMT) |
|---|---|---|
| committer | Mark Dickinson <dickinsm@gmail.com> | 2010-07-04 16:59:04 (GMT) |
| commit | 1a7f3020a7abd7b1904f60ebb520180b3a124b5e (patch) | |
| tree | a5bdbbcc815e1b54407fe96a79ca767e333c2e4d /Lib/test | |
| parent | 644bef795b2a87ae41cdb308a526d562d77ff116 (diff) | |
| download | cpython-1a7f3020a7abd7b1904f60ebb520180b3a124b5e.zip cpython-1a7f3020a7abd7b1904f60ebb520180b3a124b5e.tar.gz cpython-1a7f3020a7abd7b1904f60ebb520180b3a124b5e.tar.bz2 | |
Issue #9130: Fix validation of relative imports in parser module.
Diffstat (limited to 'Lib/test')
| -rw-r--r-- | Lib/test/test_parser.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py index 85e39c7..6acd1e7 100644 --- a/Lib/test/test_parser.py +++ b/Lib/test/test_parser.py @@ -197,6 +197,12 @@ class RoundtripLegalSyntaxTestCase(unittest.TestCase): self.check_suite("import sys as system, math") self.check_suite("import sys, math as my_math") + def test_relative_imports(self): + self.check_suite("from . import name") + self.check_suite("from .. import name") + self.check_suite("from .pkg import name") + self.check_suite("from ..pkg import name") + def test_pep263(self): self.check_suite("# -*- coding: iso-8859-1 -*-\n" "pass\n") @@ -494,6 +500,20 @@ class IllegalSyntaxTestCase(unittest.TestCase): (0, '')) self.check_bad_tree(tree, "malformed global ast") + def test_missing_import_source(self): + # from import a + tree = \ + (257, + (267, + (268, + (269, + (281, + (283, (1, 'from'), (1, 'import'), + (286, (284, (1, 'fred')))))), + (4, ''))), + (4, ''), (0, '')) + self.check_bad_tree(tree, "from import a") + class CompileTestCase(unittest.TestCase): |
