X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/6417c99bfdbdc057e4a10aeff9967a751f4f85e9..9d5edd302003285b5280e3dd209d6299feafb70e:/tests/test_format.py diff --git a/tests/test_format.py b/tests/test_format.py index c6c8110..1916146 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -15,6 +15,7 @@ from tests.util import ( ) SIMPLE_CASES: List[str] = [ + "attribute_access_on_number_literals", "beginning_backslash", "bracketmatch", "class_blank_parentheses", @@ -43,6 +44,7 @@ SIMPLE_CASES: List[str] = [ "fmtskip4", "fmtskip5", "fmtskip6", + "fmtskip7", "fstring", "function", "function2", @@ -52,11 +54,16 @@ SIMPLE_CASES: List[str] = [ "remove_parens", "slices", "string_prefixes", + "torture", + "trailing_comma_optional_parens1", + "trailing_comma_optional_parens2", + "trailing_comma_optional_parens3", "tricky_unicode_symbols", "tupleassign", ] PY310_CASES: List[str] = [ + "starred_for_target", "pattern_matching_simple", "pattern_matching_complex", "pattern_matching_extras", @@ -65,14 +72,25 @@ PY310_CASES: List[str] = [ "parenthesized_context_managers", ] +PY311_CASES: List[str] = [ + "pep_654", + "pep_654_style", +] + PREVIEW_CASES: List[str] = [ # string processing "cantfit", "comments7", + "comments8", "long_strings", "long_strings__edge_case", "long_strings__regression", "percent_precedence", + "remove_except_parens", + "remove_for_brackets", + "one_element_subscript", + "remove_await_parens", + "return_annotation_brackets", ] SOURCES: List[str] = [ @@ -97,8 +115,6 @@ SOURCES: List[str] = [ "src/black/strings.py", "src/black/trans.py", "src/blackd/__init__.py", - "src/black_primer/cli.py", - "src/black_primer/lib.py", "src/blib2to3/pygram.py", "src/blib2to3/pytree.py", "src/blib2to3/pgen2/conv.py", @@ -113,7 +129,6 @@ SOURCES: List[str] = [ "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", @@ -185,6 +200,16 @@ def test_pep_570() -> None: assert_format(source, expected, minimum_version=(3, 8)) +def test_remove_with_brackets() -> None: + source, expected = read_data("remove_with_brackets") + assert_format( + source, + expected, + black.Mode(preview=True), + minimum_version=(3, 9), + ) + + @pytest.mark.parametrize("filename", PY310_CASES) def test_python_310(filename: str) -> None: source, expected = read_data(filename) @@ -207,6 +232,13 @@ def test_patma_invalid() -> None: exc_info.match("Cannot parse: 10:11") +@pytest.mark.parametrize("filename", PY311_CASES) +def test_python_311(filename: str) -> None: + source, expected = read_data(filename) + mode = black.Mode(target_versions={black.TargetVersion.PY311}) + assert_format(source, expected, mode, minimum_version=(3, 11)) + + def test_python_2_hint() -> None: with pytest.raises(black.parsing.InvalidInput) as exc_info: assert_format("print 'daylily'", "print 'daylily'") @@ -253,3 +285,9 @@ def test_python38() -> None: def test_python39() -> None: source, expected = read_data("python39") assert_format(source, expected, minimum_version=(3, 9)) + + +def test_power_op_newline() -> None: + # requires line_length=0 + source, expected = read_data("power_op_newline") + assert_format(source, expected, mode=black.Mode(line_length=0))