• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bleedingdeacons / link / 34692537628
92%

Build:
DEFAULT BRANCH: main
Ran 12 Sep 2026 12:02PM UTC
Jobs 1
Files 20
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

12 Sep 2026 12:01PM UTC coverage: 95.355%. Remained the same
34692537628

push

github

web-flow
test: reverse-engineer an executable specification (#39)

Link.Specs, built on Hand's arrangement: Reqnroll over xUnit v3 with
Shouldly, referencing Link.Core for the same reason Link.Tests does.
Nine feature files, 105 scenarios, 91 of them automated.

It sits beside Link.Tests rather than replacing it. The xUnit suite is
where the edges live -- a tampered ciphertext, a file that will not
decrypt, a server that answers something which is not JSON -- and it
goes on being what the coverage badge measures. This is where the
behaviour lives, in the sentences the README already uses for it: a
message arrives however it travelled, what was cleared stays cleared,
a handset that cannot read its messages says so.

The suite was checked by breaking things rather than by going green.
Flipping OaepSHA1 to OaepSHA256 in the cipher -- the one line the
README calls out as most likely to be "improved" into a bug -- fails
21 scenarios. Zeroing the cleared-up-to mark in JsonMessageHistory
fails exactly the two scenarios about it and nothing else.

Hand carries TimeProvider.Testing and this deliberately does not.
Nothing in Link expires; the one timestamp written is the read stamp,
and it is asserted as "has one" rather than as a value.

The history is the real JsonMessageHistory over a temporary file, not
a stub. Hand made the same choice for the same reason: the scenarios
that use it are about what a handset remembers, and a stubbed history
would let them pass while the shipping one wrote nothing. What is
stood in for is only the platform underneath -- a temp directory
instead of FileSystem, 32 bytes instead of SecureStorage.

The inbox double honours "message_id > since" because Fellowship's own
query does. A double that handed back its whole page whatever it was
asked would let a scenario prove things no real handset can do. That
exposed something worth recording: JsonMessageHistory.SaveAsync keeps
a local read flag when an unread copy of the same message is saved
... (continued)

1170 of 1227 relevant lines covered (95.35%)

15.7 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34692537628.1 12 Sep 2026 12:02PM UTC 20
95.35
GitHub Action Run
Source Files on build 34692537628
  • Tree
  • List 20
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #34692537628
  • 9797afbc on github
  • Prev Build on main (#34557924102)
  • Next Build on main (#34693956309)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc