X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/a5381ba7648f7308145c78c248e29118e18dc530..def048356bb31474c3316f758503742773265bbf:/tests/test_blackd.py

diff --git a/tests/test_blackd.py b/tests/test_blackd.py
index cc750b4..6174c45 100644
--- a/tests/test_blackd.py
+++ b/tests/test_blackd.py
@@ -1,4 +1,5 @@
 import re
+from typing import Any
 from unittest.mock import patch
 
 from click.testing import CliRunner
@@ -8,12 +9,18 @@ from tests.util import read_data, DETERMINISTIC_HEADER
 
 try:
     import blackd
-    from aiohttp.test_utils import AioHTTPTestCase, unittest_run_loop
+    from aiohttp.test_utils import AioHTTPTestCase
     from aiohttp import web
+except ImportError as e:
+    raise RuntimeError("Please install Black with the 'd' extra") from e
+
+try:
+    from aiohttp.test_utils import unittest_run_loop
 except ImportError:
-    has_blackd_deps = False
-else:
-    has_blackd_deps = True
+    # unittest_run_loop is unnecessary and a no-op since aiohttp 3.8, and aiohttp 4
+    # removed it. To maintain compatibility we can make our own no-op decorator.
+    def unittest_run_loop(func: Any, *args: Any, **kwargs: Any) -> Any:
+        return func
 
 
 @pytest.mark.blackd
@@ -77,6 +84,9 @@ class BlackDTestCase(AioHTTPTestCase):
         await check("ruby3.5")
         await check("pyi3.6")
         await check("py1.5")
+        await check("2")
+        await check("2.7")
+        await check("py2.7")
         await check("2.8")
         await check("py2.8")
         await check("3.0")
@@ -137,10 +147,6 @@ class BlackDTestCase(AioHTTPTestCase):
         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)