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
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ def __init__(
DocumentIntelligenceFileType.DOCX,
DocumentIntelligenceFileType.PPTX,
DocumentIntelligenceFileType.XLSX,
DocumentIntelligenceFileType.HTML,
DocumentIntelligenceFileType.PDF,
DocumentIntelligenceFileType.JPEG,
DocumentIntelligenceFileType.PNG,
Expand Down
22 changes: 22 additions & 0 deletions packages/markitdown/tests/test_docintel_html.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import inspect
import io
from markitdown.converters._doc_intel_converter import (
DocumentIntelligenceConverter,
Expand All @@ -6,6 +7,11 @@
from markitdown._stream_info import StreamInfo


def _default_file_types():
params = inspect.signature(DocumentIntelligenceConverter.__init__).parameters
return params["file_types"].default


def _make_converter(file_types):
conv = DocumentIntelligenceConverter.__new__(DocumentIntelligenceConverter)
conv._file_types = file_types
Expand All @@ -24,3 +30,19 @@ def test_docintel_accepts_html_mimetype():
assert conv.accepts(io.BytesIO(b""), stream_info)
stream_info = StreamInfo(mimetype="application/xhtml+xml", extension=None)
assert conv.accepts(io.BytesIO(b""), stream_info)


def test_docintel_default_file_types_cover_every_supported_type():
# The file_types docstring promises "Defaults to all supported file types",
# so the default must stay in sync with the enum.
assert set(_default_file_types()) == set(DocumentIntelligenceFileType)


def test_docintel_default_accepts_html():
conv = _make_converter(_default_file_types())
for stream_info in (
StreamInfo(mimetype=None, extension=".html"),
StreamInfo(mimetype="text/html", extension=None),
StreamInfo(mimetype="application/xhtml+xml", extension=None),
):
assert conv.accepts(io.BytesIO(b""), stream_info)