""" Unit tests for pure utility functions — no database or network required. """ import pytest from scribe.routes.export import _safe_filename class TestSafeFilename: def test_normal_title(self): assert _safe_filename("My Note") == "My_Note" def test_strips_special_chars(self): result = _safe_filename("Hello: World! (2024)") assert ":" not in result assert "!" not in result assert "(" not in result def test_empty_title(self): assert _safe_filename("") == "untitled" def test_none_title(self): assert _safe_filename(None) == "untitled" def test_truncates_long_title(self): long = "a" * 100 assert len(_safe_filename(long)) <= 80 def test_preserves_hyphens(self): assert "-" in _safe_filename("my-note-title") def test_collapses_whitespace(self): result = _safe_filename("hello world") assert " " not in result