]>
git.madduck.net Git - etc/vim.git/blobdiff - tests/util.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:
import os
import unittest
from pathlib import Path
import os
import unittest
from pathlib import Path
-from typing import List, Tuple, Any
-import black
+from typing import Iterator, List, Tuple, Any
+from contextlib import contextmanager
from functools import partial
from functools import partial
+import black
+from black.output import out, err
+from black.debug import DebugVisitor
+
THIS_DIR = Path(__file__).parent
PROJECT_ROOT = THIS_DIR.parent
EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)"
THIS_DIR = Path(__file__).parent
PROJECT_ROOT = THIS_DIR.parent
EMPTY_LINE = "# EMPTY LINE WITH WHITESPACE" + " (this comment will be removed)"
def assertFormatEqual(self, expected: str, actual: str) -> None:
if actual != expected and not os.environ.get("SKIP_AST_PRINT"):
def assertFormatEqual(self, expected: str, actual: str) -> None:
if actual != expected and not os.environ.get("SKIP_AST_PRINT"):
- bdv: black. DebugVisitor[Any]
- black. out("Expected tree:", fg="green")
+ bdv: DebugVisitor[Any]
+ out("Expected tree:", fg="green")
try:
exp_node = black.lib2to3_parse(expected)
try:
exp_node = black.lib2to3_parse(expected)
- bdv = black. DebugVisitor()
list(bdv.visit(exp_node))
except Exception as ve:
list(bdv.visit(exp_node))
except Exception as ve:
- black. err(str(ve))
- black. out("Actual tree:", fg="red")
+ err(str(ve))
+ out("Actual tree:", fg="red")
try:
exp_node = black.lib2to3_parse(actual)
try:
exp_node = black.lib2to3_parse(actual)
- bdv = black. DebugVisitor()
list(bdv.visit(exp_node))
except Exception as ve:
list(bdv.visit(exp_node))
except Exception as ve:
self.assertMultiLineEqual(expected, actual)
self.assertMultiLineEqual(expected, actual)
# If there's no output marker, treat the entire file as already pre-formatted.
_output = _input[:]
return "".join(_input).strip() + "\n", "".join(_output).strip() + "\n"
# If there's no output marker, treat the entire file as already pre-formatted.
_output = _input[:]
return "".join(_input).strip() + "\n", "".join(_output).strip() + "\n"
+
+
+@contextmanager
+def change_directory(path: Path) -> Iterator[None]:
+ """Context manager to temporarily chdir to a different directory."""
+ previous_dir = os.getcwd()
+ try:
+ os.chdir(path)
+ yield
+ finally:
+ os.chdir(previous_dir)