X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/154b98579d3904a042fd3e02a9d77a76be63b36c..3bfb66971f03da39ae1f4c98c30d55e60f63d33b:/tests/test_black.py diff --git a/tests/test_black.py b/tests/test_black.py index a465d54..10efbcf 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -7,7 +7,7 @@ from functools import partial from io import BytesIO, TextIOWrapper import os from pathlib import Path -import re +import regex as re import sys from tempfile import TemporaryDirectory from typing import Any, BinaryIO, Generator, List, Tuple, Iterator, TypeVar @@ -99,7 +99,7 @@ def skip_if_exception(e: str) -> Iterator[None]: if exc.__class__.__name__ == e: unittest.skip(f"Encountered expected exception {exc}, skipping") else: - raise exc + raise class BlackRunner(CliRunner): @@ -1041,10 +1041,10 @@ class BlackTestCase(unittest.TestCase): just_nl = "\n" with self.assertRaises(black.NothingChanged): black.format_file_contents(just_nl, mode=mode, fast=False) - same = "l = [1, 2, 3]\n" + same = "j = [1, 2, 3]\n" with self.assertRaises(black.NothingChanged): black.format_file_contents(same, mode=mode, fast=False) - different = "l = [1,2,3]" + different = "j = [1,2,3]" expected = same actual = black.format_file_contents(different, mode=mode, fast=False) self.assertEqual(expected, actual) @@ -1072,7 +1072,7 @@ class BlackTestCase(unittest.TestCase): with patch("black.out", out), patch("black.err", err): with self.assertRaises(AssertionError): - self.assertFormatEqual("l = [1, 2, 3]", "l = [1, 2, 3,]") + self.assertFormatEqual("j = [1, 2, 3]", "j = [1, 2, 3,]") out_str = "".join(out_lines) self.assertTrue("Expected tree:" in out_str) @@ -1245,6 +1245,13 @@ class BlackTestCase(unittest.TestCase): two = black.read_cache(short_mode) self.assertNotIn(path, two) + def test_tricky_unicode_symbols(self) -> None: + source, expected = read_data("tricky_unicode_symbols") + actual = fs(source) + self.assertFormatEqual(expected, actual) + black.assert_equivalent(source, actual) + black.assert_stable(source, actual, black.FileMode()) + def test_single_file_force_pyi(self) -> None: reg_mode = black.FileMode() pyi_mode = black.FileMode(is_pyi=True) @@ -1562,7 +1569,7 @@ class BlackDTestCase(AioHTTPTestCase): @unittest_run_loop async def test_blackd_unsupported_version(self) -> None: response = await self.client.post( - "/", data=b"what", headers={blackd.VERSION_HEADER: "2"} + "/", data=b"what", headers={blackd.PROTOCOL_VERSION_HEADER: "2"} ) self.assertEqual(response.status, 501) @@ -1571,7 +1578,7 @@ class BlackDTestCase(AioHTTPTestCase): @unittest_run_loop async def test_blackd_supported_version(self) -> None: response = await self.client.post( - "/", data=b"what", headers={blackd.VERSION_HEADER: "1"} + "/", data=b"what", headers={blackd.PROTOCOL_VERSION_HEADER: "1"} ) self.assertEqual(response.status, 200) @@ -1624,18 +1631,25 @@ class BlackDTestCase(AioHTTPTestCase): response = await self.client.post( "/", data=code, headers={blackd.PYTHON_VARIANT_HEADER: header_value} ) - self.assertEqual(response.status, expected_status) + self.assertEqual( + response.status, expected_status, msg=await response.text() + ) await check("3.6", 200) await check("py3.6", 200) await check("3.6,3.7", 200) await check("3.6,py3.7", 200) + await check("py36,py37", 200) + await check("36", 200) + await check("3.6.4", 200) await check("2", 204) await check("2.7", 204) await check("py2.7", 204) await check("3.4", 204) await check("py3.4", 204) + await check("py34,py36", 204) + await check("34", 204) @skip_if_exception("ClientOSError") @unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed") @@ -1655,6 +1669,13 @@ class BlackDTestCase(AioHTTPTestCase): ) self.assertEqual(response.status, 400) + @skip_if_exception("ClientOSError") + @unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed") + @unittest_run_loop + async def test_blackd_response_black_version_header(self) -> None: + response = await self.client.post("/") + self.assertIsNotNone(response.headers.get(blackd.BLACK_VERSION_HEADER)) + if __name__ == "__main__": unittest.main(module="test_black")