]>
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:
import re
from click.testing import CliRunner
import re
from click.testing import CliRunner
import pytest
from black import Mode
from _pytest.monkeypatch import MonkeyPatch
import pytest
from black import Mode
from _pytest.monkeypatch import MonkeyPatch
-from py.path import local
from tests.util import DATA_DIR
pytestmark = pytest.mark.jupyter
from tests.util import DATA_DIR
pytestmark = pytest.mark.jupyter
id="Line magic with argument",
),
pytest.param("%time\n'foo'", '%time\n"foo"', id="Line magic without argument"),
id="Line magic with argument",
),
pytest.param("%time\n'foo'", '%time\n"foo"', id="Line magic without argument"),
+ pytest.param(
+ "env = %env var", "env = %env var", id="Assignment to environment variable"
+ ),
+ pytest.param("env = %env", "env = %env", id="Assignment to magic"),
),
)
def test_magic(src: str, expected: str) -> None:
),
)
def test_magic(src: str, expected: str) -> None:
(
"%%bash\n2+2",
"%%html --isolated\n2+2",
(
"%%bash\n2+2",
"%%html --isolated\n2+2",
+ "%%writefile e.txt\n meh\n meh",
),
)
def test_non_python_magics(src: str) -> None:
),
)
def test_non_python_magics(src: str) -> None:
def test_cell_magic_with_magic() -> None:
def test_cell_magic_with_magic() -> None:
- src = "%%t -n1\nls =!ls"
+ src = "%%timeit -n1\nls =!ls"
result = format_cell(src, fast=True, mode=JUPYTER_MODE)
result = format_cell(src, fast=True, mode=JUPYTER_MODE)
- expected = "%%t -n1\nls = !ls"
+ expected = "%%timeit -n1\nls = !ls"
assert result == expected
assert result == expected
def test_cache_isnt_written_if_no_jupyter_deps_single(
def test_cache_isnt_written_if_no_jupyter_deps_single(
- monkeypatch: MonkeyPatch, tmpdir: local
+ monkeypatch: MonkeyPatch, tmp_path: pathlib.Path
) -> None:
# Check that the cache isn't written to if Jupyter dependencies aren't installed.
jupyter_dependencies_are_installed.cache_clear()
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
) -> None:
# Check that the cache isn't written to if Jupyter dependencies aren't installed.
jupyter_dependencies_are_installed.cache_clear()
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
- tmp_nb = tmpdir / "notebook.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
)
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
)
- result = runner.invoke(main, [str(tmpdir / "notebook.ipynb")])
+ result = runner.invoke(main, [str(tmp_path / "notebook.ipynb")])
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
)
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
)
- result = runner.invoke(main, [str(tmpdir / "notebook.ipynb")])
+ result = runner.invoke(main, [str(tmp_path / "notebook.ipynb")])
assert "reformatted" in result.output
def test_cache_isnt_written_if_no_jupyter_deps_dir(
assert "reformatted" in result.output
def test_cache_isnt_written_if_no_jupyter_deps_dir(
- monkeypatch: MonkeyPatch, tmpdir: local
+ monkeypatch: MonkeyPatch, tmp_path: pathlib.Path
) -> None:
# Check that the cache isn't written to if Jupyter dependencies aren't installed.
jupyter_dependencies_are_installed.cache_clear()
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
) -> None:
# Check that the cache isn't written to if Jupyter dependencies aren't installed.
jupyter_dependencies_are_installed.cache_clear()
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
- tmp_nb = tmpdir / "notebook.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.files.jupyter_dependencies_are_installed", lambda verbose, quiet: False
)
with open(nb) as src, open(tmp_nb, "w") as dst:
dst.write(src.read())
monkeypatch.setattr(
"black.files.jupyter_dependencies_are_installed", lambda verbose, quiet: False
)
- result = runner.invoke(main, [str(tmpdir )])
+ result = runner.invoke(main, [str(tmp_path )])
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
)
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
)
- result = runner.invoke(main, [str(tmpdir )])
+ result = runner.invoke(main, [str(tmp_path )])
assert "reformatted" in result.output
assert "reformatted" in result.output
-def test_ipynb_flag(tmpdir: local ) -> None:
+def test_ipynb_flag(tmp_path: pathlib.Path ) -> None:
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
nb = DATA_DIR / "notebook_trailing_newline.ipynb"
- tmp_nb = tmpdir / "notebook.a_file_extension_which_is_definitely_not_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())
result = runner.invoke(
with open(nb) as src, open(tmp_nb, "w") as dst:
dst.write(src.read())
result = runner.invoke(