fix: _derive_title crashes on non-string content instead of returning Untitled (#1751)
This commit is contained in:
parent
2625e97f11
commit
a714915afe
2 changed files with 15 additions and 0 deletions
|
|
@ -203,6 +203,8 @@ def _assert_pdf_marker_upload_owned(
|
|||
def _derive_title(content: str) -> str:
|
||||
"""Derive a title from document content."""
|
||||
import re
|
||||
if not isinstance(content, str):
|
||||
return "Untitled"
|
||||
text = content.strip()
|
||||
if not text:
|
||||
return "Untitled"
|
||||
|
|
|
|||
13
tests/test_derive_title_nonstring.py
Normal file
13
tests/test_derive_title_nonstring.py
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
from routes.document_helpers import _derive_title
|
||||
|
||||
|
||||
def test_derive_title_handles_non_string_content():
|
||||
# content normally comes from a document text column, but the helper is
|
||||
# public and a non-string (None / int) made content.strip() raise
|
||||
# AttributeError instead of falling back to a default title.
|
||||
assert _derive_title(None) == "Untitled"
|
||||
assert _derive_title(123) == "Untitled"
|
||||
|
||||
|
||||
def test_derive_title_still_reads_markdown_heading():
|
||||
assert _derive_title("# Heading Title\nbody text") == "Heading Title"
|
||||
Loading…
Add table
Reference in a new issue