Skip to content

Commit

Permalink
Fix failing unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
saroad2 committed Apr 25, 2022
1 parent 4573888 commit 9e5b4ec
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 68 deletions.
26 changes: 13 additions & 13 deletions tests/test_black.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,8 @@ def test_piping_diff(self) -> None:
r"(STDIN|STDOUT)\t\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d\.\d\d\d\d\d\d "
r"\+\d\d\d\d"
)
source, _ = read_data("expression.py")
expected, _ = read_data("expression.diff")
source, _ = read_data("expression.py", cases_dir="simple_cases")
expected, _ = read_data("expression.diff", cases_dir="simple_cases")
args = [
"-",
"--fast",
Expand All @@ -197,7 +197,7 @@ def test_piping_diff(self) -> None:
self.assertEqual(expected, actual)

def test_piping_diff_with_color(self) -> None:
source, _ = read_data("expression.py")
source, _ = read_data("expression.py", cases_dir="simple_cases")
args = [
"-",
"--fast",
Expand Down Expand Up @@ -241,7 +241,7 @@ def test_pep_572_version_detection(self) -> None:
self.assertIn(black.TargetVersion.PY38, versions)

def test_expression_ff(self) -> None:
source, expected = read_data("expression")
source, expected = read_data("expression", cases_dir="simple_cases")
tmp_file = Path(black.dump_to_file(source))
try:
self.assertTrue(ff(tmp_file, write_back=black.WriteBack.YES))
Expand All @@ -255,8 +255,8 @@ def test_expression_ff(self) -> None:
black.assert_stable(source, actual, DEFAULT_MODE)

def test_expression_diff(self) -> None:
source, _ = read_data("expression.py")
expected, _ = read_data("expression.diff")
source, _ = read_data("expression.py", cases_dir="simple_cases")
expected, _ = read_data("expression.diff", cases_dir="simple_cases")
tmp_file = Path(black.dump_to_file(source))
diff_header = re.compile(
rf"{re.escape(str(tmp_file))}\t\d\d\d\d-\d\d-\d\d "
Expand All @@ -281,8 +281,8 @@ def test_expression_diff(self) -> None:
self.assertEqual(expected, actual, msg)

def test_expression_diff_with_color(self) -> None:
source, _ = read_data("expression.py")
expected, _ = read_data("expression.diff")
source, _ = read_data("expression.py", cases_dir="simple_cases")
expected, _ = read_data("expression.diff", cases_dir="simple_cases")
tmp_file = Path(black.dump_to_file(source))
try:
result = BlackRunner().invoke(
Expand Down Expand Up @@ -320,7 +320,7 @@ def test_string_quotes(self) -> None:
black.assert_stable(source, not_normalized, mode=mode)

def test_skip_magic_trailing_comma(self) -> None:
source, _ = read_data("expression.py")
source, _ = read_data("expression.py", cases_dir="simple_cases")
expected, _ = read_data("expression_skip_magic_trailing_comma.diff")
tmp_file = Path(black.dump_to_file(source))
diff_header = re.compile(
Expand Down Expand Up @@ -755,7 +755,7 @@ def test_get_features_used(self) -> None:
self.assertEqual(black.get_features_used(node), {Feature.NUMERIC_UNDERSCORES})
node = black.lib2to3_parse("123456\n")
self.assertEqual(black.get_features_used(node), set())
source, expected = read_data("function")
source, expected = read_data("function", cases_dir="simple_cases")
node = black.lib2to3_parse(source)
expected_features = {
Feature.TRAILING_COMMA_IN_CALL,
Expand All @@ -765,7 +765,7 @@ def test_get_features_used(self) -> None:
self.assertEqual(black.get_features_used(node), expected_features)
node = black.lib2to3_parse(expected)
self.assertEqual(black.get_features_used(node), expected_features)
source, expected = read_data("expression")
source, expected = read_data("expression", cases_dir="simple_cases")
node = black.lib2to3_parse(source)
self.assertEqual(black.get_features_used(node), set())
node = black.lib2to3_parse(expected)
Expand Down Expand Up @@ -939,7 +939,7 @@ def test_check_diff_use_together(self) -> None:
src1 = (THIS_DIR / "data" / "string_quotes.py").resolve()
self.invokeBlack([str(src1), "--diff", "--check"], exit_code=1)
# Files which will not be reformatted.
src2 = (THIS_DIR / "data" / "composition.py").resolve()
src2 = (THIS_DIR / "data" / "simple_cases" / "composition.py").resolve()
self.invokeBlack([str(src2), "--diff", "--check"])
# Multi file command.
self.invokeBlack([str(src1), str(src2), "--diff", "--check"], exit_code=1)
Expand Down Expand Up @@ -1168,7 +1168,7 @@ def test_reformat_one_with_stdin_and_existing_path(self) -> None:
report = MagicMock()
# Even with an existing file, since we are forcing stdin, black
# should output to stdout and not modify the file inplace
p = Path(str(THIS_DIR / "data/collections.py"))
p = Path(str(THIS_DIR / "data" / "simple_cases" / "collections.py"))
# Make sure is_file actually returns True
self.assertTrue(p.is_file())
path = Path(f"__BLACK_STDIN_FILENAME__{p}")
Expand Down
65 changes: 12 additions & 53 deletions tests/test_format.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from dataclasses import replace
from typing import Any, Iterator, List
from typing import Any, Iterator, List, Optional
from unittest.mock import patch

import pytest
Expand All @@ -12,56 +12,9 @@
assert_format,
dump_to_stderr,
read_data,
all_data_cases,
)

SIMPLE_CASES: List[str] = [
"attribute_access_on_number_literals",
"beginning_backslash",
"bracketmatch",
"class_blank_parentheses",
"class_methods_new_line",
"collections",
"comments",
"comments2",
"comments3",
"comments4",
"comments5",
"comments6",
"comments_non_breaking_space",
"comment_after_escaped_newline",
"composition",
"composition_no_trailing_comma",
"docstring",
"empty_lines",
"expression",
"fmtonoff",
"fmtonoff2",
"fmtonoff3",
"fmtonoff4",
"fmtskip",
"fmtskip2",
"fmtskip3",
"fmtskip4",
"fmtskip5",
"fmtskip6",
"fmtskip7",
"fstring",
"function",
"function2",
"function_trailing_comma",
"import_spacing",
"power_op_spacing",
"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",
Expand Down Expand Up @@ -141,14 +94,20 @@ def patch_dump_to_file(request: Any) -> Iterator[None]:
yield


def check_file(filename: str, mode: black.Mode, *, data: bool = True) -> None:
source, expected = read_data(filename, data=data)
def check_file(
filename: str,
mode: black.Mode,
*,
data: bool = True,
cases_dir: Optional[str] = None,
) -> None:
source, expected = read_data(filename, data=data, cases_dir=cases_dir)
assert_format(source, expected, mode, fast=False)


@pytest.mark.parametrize("filename", SIMPLE_CASES)
@pytest.mark.parametrize("filename", all_data_cases("simple_cases"))
def test_simple_format(filename: str) -> None:
check_file(filename, DEFAULT_MODE)
check_file(filename, DEFAULT_MODE, cases_dir="simple_cases")


@pytest.mark.parametrize("filename", PREVIEW_CASES)
Expand Down
17 changes: 15 additions & 2 deletions tests/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,12 +90,25 @@ def assertFormatEqual(self, expected: str, actual: str) -> None:
_assert_format_equal(expected, actual)


def read_data(name: str, data: bool = True) -> Tuple[str, str]:
def all_data_cases(dir_name: str, data: bool = True) -> List[str]:
base_dir = DATA_DIR if data else PROJECT_ROOT
cases_dir = base_dir / dir_name
assert cases_dir.is_dir()
return [case_path.stem for case_path in cases_dir.iterdir()]


def read_data(
name: str, data: bool = True, cases_dir: Optional[str] = None
) -> Tuple[str, str]:
"""read_data('test_name') -> 'input', 'output'"""
if not name.endswith((".py", ".pyi", ".out", ".diff")):
name += ".py"
base_dir = DATA_DIR if data else PROJECT_ROOT
return read_data_from_file(base_dir / name)
if cases_dir is not None:
base_dir /= cases_dir
case_path = base_dir / name
assert case_path.is_file(), f"{case_path} is not a file."
return read_data_from_file(case_path)


def read_data_from_file(file_name: Path) -> Tuple[str, str]:
Expand Down

0 comments on commit 9e5b4ec

Please sign in to comment.