From e48d59474230869ba81c1712128c01fd822946f5 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Mon, 21 Sep 2026 21:48:15 -0700 Subject: Switch over to the ELK renderer --- graph/test_browser.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'graph/test_browser.py') diff --git a/graph/test_browser.py b/graph/test_browser.py index add7f027..dbbfdd59 100644 --- a/graph/test_browser.py +++ b/graph/test_browser.py @@ -53,8 +53,6 @@ def check(chapter, browser_name): page.wait_for_function("current === 1 && !rendering") page.locator("#doPrev").click() page.wait_for_function("current === 0 && !rendering") - # Keep the real renderer, but shorten animation for the remaining steps. - page.evaluate('renderer.transition(() => d3.transition("test").duration(0))') for source in ("return 1 + 2;", "int x=0; while(x nodes.filter(node => { - const id = node.querySelector('title').textContent; - const texts = [...node.querySelectorAll('text')]; - return /^n[0-9]+$/.test(id) && texts.length === 1 && - texts[0].textContent === id; - }).length - """), "Graph contains an undeclared endpoint" + assert page.locator("#elk g.node").count() == page.evaluate("frames[current].snap.nodes.length") + # Revisit cached geometry and keep the selected node across steps. + page.evaluate("""() => { + window.lastLayout = frames[current].layout; + window.pickId = frames[current].snap.roots[0]; + renderer.select(pickId); + layout.run = () => { throw new Error('Cached frame was laid out again'); }; + }""") + page.locator("#doPrev").click() + page.wait_for_function("index => current === index && !rendering", arg=total - 2) + page.locator("#doNext").click() + page.wait_for_function("index => current === index && !rendering", arg=total - 1) + assert page.evaluate("frames[current].layout === lastLayout && renderer.pick === pickId") + page.evaluate("delete layout.run") + assert page.locator("#detail").is_visible() + page.keyboard.press("Escape") print(chapter, browser_name, total, "frames rendered:", source, flush=True) assert not errors, errors page.screenshot(path=str(artifacts / "viewer.png")) -- cgit v1.2.3