mirror of
https://github.com/kuhyx/utils.git
synced 2026-11-12 11:31:00 +01:00
gatelock has never met its own 100% bar; _scrollable.py in particular shipped with no tests at all, which is how a viewport that scrolled itself passed every check for a week. The remaining gaps were the ones a reader would most want proven: * finalize() is documented idempotent -- a repaint calls it again, and an earlier version stacked a <FocusIn> handler per call. * scroll_into_view holds still for a widget already fully on screen. Its margin logic has three outcomes and "hold" is the one a jittering viewport gets wrong. * the type scale reads an existing Tk root rather than opening a second one next to a live lock window. * bind_cancel rejects a non-callable at bind time, not on the keypress that finally needed Escape to work. 328 tests, coverage 99.44% -> 100.00%. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BsXnTHyuuCUZsqetTaajcF |
||
|---|---|---|
| .. | ||
| tests | ||
| __init__.py | ||
| _arbiter.py | ||
| _density.py | ||
| _detect.py | ||
| _escape.py | ||
| _fitcheck.py | ||
| _guards.py | ||
| _keyboard.py | ||
| _outputs.py | ||
| _recovery.py | ||
| _root.py | ||
| _scrollable.py | ||
| _surfaces.py | ||
| _vt.py | ||
| _window.py | ||
| log_integrity.py | ||