Squash Odysseus development history

This commit is contained in:
pewdiepie-archdaemon
2026-09-11 06:04:19 +00:00
parent e5c99a5eee
commit 6ee6502010
2050 changed files with 538359 additions and 57745 deletions
@@ -0,0 +1,53 @@
"""Regression for #1809: document library counters must update after delete.
documentLibrary.js is a browser module with several DOM-only imports, so this
guards the relevant wiring at the source level. A single-card delete used to
remove the card and decrement `_libraryTotal`, but the header/chips render from
`_libraryLanguages`, which stayed stale until a full library refetch.
"""
from pathlib import Path
SRC = Path(__file__).resolve().parent.parent / "static/js/documentLibrary.js"
def _src() -> str:
return SRC.read_text(encoding="utf-8")
def _between(text: str, start: str, end: str) -> str:
begin = text.index(start)
finish = text.index(end, begin)
return text[begin:finish]
def test_single_delete_updates_language_counters_and_chips():
text = _src()
helper = _between(
text,
"function libraryRemoveDocumentFromState(docId)",
"function libraryRenderGrid()",
)
assert "_libraryLanguages[lang]" in helper
assert "delete _libraryLanguages[lang]" in helper
assert "libraryRenderStats();" in helper
assert "libraryRenderLangChips();" in helper
delete_body = _between(
text,
"async function libraryDeleteSingle(docId, card)",
"async function libraryBulkDelete()",
)
assert "libraryRemoveDocumentFromState(docId);" in delete_body
def test_library_sort_options_have_distinct_icons():
text = _src()
assert "const _LIBRARY_SORT_ICONS = {" in text
for value in ("recent", "oldest", "most-messages", "most-sources", "edits", "alpha"):
assert f"{value}:" in text or f"'{value}':" in text
assert "_librarySortIcon(option.value)" in text
assert "_librarySortIcon(selected?.value)" in text