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()