]>
git.madduck.net Git - etc/vim.git/blobdiff - tests/test_ipynb.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:
-from dataclasses import replace
import pathlib
import re
from contextlib import ExitStack as does_not_raise
import pathlib
import re
from contextlib import ExitStack as does_not_raise
+from dataclasses import replace
from typing import ContextManager
from typing import ContextManager
+import pytest
+from _pytest.monkeypatch import MonkeyPatch
from click.testing import CliRunner
from click.testing import CliRunner
-from black.handle_ipynb_magics import jupyter_dependencies_are_installed
NothingChanged,
format_cell,
format_file_contents,
format_file_in_place,
NothingChanged,
format_cell,
format_file_contents,
format_file_in_place,
-import pytest
-from black import Mode
-from _pytest.monkeypatch import MonkeyPatch
-from tests.util import DATA_DIR, read_jupyter_notebook, get_case_path
+from black.handle_ipynb_magics import jupyter_dependencies_are_installed
+from tests.util import DATA_DIR, get_case_path, read_jupyter_notebook
with contextlib.suppress(ModuleNotFoundError):
import IPython
with contextlib.suppress(ModuleNotFoundError):
import IPython
[
pytest.param(JUPYTER_MODE, id="default mode"),
pytest.param(
[
pytest.param(JUPYTER_MODE, id="default mode"),
pytest.param(
- replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust1 "}),
+ replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust2 "}),
id="custom cell magics mode",
),
],
id="custom cell magics mode",
),
],
[
pytest.param(JUPYTER_MODE, id="default mode"),
pytest.param(
[
pytest.param(JUPYTER_MODE, id="default mode"),
pytest.param(
- replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust1 "}),
+ replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust2 "}),
id="custom cell magics mode",
),
],
id="custom cell magics mode",
),
],
id="No change when cell magic not registered",
),
pytest.param(
id="No change when cell magic not registered",
),
pytest.param(
- replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust1 "}),
+ replace(JUPYTER_MODE, python_cell_magics={"cust1", "cust2 "}),
"%%custom_python_magic -n1 -n2\nx=2",
pytest.raises(NothingChanged),
id="No change when other cell magics registered",
"%%custom_python_magic -n1 -n2\nx=2",
pytest.raises(NothingChanged),
id="No change when other cell magics registered",
jupyter_dependencies_are_installed.cache_clear()
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.ipynb"
jupyter_dependencies_are_installed.cache_clear()
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.ipynb"
- with open(nb) as src, open(tmp_nb, "w") as dst:
- dst.write(src.read())
- monkeypatch.setattr(
- "black.jupyter_dependencies_are_installed", lambda verbose, quiet: False
- )
+ tmp_nb.write_bytes(nb.read_bytes())
+ monkeypatch.setattr("black.jupyter_dependencies_are_installed", lambda warn: False)
result = runner.invoke(
main, [str(tmp_path / "notebook.ipynb"), f"--config={EMPTY_CONFIG}"]
)
assert "No Python files are present to be formatted. Nothing to do" in result.output
jupyter_dependencies_are_installed.cache_clear()
result = runner.invoke(
main, [str(tmp_path / "notebook.ipynb"), f"--config={EMPTY_CONFIG}"]
)
assert "No Python files are present to be formatted. Nothing to do" in result.output
jupyter_dependencies_are_installed.cache_clear()
- monkeypatch.setattr(
- "black.jupyter_dependencies_are_installed", lambda verbose, quiet: True
- )
+ monkeypatch.setattr("black.jupyter_dependencies_are_installed", lambda warn: True)
result = runner.invoke(
main, [str(tmp_path / "notebook.ipynb"), f"--config={EMPTY_CONFIG}"]
)
result = runner.invoke(
main, [str(tmp_path / "notebook.ipynb"), f"--config={EMPTY_CONFIG}"]
)
jupyter_dependencies_are_installed.cache_clear()
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.ipynb"
jupyter_dependencies_are_installed.cache_clear()
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.ipynb"
- with open(nb) as src, open(tmp_nb, "w") as dst:
- dst.write(src.read())
+ tmp_nb.write_bytes(nb.read_bytes())
- "black.files.jupyter_dependencies_are_installed", lambda verbose, quiet : False
+ "black.files.jupyter_dependencies_are_installed", lambda warn : False
)
result = runner.invoke(main, [str(tmp_path), f"--config={EMPTY_CONFIG}"])
assert "No Python files are present to be formatted. Nothing to do" in result.output
jupyter_dependencies_are_installed.cache_clear()
monkeypatch.setattr(
)
result = runner.invoke(main, [str(tmp_path), f"--config={EMPTY_CONFIG}"])
assert "No Python files are present to be formatted. Nothing to do" in result.output
jupyter_dependencies_are_installed.cache_clear()
monkeypatch.setattr(
- "black.files.jupyter_dependencies_are_installed", lambda verbose, quiet : True
+ "black.files.jupyter_dependencies_are_installed", lambda warn : True
)
result = runner.invoke(main, [str(tmp_path), f"--config={EMPTY_CONFIG}"])
assert "reformatted" in result.output
)
result = runner.invoke(main, [str(tmp_path), f"--config={EMPTY_CONFIG}"])
assert "reformatted" in result.output
def test_ipynb_flag(tmp_path: pathlib.Path) -> None:
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.a_file_extension_which_is_definitely_not_ipynb"
def test_ipynb_flag(tmp_path: pathlib.Path) -> None:
nb = get_case_path("jupyter", "notebook_trailing_newline.ipynb")
tmp_nb = tmp_path / "notebook.a_file_extension_which_is_definitely_not_ipynb"
- with open(nb) as src, open(tmp_nb, "w") as dst:
- dst.write(src.read())
+ tmp_nb.write_bytes(nb.read_bytes())
result = runner.invoke(
main,
[
result = runner.invoke(
main,
[