]>
git.madduck.net Git - etc/vim.git/blobdiff - tests/test_black.py
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
return "\n" + "\n".join(output) + "\n"
return "\n" + "\n".join(output) + "\n"
-def read_data(name: str) -> Tuple[str, str]:
+def read_data(name: str, data: bool = True ) -> Tuple[str, str]:
"""read_data('test_name') -> 'input', 'output'"""
if not name.endswith((".py", ".pyi", ".out", ".diff")):
name += ".py"
_input: List[str] = []
_output: List[str] = []
"""read_data('test_name') -> 'input', 'output'"""
if not name.endswith((".py", ".pyi", ".out", ".diff")):
name += ".py"
_input: List[str] = []
_output: List[str] = []
- with open(THIS_DIR / name, "r", encoding="utf8") as test:
+ base_dir = THIS_DIR / "data" if data else THIS_DIR
+ with open(base_dir / name, "r", encoding="utf8") as test:
lines = test.readlines()
result = _input
for line in lines:
lines = test.readlines()
result = _input
for line in lines:
@patch("black.dump_to_file", dump_to_stderr)
def test_self(self) -> None:
@patch("black.dump_to_file", dump_to_stderr)
def test_self(self) -> None:
- source, expected = read_data("test_black")
+ source, expected = read_data("test_black", data=False )
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
@patch("black.dump_to_file", dump_to_stderr)
def test_black(self) -> None:
@patch("black.dump_to_file", dump_to_stderr)
def test_black(self) -> None:
- source, expected = read_data("../black")
+ source, expected = read_data("../black", data=False )
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
self.assertFalse(ff(THIS_DIR / ".." / "black.py"))
def test_piping(self) -> None:
self.assertFalse(ff(THIS_DIR / ".." / "black.py"))
def test_piping(self) -> None:
- source, expected = read_data("../black")
+ source, expected = read_data("../black", data=False )
stderrbuf = BytesIO()
result = BlackRunner(stderrbuf).invoke(
black.main, ["-", "--fast", f"--line-length={ll}"], input=source
stderrbuf = BytesIO()
result = BlackRunner(stderrbuf).invoke(
black.main, ["-", "--fast", f"--line-length={ll}"], input=source
)
source, _ = read_data("expression.py")
expected, _ = read_data("expression.diff")
)
source, _ = read_data("expression.py")
expected, _ = read_data("expression.diff")
+ config = THIS_DIR / "data" / "empty_pyproject.toml"
- result = BlackRunner(stderrbuf).invoke(
- black.main, ["-", "--fast", f"--line-length={ll}", "--diff"], input=source
- )
+ args = ["-", "--fast", f"--line-length={ll}", "--diff", f"--config={config}"]
+ result = BlackRunner(stderrbuf).invoke(black.main, args, input=source)
self.assertEqual(result.exit_code, 0)
actual = diff_header.sub("[Deterministic header]", result.output)
actual = actual.rstrip() + "\n" # the diff output has a trailing space
self.assertEqual(result.exit_code, 0)
actual = diff_header.sub("[Deterministic header]", result.output)
actual = actual.rstrip() + "\n" # the diff output has a trailing space
@patch("black.dump_to_file", dump_to_stderr)
def test_setup(self) -> None:
@patch("black.dump_to_file", dump_to_stderr)
def test_setup(self) -> None:
- source, expected = read_data("../setup")
+ source, expected = read_data("../setup", data=False )
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
actual = fs(source)
self.assertFormatEqual(expected, actual)
black.assert_equivalent(source, actual)
def test_check_diff_use_together(self) -> None:
with cache_dir():
# Files which will be reformatted.
def test_check_diff_use_together(self) -> None:
with cache_dir():
# Files which will be reformatted.
- src1 = (THIS_DIR / "string_quotes.py").resolve()
+ src1 = (THIS_DIR / "data" / " string_quotes.py").resolve()
result = CliRunner().invoke(black.main, [str(src1), "--diff", "--check"])
result = CliRunner().invoke(black.main, [str(src1), "--diff", "--check"])
- self.assertEqual(result.exit_code, 1)
+ self.assertEqual(result.exit_code, 1, result.output )
# Files which will not be reformatted.
# Files which will not be reformatted.
- src2 = (THIS_DIR / "composition.py").resolve()
+ src2 = (THIS_DIR / "data" / " composition.py").resolve()
result = CliRunner().invoke(black.main, [str(src2), "--diff", "--check"])
result = CliRunner().invoke(black.main, [str(src2), "--diff", "--check"])
- self.assertEqual(result.exit_code, 0)
+ self.assertEqual(result.exit_code, 0, result.output )
# Multi file command.
result = CliRunner().invoke(
# Multi file command.
result = CliRunner().invoke(
self.assertFormatEqual(actual, expected)
def test_include_exclude(self) -> None:
self.assertFormatEqual(actual, expected)
def test_include_exclude(self) -> None:
- path = THIS_DIR / "include_exclude_tests"
+ path = THIS_DIR / "data" / " include_exclude_tests"
include = re.compile(r"\.pyi?$")
exclude = re.compile(r"/exclude/|/\.definitely_exclude/")
report = black.Report()
sources: List[Path] = []
expected = [
include = re.compile(r"\.pyi?$")
exclude = re.compile(r"/exclude/|/\.definitely_exclude/")
report = black.Report()
sources: List[Path] = []
expected = [
- Path(THIS_DIR / "include_exclude_tests/ b/dont_exclude/a.py"),
- Path(THIS_DIR / "include_exclude_tests/ b/dont_exclude/a.pyi"),
+ Path(path / " b/dont_exclude/a.py"),
+ Path(path / " b/dont_exclude/a.pyi"),
]
this_abs = THIS_DIR.resolve()
sources.extend(
]
this_abs = THIS_DIR.resolve()
sources.extend(
self.assertEqual(sorted(expected), sorted(sources))
def test_empty_include(self) -> None:
self.assertEqual(sorted(expected), sorted(sources))
def test_empty_include(self) -> None:
- path = THIS_DIR / "include_exclude_tests"
+ path = THIS_DIR / "data" / " include_exclude_tests"
report = black.Report()
empty = re.compile(r"")
sources: List[Path] = []
report = black.Report()
empty = re.compile(r"")
sources: List[Path] = []
self.assertEqual(sorted(expected), sorted(sources))
def test_empty_exclude(self) -> None:
self.assertEqual(sorted(expected), sorted(sources))
def test_empty_exclude(self) -> None:
- path = THIS_DIR / "include_exclude_tests"
+ path = THIS_DIR / "data" / " include_exclude_tests"
report = black.Report()
empty = re.compile(r"")
sources: List[Path] = []
report = black.Report()
empty = re.compile(r"")
sources: List[Path] = []
if __name__ == "__main__":
if __name__ == "__main__":
+ unittest.main(module="test_black" )