X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e6cd10e7615f4df537e2eaefcf3904a4feecad1f..fdc4b67433906c2b8beeb349366a69befc37aafe:/tests/test_format.py diff --git a/tests/test_format.py b/tests/test_format.py index e467770..5c78afe 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -1,12 +1,12 @@ from unittest.mock import patch import black +import pytest from parameterized import parameterized from tests.util import ( BlackBaseTestCase, fs, - ff, DEFAULT_MODE, dump_to_stderr, read_data, @@ -16,7 +16,6 @@ from tests.util import ( SIMPLE_CASES = [ "beginning_backslash", "bracketmatch", - "cantfit", "class_blank_parentheses", "class_methods_new_line", "collections", @@ -26,7 +25,7 @@ SIMPLE_CASES = [ "comments4", "comments5", "comments6", - "comments7", + "comments_non_breaking_space", "comment_after_escaped_newline", "composition", "composition_no_trailing_comma", @@ -37,18 +36,16 @@ SIMPLE_CASES = [ "fmtonoff2", "fmtonoff3", "fmtonoff4", + "fmtskip", + "fmtskip2", + "fmtskip3", + "fmtskip4", + "fmtskip5", "fstring", "function", "function2", "function_trailing_comma", "import_spacing", - "long_strings", - "long_strings__edge_case", - "long_strings__regression", - "numeric_literals_py2", - "percent_precedence", - "python2", - "python2_unicode_literals", "remove_parens", "slices", "string_prefixes", @@ -56,12 +53,44 @@ SIMPLE_CASES = [ "tupleassign", ] +SIMPLE_CASES_PY2 = [ + "numeric_literals_py2", + "python2", + "python2_unicode_literals", +] + +EXPERIMENTAL_STRING_PROCESSING_CASES = [ + "cantfit", + "comments7", + "long_strings", + "long_strings__edge_case", + "long_strings__regression", + "percent_precedence", +] + SOURCES = [ - "tests/test_black.py", - "tests/test_format.py", - "tests/test_blackd.py", "src/black/__init__.py", + "src/black/__main__.py", + "src/black/brackets.py", + "src/black/cache.py", + "src/black/comments.py", + "src/black/concurrency.py", + "src/black/const.py", + "src/black/debug.py", + "src/black/files.py", + "src/black/linegen.py", + "src/black/lines.py", + "src/black/mode.py", + "src/black/nodes.py", + "src/black/numerics.py", + "src/black/output.py", + "src/black/parsing.py", + "src/black/report.py", + "src/black/rusty.py", + "src/black/strings.py", + "src/black/trans.py", + "src/blackd/__init__.py", "src/blib2to3/pygram.py", "src/blib2to3/pytree.py", "src/blib2to3/pgen2/conv.py", @@ -73,26 +102,43 @@ SOURCES = [ "src/blib2to3/pgen2/tokenize.py", "src/blib2to3/pgen2/token.py", "setup.py", + "tests/test_black.py", + "tests/test_blackd.py", + "tests/test_format.py", + "tests/test_primer.py", + "tests/optional.py", + "tests/util.py", + "tests/conftest.py", ] class TestSimpleFormat(BlackBaseTestCase): + @parameterized.expand(SIMPLE_CASES_PY2) + @pytest.mark.python2 + @patch("black.dump_to_file", dump_to_stderr) + def test_simple_format_py2(self, filename: str) -> None: + self.check_file(filename, DEFAULT_MODE) + @parameterized.expand(SIMPLE_CASES) @patch("black.dump_to_file", dump_to_stderr) def test_simple_format(self, filename: str) -> None: - source, expected = read_data(filename) - actual = fs(source) - self.assertFormatEqual(expected, actual) - black.assert_equivalent(source, actual) - black.assert_stable(source, actual, DEFAULT_MODE) + self.check_file(filename, DEFAULT_MODE) + + @parameterized.expand(EXPERIMENTAL_STRING_PROCESSING_CASES) + @patch("black.dump_to_file", dump_to_stderr) + def test_experimental_format(self, filename: str) -> None: + self.check_file(filename, black.Mode(experimental_string_processing=True)) @parameterized.expand(SOURCES) @patch("black.dump_to_file", dump_to_stderr) def test_source_is_formatted(self, filename: str) -> None: path = THIS_DIR.parent / filename - source, expected = read_data(str(path), data=False) - actual = fs(source, mode=DEFAULT_MODE) + self.check_file(str(path), DEFAULT_MODE, data=False) + + def check_file(self, filename: str, mode: black.Mode, *, data: bool = True) -> None: + source, expected = read_data(filename, data=data) + actual = fs(source, mode=mode) self.assertFormatEqual(expected, actual) - black.assert_equivalent(source, actual) - black.assert_stable(source, actual, DEFAULT_MODE) - self.assertFalse(ff(path)) + if source != actual: + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, mode)