test(worldclock): make the seconds tests mean what they say
The no-re-emission check now waits for the write to be readable before asserting, and the seconds switch has its own settings test instead of riding in the clock-defaults one. WorldClockSource.state takes its refresh signal without a default, and ARCHITECTURE.md's slice count and alignedTicks guarantee match the code.
This commit is contained in:
1 parent
78da94d775
commit
d70d0c78da
4 files changed
+25
-8
No files matched your search
@@ -592,7 +592,7 @@ one anywhere under `domain/` or `ui/`.
|
||||
## 6. Preferences
|
||||
|
||||
One DataStore file, `clockula_prefs`, behind floret-kit's typed `PrefStore`.
|
||||
Four slices:
|
||||
Six slices:
|
||||
|
||||
| Slice | Keys | Owner |
|
||||
|---|---|---|
|
||||
@@ -1429,9 +1429,11 @@ nothing but `delay`, which makes it testable under `runTest`'s virtual clock.
|
||||
`alignedTicks(unit)` is the same seam for a readout of whole wall-clock units:
|
||||
after the immediate emission it waits `WallBoundaries.untilNext(now, unit)`,
|
||||
re-measured against `WallClock` after every wake, so it fires on the second or
|
||||
minute boundary itself and a long `delay` or a set clock does not accumulate.
|
||||
The world clock is its one caller (§16, "The cadence"), and it merges in
|
||||
`ClockChanges`, the system's own word that the clock or zone moved, so a long
|
||||
minute boundary itself and a `delay` that ran long does not accumulate. A
|
||||
clock set mid-wait is only caught up once that wait ends, so a caller on a
|
||||
long cadence restarts the flow on `ClockChanges`, the system's own word that
|
||||
the clock or zone moved. The world clock is its one caller (§16, "The
|
||||
cadence"), and does exactly that, so a long
|
||||
cadence never means a long wait for those.
|
||||
|
||||
### The dismiss challenge, and why it cannot strand anyone
|
||||
|
||||
Reference in new issue
Block a user