diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-16 19:42:30 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-16 19:42:30 +0200 |
| commit | 0526541133e1d4cc2c4b7f291897734b120e7ebc (patch) | |
| tree | 022d8ef7c6d3b9e2600277c99e9c653cbddea2a8 /test | |
| parent | 9c8947ab8dea5709ea83992c14e663214a571833 (diff) | |
| download | conky-theme-udt-0526541133e1d4cc2c4b7f291897734b120e7ebc.tar.gz conky-theme-udt-0526541133e1d4cc2c4b7f291897734b120e7ebc.zip | |
test: make the layout assertion actually able to fail
The out-of-grid check iterated `G.layout or {}`. With layout unexported
that walks an empty table, so the block passed vacuously and the test
could never detect the very condition it existed to check. Confirmed by
unexporting layout and watching the suite still pass.
Drops the fallback and asserts the export first. Verified by mutation:
unexporting layout now fails with "dashboard.lua must export layout",
and moving the clock to col=5 fails with "layout entry out of columns",
so both paths have teeth.
The plan's Step 3 expected a failure that could not happen; it now says
what the failure looks like and warns that a pass there means the test
is broken rather than the code.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_layout.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/test/test_layout.lua b/test/test_layout.lua index f3f47e3..976f78f 100644 --- a/test/test_layout.lua +++ b/test/test_layout.lua @@ -50,7 +50,12 @@ assert(math.abs(span.w - (a.w * 2 + G.GAP)) < 0.01, 'span must absorb the gap') -- The shipped layout must not place anything outside the declared grid, which -- is the mistake a user editing the table will actually make. -for _, e in ipairs(G.layout or {}) do +-- +-- No `or {}` fallback here: with one, an unexported layout makes ipairs walk an +-- empty table and the whole block passes vacuously, which is exactly the bug +-- this assertion is supposed to catch. +assert(G.layout, 'dashboard.lua must export layout') +for _, e in ipairs(G.layout) do assert(e.col >= 1 and e.col + (e.w or 1) - 1 <= G.COLS, 'layout entry out of columns: ' .. tostring(e.widget)) assert(e.row >= 1 and e.row + (e.h or 1) - 1 <= G.ROWS, |
