mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-10-06 06:52:20 +02:00
73 lines
3.2 KiB
Python
73 lines
3.2 KiB
Python
"""Regression coverage for full-height Deep Research history expansion."""
|
|
|
|
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parent.parent
|
|
|
|
|
|
def test_history_list_participates_in_shared_library_expansion_layout():
|
|
panel = (ROOT / "static/js/research/panel.js").read_text(encoding="utf-8")
|
|
css = (ROOT / "static/style.css").read_text(encoding="utf-8")
|
|
|
|
assert 'id="research-past-list" class="doclib-grid memory-list research-jobs-list"' in panel
|
|
assert "width:min(560px, 90vw);max-height:78vh" in panel
|
|
assert 'class="memory-tab-panel research-tab-panel"' in panel
|
|
assert 'class="admin-card research-new-job"' in panel
|
|
assert 'id="research-history-filters" class="skills-summary-strip"' in panel
|
|
assert 'class="research-history-search-wrap"' in panel
|
|
assert '${_researchIcon}<span>Research</span>' in panel
|
|
assert '${_magnifyIcon}' in panel
|
|
assert "pane.classList.toggle('research-results-view', tab !== 'research')" in panel
|
|
assert "display: flex; flex-direction: column; gap: 10px;" in css
|
|
assert ".research-tabs {\n flex: 0 0 auto;\n margin: -4px -4px 0;" in css
|
|
assert "font-size:11px; letter-spacing:0;" in css
|
|
assert "font: inherit; font-size: 12px; cursor: pointer; text-align: left;" in css
|
|
assert "#research-pane .research-history-search-wrap .memory-search-input" in css
|
|
assert "height: 30px;" in css
|
|
assert "background: color-mix(in srgb, var(--fg) 3%, transparent);" in css
|
|
|
|
|
|
def test_expanded_history_report_owns_and_scrolls_the_available_height():
|
|
css = (ROOT / "static/style.css").read_text(encoding="utf-8")
|
|
|
|
expanded = (
|
|
"#research-pane #research-past-list "
|
|
".research-job-card.doclib-card-expanded"
|
|
)
|
|
result = f"{expanded} .research-job-result"
|
|
|
|
assert expanded in css
|
|
assert "display: flex !important" in css[css.index(expanded):css.index(expanded) + 320]
|
|
assert result in css
|
|
result_rules = css[css.index(result):css.index(result) + 400]
|
|
assert "flex: 1 1 auto !important" in result_rules
|
|
assert "min-height: 0 !important" in result_rules
|
|
assert "overflow-y: auto !important" in result_rules
|
|
assert ".research-history-card:has(.doclib-card-expanded) #research-past-list" in css
|
|
assert (
|
|
"#research-pane #research-past-list:has(.doclib-card-expanded) > "
|
|
".research-job-card:not(.doclib-card-expanded)"
|
|
) in css
|
|
|
|
|
|
def test_history_tab_replays_shared_domino_entrance():
|
|
panel = (ROOT / "static/js/research/panel.js").read_text(encoding="utf-8")
|
|
|
|
assert "function _playHistoryCascade()" in panel
|
|
assert "list.classList.add('doclib-just-opened')" in panel
|
|
assert "const enteringHistory = tab === 'history'" in panel
|
|
assert "if (enteringHistory) _playHistoryCascade();" in panel
|
|
|
|
|
|
def test_research_panel_uses_one_versioned_module_instance():
|
|
app = (ROOT / "static/app.js").read_text(encoding="utf-8")
|
|
renderer = (ROOT / "static/js/chatRenderer.js").read_text(encoding="utf-8")
|
|
index = (ROOT / "static/index.html").read_text(encoding="utf-8")
|
|
|
|
version = "20260902researchhistoryalign34"
|
|
assert f"research/panel.js?v={version}" in app
|
|
assert renderer.count(f"research/panel.js?v={version}") == 2
|
|
assert f"style.css?v={version}" in index
|
|
assert f"app.js?v={version}" in index
|