Skip tests involving f-strings for Python 3.9

This commit is contained in:
Alex Hall 2023-09-11 17:14:47 +02:00
parent 18f7e255df
commit 50dbf3ac4c
3 changed files with 8 additions and 4 deletions

View File

@ -1,8 +1,10 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import unittest import unittest
import codebuilder
import six import six
from asttokens.util import fstring_positions_work
import codebuilder
import test_engine import test_engine
unicode_prefix = 'u' if six.PY2 else '' unicode_prefix = 'u' if six.PY2 else ''
@ -72,7 +74,7 @@ class TestCodeBuilder(test_engine.EngineTestCase):
self.assertEqual(make_body("'''test1'''\n\"\"\"test2\"\"\""), self.assertEqual(make_body("'''test1'''\n\"\"\"test2\"\"\""),
"'''test1'''\nreturn \"\"\"test2\"\"\"") "'''test1'''\nreturn \"\"\"test2\"\"\"")
if six.PY3: if fstring_positions_work():
self.assertEqual( self.assertEqual(
make_body("f'{$foo + 1 + $bar} 2 {3 + $baz}' + $foo2 + f'{4 + $bar2}!'"), make_body("f'{$foo + 1 + $bar} 2 {3 + $baz}' + $foo2 + f'{4 + $bar2}!'"),
"return f'{rec.foo + 1 + rec.bar} 2 {3 + rec.baz}' + rec.foo2 + f'{4 + rec.bar2}!'" "return f'{rec.foo + 1 + rec.bar} 2 {3 + rec.baz}' + rec.foo2 + f'{4 + rec.bar2}!'"

View File

@ -1,5 +1,6 @@
import unittest import unittest
import six import six
from asttokens.util import fstring_positions_work
import test_engine import test_engine
import testutil import testutil
@ -219,6 +220,7 @@ class Table3:
def reflist(rec: Table3) -> list[Table2]: def reflist(rec: Table3) -> list[Table2]:
''') ''')
@unittest.skipUnless(fstring_positions_work(), "Needs Python 3.10+")
def test_convert_completion(self): def test_convert_completion(self):
completion = """ completion = """
Here's some code: Here's some code:

View File

@ -2,7 +2,7 @@
import logging import logging
import unittest import unittest
import six from asttokens.util import fstring_positions_work
import testutil import testutil
import test_engine import test_engine
@ -81,7 +81,7 @@ class TestRenames(test_engine.EngineTestCase):
}] }]
]}) ]})
@unittest.skipUnless(six.PY3, "Python 3 only") @unittest.skipUnless(fstring_positions_work(), "Python 3.10+ only")
def test_rename_inside_fstring(self): def test_rename_inside_fstring(self):
self.load_sample(self.sample) self.load_sample(self.sample)
self.add_column("People", "CityUpper", formula="f'{$city.upper()}'") self.add_column("People", "CityUpper", formula="f'{$city.upper()}'")