fix: _derive_title crashes on non-string content instead of returning Untitled (#1751)
This commit is contained in:
@@ -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"
|
||||
Reference in New Issue
Block a user