summaryrefslogtreecommitdiffstats
path: root/tests/test_cli.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_cli.py')
-rw-r--r--tests/test_cli.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/test_cli.py b/tests/test_cli.py
new file mode 100644
index 0000000..57d6b93
--- /dev/null
+++ b/tests/test_cli.py
@@ -0,0 +1,36 @@
+import pathlib
+import tempfile
+from unittest.mock import patch
+
+import pytest
+
+from markdown_it.cli import parse
+
+
+def test_parse():
+ with tempfile.TemporaryDirectory() as tempdir:
+ path = pathlib.Path(tempdir).joinpath("test.md")
+ path.write_text("a b c")
+ assert parse.main([str(path)]) == 0
+
+
+def test_parse_fail():
+ with pytest.raises(SystemExit) as exc_info:
+ parse.main(["/tmp/nonexistant_path/for_cli_test.md"])
+ assert exc_info.value.code == 1
+
+
+def test_print_heading():
+ with patch("builtins.print") as patched:
+ parse.print_heading()
+ patched.assert_called()
+
+
+def test_interactive():
+ def mock_input(prompt):
+ raise KeyboardInterrupt
+
+ with patch("builtins.print") as patched:
+ with patch("builtins.input", mock_input):
+ parse.interactive()
+ patched.assert_called()