Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
29 lines
905 B
Python
29 lines
905 B
Python
"""Non-dict proofread issue entries must not AttributeError on .get."""
|
|
from agents import _report_issues
|
|
|
|
|
|
def test_string_issue_items_dropped():
|
|
report = {
|
|
"issues": [
|
|
"术语不一致:token",
|
|
{"chapter": "Ch1", "type": "术语不一致", "detail": "用了标记"},
|
|
],
|
|
}
|
|
issues = _report_issues(report)
|
|
assert issues == [{"chapter": "Ch1", "type": "术语不一致", "detail": "用了标记"}]
|
|
details = [
|
|
i.get("detail", "") for i in issues if i.get("chapter") == "Ch1"
|
|
]
|
|
assert details == ["用了标记"]
|
|
|
|
|
|
def test_null_and_dict_issues_still_work():
|
|
assert _report_issues({"issues": None}) == []
|
|
assert _report_issues({"issues": [{"chapter": "a", "detail": "x"}]}) == [
|
|
{"chapter": "a", "detail": "x"}
|
|
]
|
|
|
|
|
|
def test_issues_scalar_like_empty():
|
|
assert _report_issues({"issues": "not a list"}) == []
|