X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/e9d4e7b67f359114ba57ecf0c1300f7eb4f08950..b69bce860ccb123b7a6de707496c0b1361bd7b80:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index e6a6647..40bde36 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -35,6 +35,7 @@ ff = partial(black.format_file_in_place, mode=black.FileMode(), fast=True) fs = partial(black.format_str, mode=black.FileMode()) THIS_FILE = Path(__file__) THIS_DIR = THIS_FILE.parent +DETERMINISTIC_HEADER = "[Deterministic header]" EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)" PY36_ARGS = [ f"--target-version={version.name.lower()}" for version in black.PY36_VERSIONS @@ -259,7 +260,7 @@ class BlackTestCase(unittest.TestCase): black.main, args, input=BytesIO(source.encode("utf8")) ) self.assertEqual(result.exit_code, 0) - actual = diff_header.sub("[Deterministic header]", result.output) + actual = diff_header.sub(DETERMINISTIC_HEADER, result.output) actual = actual.rstrip() + "\n" # the diff output has a trailing space self.assertEqual(expected, actual) @@ -340,7 +341,7 @@ class BlackTestCase(unittest.TestCase): finally: os.unlink(tmp_file) actual = result.output - actual = diff_header.sub("[Deterministic header]", actual) + actual = diff_header.sub(DETERMINISTIC_HEADER, actual) actual = actual.rstrip() + "\n" # the diff output has a trailing space if expected != actual: dump = black.dump_to_file(actual) @@ -613,6 +614,14 @@ class BlackTestCase(unittest.TestCase): black.assert_equivalent(source, actual) black.assert_stable(source, actual, black.FileMode()) + @patch("black.dump_to_file", dump_to_stderr) + def test_fmtonoff3(self) -> None: + source, expected = read_data("fmtonoff3") + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, black.FileMode()) + @patch("black.dump_to_file", dump_to_stderr) def test_remove_empty_parentheses_after_class(self) -> None: source, expected = read_data("class_blank_parentheses") @@ -1531,6 +1540,7 @@ class BlackTestCase(unittest.TestCase): # outside of the `root` directory. path.iterdir.return_value = [child] child.resolve.return_value = Path("/a/b/c") + child.as_posix.return_value = "/a/b/c" child.is_symlink.return_value = True try: list( @@ -1689,6 +1699,27 @@ class BlackDTestCase(AioHTTPTestCase): self.assertEqual(response.status, 200) self.assertEqual(await response.text(), expected) + @skip_if_exception("ClientOSError") + @unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed") + @unittest_run_loop + async def test_blackd_diff(self) -> None: + diff_header = re.compile( + rf"(In|Out)\t\d\d\d\d-\d\d-\d\d " + rf"\d\d:\d\d:\d\d\.\d\d\d\d\d\d \+\d\d\d\d" + ) + + source, _ = read_data("blackd_diff.py") + expected, _ = read_data("blackd_diff.diff") + + response = await self.client.post( + "/", data=source, headers={blackd.DIFF_HEADER: "true"} + ) + self.assertEqual(response.status, 200) + + actual = await response.text() + actual = diff_header.sub(DETERMINISTIC_HEADER, actual) + self.assertEqual(actual, expected) + @skip_if_exception("ClientOSError") @unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed") @unittest_run_loop