File size: 1,315 Bytes
38891f8 e5e9d87 38891f8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import pathlib, ast
ROOT=pathlib.Path(__file__).resolve().parents[1]
def test_version_381():
assert (ROOT/"VERSION").read_text(encoding="utf-8").strip()=="4.3.0"
def test_recent_conversation_switches_to_chat():
js=(ROOT/"static"/"js"/"app.js").read_text(encoding="utf-8")
start=js.index("function openSession(id)")
block=js[start:start+300]
assert 'if(CURRENT_VIEW!=="chat")setView("chat")' in block
def _load_export_detector():
text=(ROOT/"ui_server.py").read_text(encoding="utf-8")
tree=ast.parse(text)
node=next(n for n in tree.body if isinstance(n,ast.FunctionDef) and n.name=="_is_ocean_export_request")
mod=ast.Module(body=[node],type_ignores=[])
ns={"re":__import__("re"), "_needs_ocean_mcp":lambda q: True}
exec(compile(mod,"<test>","exec"),ns)
return ns["_is_ocean_export_request"]
def test_export_format_question_is_not_execution():
fn=_load_export_detector()
assert fn("查询现在支持哪些 Ocean 数据源和变量,并说明时间范围、空间分辨率和可导出格式") is False
assert fn("现在支持哪些导出格式?") is False
def test_explicit_export_still_executes():
fn=_load_export_detector()
assert fn("请帮我导出这份 Ocean 数据为 CSV") is True
assert fn("下载上述数据文件") is True
|