mirror of
https://github.com/wassname/moral-maps.git
synced 2026-09-24 13:41:05 +08:00
Add dated release scatter panels to React WVS map
Co-Authored-By: PI[gpt-5.6-terra] <288921227+claudypoo@users.noreply.github.com>
This commit is contained in:
co-authored by
PI[gpt-5.6-terra]
parent
0be556bcef
commit
f93a6092cf
+35
-10
@@ -46,10 +46,13 @@ def main() -> None:
|
||||
page.wait_for_selector("svg .model-mark")
|
||||
assert page.locator("path.zone").count() == 4
|
||||
assert page.locator("polygon.zone").count() == 0
|
||||
assert "64 models" not in page.locator("main").inner_text()
|
||||
assert "Historical coordinates" not in page.locator("main").inner_text()
|
||||
assert page.locator(".map-note").get_attribute("text-anchor") == "end"
|
||||
assert float(page.locator(".map-note").get_attribute("x")) > float(page.locator(".map-title").get_attribute("x"))
|
||||
assert float(page.locator("svg").get_attribute("data-median-x")) == data["median"]["x"]
|
||||
assert float(page.locator("svg").get_attribute("data-median-y")) == data["median"]["y"]
|
||||
map_svg = page.get_by_role("img", name="Frontier LLMs on the World Values Survey")
|
||||
assert float(map_svg.get_attribute("data-median-x")) == data["median"]["x"]
|
||||
assert float(map_svg.get_attribute("data-median-y")) == data["median"]["y"]
|
||||
rendered_models = page.locator(".model-mark").evaluate_all(
|
||||
"nodes => nodes.map(node => [node.dataset.model, Number(node.dataset.x), Number(node.dataset.y)])"
|
||||
)
|
||||
@@ -61,22 +64,32 @@ def main() -> None:
|
||||
country_before = page.locator("circle.country").evaluate_all(
|
||||
"nodes => nodes.map(node => [node.getAttribute('cx'), node.getAttribute('cy')])"
|
||||
)
|
||||
qwen_group = page.locator('svg > g[data-family="qwen"]')
|
||||
dated = [model for model in data["models"] if model["provenance"]["release_created"]]
|
||||
qwen_group = map_svg.locator(':scope > g[data-family="qwen"]')
|
||||
assert qwen_group.get_attribute("display") in (None, "inline")
|
||||
assert page.locator('svg [data-family="qwen"] .model-label').count() == 1
|
||||
assert map_svg.locator('[data-family="qwen"] .model-label').count() == 1
|
||||
assert page.locator(".release-panel").count() == 2
|
||||
assert page.locator(".release-mark").count() == len(dated) * 2
|
||||
for panel in page.locator(".release-panel").all():
|
||||
dates = panel.locator(".release-mark").evaluate_all("nodes => nodes.map(node => node.dataset.releaseDate)")
|
||||
assert dates == sorted(dates)
|
||||
assert page.locator(".release-trajectory").count() == 0
|
||||
page.screenshot(path=OUT / "wvs_react_playwright_release_panels.png", full_page=True)
|
||||
|
||||
page.get_by_role("button", name="qwen: qwen3.8-flash").click()
|
||||
page.get_by_role("button", name="qwen", exact=True).click()
|
||||
page.wait_for_timeout(100)
|
||||
assert qwen_group.get_attribute("display") == "none"
|
||||
assert page.locator('svg [data-family="qwen"] .model-label').count() == 1
|
||||
assert page.locator('svg [data-family="muse"] .model-label').count() == 1
|
||||
assert map_svg.locator('[data-family="qwen"] .model-label').count() == 1
|
||||
assert map_svg.locator('[data-family="muse"] .model-label').count() == 1
|
||||
assert all(group.get_attribute("display") == "none" for group in page.locator('.release-panel [data-family="qwen"]').all())
|
||||
assert all(group.get_attribute("display") != "none" for group in page.locator('.release-panel [data-family="muse"]').all())
|
||||
country_after = page.locator("circle.country").evaluate_all(
|
||||
"nodes => nodes.map(node => [node.getAttribute('cx'), node.getAttribute('cy')])"
|
||||
)
|
||||
assert country_after == country_before
|
||||
page.screenshot(path=OUT / "wvs_react_playwright_qwen_hidden.png", full_page=True)
|
||||
|
||||
page.get_by_role("button", name="qwen: qwen3.8-flash").click()
|
||||
page.get_by_role("button", name="qwen", exact=True).click()
|
||||
marker = page.locator('[data-model="qwen3.8-flash"]')
|
||||
marker.locator(".model-ring").hover()
|
||||
page.wait_for_selector("#model-tooltip")
|
||||
@@ -89,6 +102,16 @@ def main() -> None:
|
||||
assert page.evaluate("document.activeElement.dataset.model") == "qwen3.8-flash"
|
||||
assert page.locator("#model-tooltip").is_visible()
|
||||
page.screenshot(path=OUT / "wvs_react_playwright_keyboard_focus.png", full_page=True)
|
||||
|
||||
release_marker = page.locator('.release-panel[data-coordinate="y"] [data-release-model="qwen3.8-flash"]')
|
||||
release_marker.locator(".model-ring").hover()
|
||||
page.wait_for_selector("#release-tooltip")
|
||||
assert "qwen3.8-flash" in page.locator("#release-tooltip").inner_text()
|
||||
page.screenshot(path=OUT / "wvs_react_playwright_release_panel_hover.png", full_page=True)
|
||||
release_marker.focus()
|
||||
assert page.evaluate("document.activeElement.dataset.releaseModel") == "qwen3.8-flash"
|
||||
assert page.locator("#release-tooltip").is_visible()
|
||||
page.screenshot(path=OUT / "wvs_react_playwright_release_panel_keyboard_focus.png", full_page=True)
|
||||
browser.close()
|
||||
|
||||
if errors:
|
||||
@@ -110,8 +133,10 @@ def main() -> None:
|
||||
print(json.dumps({
|
||||
"shared": {"models": 64, "countries": 90, "buffered_hulls": 4, "latest_labels": 13,
|
||||
"numeric_model_country_median_equality": "verified against DOM data attributes"},
|
||||
"qwen_toggle": "clicked, family group hidden, country coordinates invariant",
|
||||
"tooltip": "pointer hover and focus show model, family, coordinates, readout, samples and release metadata",
|
||||
"qwen_toggle": "clicked, map and dated-panel family groups hidden, country coordinates invariant",
|
||||
"tooltip": "map and release-panel pointer hover and focus show model, family, coordinates, readout, samples and release metadata",
|
||||
"release_panels": {"panels": 2, "dated_models": len(dated), "date_order": "DOM order verified", "no_paths": True},
|
||||
"copy": "source caption only; no model-count wording or archaeological paragraph",
|
||||
"visual_contract": "four smooth SVG paths, no zone polygons, source note right of title",
|
||||
"hashes": hashes,
|
||||
}, indent=2))
|
||||
|
||||
Reference in New Issue
Block a user