test: backfill Ink-parity coverage gaps (suite as a superset of Ink) (#130)
Regression tests for behaviors the audit found correct-but-unpinned, so the suite is a strict superset of Ink: - A07: two <Static> regions both render (the additive divergence) - B04: Static render-prop index = absolute index across appends; container vertical padding adds blank rows to the static frame - B11: lazy raw-mode acquire/release under rawMode:'auto' (the path the 'always' default masks) - B19: child useCursor unmount emits the cursor-hide escape (stream-level) - B20: animation interval 0/negative clamps to 1ms (normalizeInterval unit) and advances without busy-hang - B21/B28: INK_SCREEN_READER env auto-detection + useIsScreenReaderEnabled true-path (env tests isolated in a *.sequential file per the global-state rule) - B29: renderToString serves useCursor/usePaste/useTerminalSize/useAnimation/ useBoxMetrics as inert no-ops (don't throw) - B30: dedicated columnGap/rowGap props + their removal-reset Test-only; no production changes. Codex-reviewed for non-vacuousness, Ink correctness, and process-global isolation. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,7 @@ describe.sequential("normalizeInterval", () => {
|
||||
test("clamps and defaults", () => {
|
||||
expect(normalizeInterval(50)).toBe(50);
|
||||
expect(normalizeInterval(0)).toBe(1);
|
||||
expect(normalizeInterval(-5)).toBe(1);
|
||||
expect(normalizeInterval(-10)).toBe(1);
|
||||
expect(normalizeInterval(undefined)).toBe(100);
|
||||
expect(normalizeInterval(Number.NaN)).toBe(100);
|
||||
|
||||
Reference in New Issue
Block a user