X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/18fb88486d434dbde9b2a9c98f008a71cf5d941d..91e1e1328aa0a11ef50017316ff97149886e1b05:/tests/test_format.py diff --git a/tests/test_format.py b/tests/test_format.py index 0816bbd..adcbc02 100644 --- a/tests/test_format.py +++ b/tests/test_format.py @@ -1,3 +1,4 @@ +import re from dataclasses import replace from typing import Any, Iterator from unittest.mock import patch @@ -58,6 +59,29 @@ def test_preview_minimum_python_310_format(filename: str) -> None: assert_format(source, expected, mode, minimum_version=(3, 10)) +def test_preview_context_managers_targeting_py38() -> None: + source, expected = read_data("preview_context_managers", "targeting_py38.py") + mode = black.Mode(preview=True, target_versions={black.TargetVersion.PY38}) + assert_format(source, expected, mode, minimum_version=(3, 8)) + + +def test_preview_context_managers_targeting_py39() -> None: + source, expected = read_data("preview_context_managers", "targeting_py39.py") + mode = black.Mode(preview=True, target_versions={black.TargetVersion.PY39}) + assert_format(source, expected, mode, minimum_version=(3, 9)) + + +@pytest.mark.parametrize( + "filename", all_data_cases("preview_context_managers/auto_detect") +) +def test_preview_context_managers_auto_detect(filename: str) -> None: + match = re.match(r"features_3_(\d+)", filename) + assert match is not None, "Unexpected filename format: %s" % filename + source, expected = read_data("preview_context_managers/auto_detect", filename) + mode = black.Mode(preview=True) + assert_format(source, expected, mode, minimum_version=(3, int(match.group(1)))) + + # =============== # # Complex cases # ============= #