summaryrefslogtreecommitdiff
path: root/testing/code/test_source.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/code/test_source.py')
-rw-r--r--testing/code/test_source.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/testing/code/test_source.py b/testing/code/test_source.py
index 3492761a..08fc733c 100644
--- a/testing/code/test_source.py
+++ b/testing/code/test_source.py
@@ -103,7 +103,7 @@ def test_source_strip_multiline():
def test_syntaxerror_rerepresentation():
ex = py.test.raises(SyntaxError, py.code.compile, 'xyz xyz')
assert ex.value.lineno == 1
- assert ex.value.offset in (4,7) # XXX pypy/jython versus cpython?
+ assert ex.value.offset in (5, 7) # pypy/cpython difference
assert ex.value.text.strip(), 'x x'
def test_isparseable():
@@ -510,11 +510,17 @@ def test_comments():
comment 4
"""
'''
- for line in range(2,6):
- assert str(getstatement(line, source)) == ' x = 1'
- for line in range(6,10):
- assert str(getstatement(line, source)) == ' assert False'
- assert str(getstatement(10, source)) == '"""'
+ for line in range(2, 6):
+ assert str(getstatement(line, source)) == " x = 1"
+ if sys.version_info >= (3, 8) or hasattr(sys, "pypy_version_info"):
+ tqs_start = 8
+ else:
+ tqs_start = 10
+ assert str(getstatement(10, source)) == '"""'
+ for line in range(6, tqs_start):
+ assert str(getstatement(line, source)) == " assert False"
+ for line in range(tqs_start, 10):
+ assert str(getstatement(line, source)) == '"""\ncomment 4\n"""'
def test_comment_in_statement():
source = '''test(foo=1,