Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion markdownify/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ def main(argv=sys.argv[1:]):
parser.add_argument('-a', '--autolinks', action='store_true',
help="A boolean indicating whether the 'automatic link' style "
"should be used when a 'a' tag's contents match its href.")
parser.add_argument('--default-title', action='store_false',
parser.add_argument('--default-title', action='store_true',
help="A boolean to enable setting the title of a link to its "
"href, if no title is given.")
parser.add_argument('--heading-style', default=UNDERLINED,
Expand Down
42 changes: 42 additions & 0 deletions tests/test_main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
from io import StringIO
import sys

from markdownify.main import main


def test_cli_stdin_default_and_flag(monkeypatch, capfd):
html = '<a href="https://example.com">Example</a>'

monkeypatch.setattr(sys, 'stdin', StringIO(html))
main([])
assert capfd.readouterr().out == '[Example](https://example.com)\n'

monkeypatch.setattr(sys, 'stdin', StringIO(html))
main(['--default-title'])
assert capfd.readouterr().out == '[Example](https://example.com "https://example.com")\n'


def test_cli_named_file_and_explicit_title(tmp_path, monkeypatch, capfd):
source = tmp_path / 'input.html'
source.write_text(
'<a href="https://example.com" title="Custom">Example</a>',
encoding='utf-8',
)

main([str(source)])
assert capfd.readouterr().out == '[Example](https://example.com "Custom")\n'

main(['--default-title', str(source)])
assert capfd.readouterr().out == '[Example](https://example.com "Custom")\n'


def test_cli_autolinks_option_is_unchanged(monkeypatch, capfd):
html = '<a href="https://example.com">https://example.com</a>'

monkeypatch.setattr(sys, 'stdin', StringIO(html))
main(['-a'])
assert capfd.readouterr().out == '<https://example.com>\n'

monkeypatch.setattr(sys, 'stdin', StringIO(html))
main(['-a', '--default-title'])
assert capfd.readouterr().out == '[https://example.com](https://example.com "https://example.com")\n'