771ddaea4e
The proxy in buildExpectation() returned FluentRelation raw (not proxied), so .and/.or chaining happened outside the assertion store. The second relation was never stored — checkAll() only evaluated the first relation (false positive). Add ensureAndOrProxied() to override .and/.or on FluentRelation instances so compound builders flow through the assertion store proxy. Preserves instanceof FluentRelation checks (no JS Proxy on the instance, just property overrides). 3 regression tests cover .and, .or, and triple-chaining.
imhotep-playwright
Playwright integration layer for Imhotep. Provides page wrapping, CDP-backed geometry extraction, runtime pooling, property-based test runners, renderer adapters, and preset assertion contracts.
Key Exports
| Export | Description |
|---|---|
imhotep(page, opts) |
Attach Imhotep to a Playwright page |
imhotepComponent(id, opts) |
Property-run entry for rendered components |
imhotepStory(url, opts) |
Property-run entry for Storybook stories |
imhotepFixture(path, opts) |
Property-run entry for fixture files |
test, expect, imhotepFixtures |
Playwright test fixtures |
ContextPool, PagePool, Semaphore |
Pooled runtime for multi-worker testing |
touchTarget through modalContainment |
Reusable assertion presets |