diff options
author | Felix Schwarz <felix.schwarz@oss.schwarz.eu> | 2020-05-05 08:05:56 +0000 |
---|---|---|
committer | Aarni Koskela <akx@iki.fi> | 2020-05-05 11:15:20 +0300 |
commit | 7bdaa28a55e8d8228d5434effa4b1473ab7b3669 (patch) | |
tree | 2482ea28da162aa44c7bc36d8211f1e3eab392ce | |
parent | 167b71421f113e2210e4deefef5020402492e5be (diff) | |
download | babel-7bdaa28a55e8d8228d5434effa4b1473ab7b3669.tar.gz |
fix tests when using Python 3.9a6
In Python 3.9a6 integer values for future flags were changed to prevent
collision with compiler flags. We need to retrieve these at runtime so
the test suite works with Python <= 3.8 as well as Python 3.9.
-rw-r--r-- | tests/test_util.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/test_util.py b/tests/test_util.py index a6a4450..b9343aa 100644 --- a/tests/test_util.py +++ b/tests/test_util.py @@ -11,6 +11,7 @@ # individuals. For the exact contribution history, see the revision # history and logs, available at http://babel.edgewall.org/log/. +import __future__ import unittest import pytest @@ -20,6 +21,12 @@ from babel._compat import BytesIO from babel.util import parse_future_flags +class _FF: + division = __future__.division.compiler_flag + print_function = __future__.print_function.compiler_flag + with_statement = __future__.with_statement.compiler_flag + unicode_literals = __future__.unicode_literals.compiler_flag + def test_distinct(): assert list(util.distinct([1, 2, 1, 3, 4, 4])) == [1, 2, 3, 4] assert list(util.distinct('foobar')) == ['f', 'o', 'b', 'a', 'r'] @@ -70,25 +77,25 @@ def test_parse_encoding_non_ascii(): from __future__ import print_function, division, with_statement, unicode_literals -''', 0x10000 | 0x2000 | 0x8000 | 0x20000), +''', _FF.print_function | _FF.division | _FF.with_statement | _FF.unicode_literals), (''' from __future__ import print_function, division print('hello') -''', 0x10000 | 0x2000), +''', _FF.print_function | _FF.division), (''' from __future__ import print_function, division, unknown,,,,, print 'hello' -''', 0x10000 | 0x2000), +''', _FF.print_function | _FF.division), (''' from __future__ import ( print_function, division) -''', 0x10000 | 0x2000), +''', _FF.print_function | _FF.division), (''' from __future__ import \\ print_function, \\ division -''', 0x10000 | 0x2000), +''', _FF.print_function | _FF.division), ]) def test_parse_future(source, result): fp = BytesIO(source.encode('latin-1')) |