[PR #800] [MERGED] renderer: add timer deps #1572

Closed
opened 2026-03-14 09:44:06 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/800
Author: @simonklee
Created: 3/11/2026
Status: Merged
Merged: 3/13/2026
Merged by: @simonklee

Base: mainHead: speedup-tests


📝 Commits (3)

📊 Changes

17 files changed (+354 additions, -215 deletions)

View changed files

📝 packages/core/src/console.test.ts (+13 -6)
📝 packages/core/src/console.ts (+12 -6)
📝 packages/core/src/lib/clock.ts (+10 -0)
📝 packages/core/src/renderables/Code.ts (+6 -1)
📝 packages/core/src/renderables/Diff.regression.test.ts (+11 -8)
📝 packages/core/src/renderables/Diff.test.ts (+37 -50)
📝 packages/core/src/renderables/TabSelect.test.ts (+1 -1)
📝 packages/core/src/renderables/__tests__/Textarea.scroll.test.ts (+22 -35)
📝 packages/core/src/renderables/__tests__/Textarea.stress.test.ts (+3 -3)
📝 packages/core/src/renderables/__tests__/renderable-test-utils.ts (+45 -0)
📝 packages/core/src/renderer.ts (+36 -33)
packages/core/src/tests/renderer.console-startup.test.ts (+65 -0)
📝 packages/core/src/tests/renderer.focus-restore.test.ts (+30 -26)
📝 packages/core/src/tests/renderer.input.test.ts (+3 -3)
📝 packages/core/src/tests/renderer.palette.test.ts (+6 -6)
📝 packages/core/src/tests/scrollbox-culling-bug.test.ts (+9 -3)
📝 packages/core/src/tests/scrollbox.test.ts (+45 -34)

📄 Description

Replace setTimeout/setInterval/Date.now calls with a single injectable Clock throughout CliRenderer, TerminalConsole, and tests.

Mostly about avoiding wall clock time in testing + a small speedup on ts tests:

main:

Ran 3667 tests across 100 files. [50.00s]

branch:

Ran 3669 tests across 101 files. [29.72s]

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/800 **Author:** [@simonklee](https://github.com/simonklee) **Created:** 3/11/2026 **Status:** ✅ Merged **Merged:** 3/13/2026 **Merged by:** [@simonklee](https://github.com/simonklee) **Base:** `main` ← **Head:** `speedup-tests` --- ### 📝 Commits (3) - [`89aa53a`](https://github.com/anomalyco/opentui/commit/89aa53a7ce36283ed9a15c1c9e46703ee47afbec) renderer: add timer deps - [`1f1cf77`](https://github.com/anomalyco/opentui/commit/1f1cf77f5b09e30e7a7b367316af6d1832ce1af1) make it prettier - [`447bca1`](https://github.com/anomalyco/opentui/commit/447bca1ed1dcd986f75e648c63b8b966ea75f930) cleanup ### 📊 Changes **17 files changed** (+354 additions, -215 deletions) <details> <summary>View changed files</summary> 📝 `packages/core/src/console.test.ts` (+13 -6) 📝 `packages/core/src/console.ts` (+12 -6) 📝 `packages/core/src/lib/clock.ts` (+10 -0) 📝 `packages/core/src/renderables/Code.ts` (+6 -1) 📝 `packages/core/src/renderables/Diff.regression.test.ts` (+11 -8) 📝 `packages/core/src/renderables/Diff.test.ts` (+37 -50) 📝 `packages/core/src/renderables/TabSelect.test.ts` (+1 -1) 📝 `packages/core/src/renderables/__tests__/Textarea.scroll.test.ts` (+22 -35) 📝 `packages/core/src/renderables/__tests__/Textarea.stress.test.ts` (+3 -3) 📝 `packages/core/src/renderables/__tests__/renderable-test-utils.ts` (+45 -0) 📝 `packages/core/src/renderer.ts` (+36 -33) ➕ `packages/core/src/tests/renderer.console-startup.test.ts` (+65 -0) 📝 `packages/core/src/tests/renderer.focus-restore.test.ts` (+30 -26) 📝 `packages/core/src/tests/renderer.input.test.ts` (+3 -3) 📝 `packages/core/src/tests/renderer.palette.test.ts` (+6 -6) 📝 `packages/core/src/tests/scrollbox-culling-bug.test.ts` (+9 -3) 📝 `packages/core/src/tests/scrollbox.test.ts` (+45 -34) </details> ### 📄 Description Replace setTimeout/setInterval/Date.now calls with a single injectable Clock throughout CliRenderer, TerminalConsole, and tests. Mostly about avoiding wall clock time in testing + a small speedup on ts tests: main: ``` Ran 3667 tests across 100 files. [50.00s] ``` branch: ``` Ran 3669 tests across 101 files. [29.72s] ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-14 09:44:06 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#1572
No description provided.