Behavioral suite · 7 checks

Prove the consumer outcome.

Behavioral checks follow complete Given/When/Then-style journeys through transport, routing, recovery, and peer exchange using only the public message contract.

js-message works with bundlers and without a bundler.

Bundlers resolve the bare js-message import normally. Native browser ESM resolves it through a standard import map, with no build or transpilation step; the native-browser scenario proves the observable no-build round trip.

Boundary journeys

IDObservable scenario
BEHAV-01Given a request crosses two JSON boundaries, its reply keeps the correlation ID.
BEHAV-02Given an object-transport snapshot, later sender mutations do not alter the receiver.
BEHAV-03Given a payload-free signal, the consumer routes and acknowledges it without fabricated data.

Resilience and peer exchange

IDObservable scenario
BEHAV-04Given malformed inbound text, its diagnostic stays readable across a second boundary.
BEHAV-05Given a long-lived receiver, stale payloads and errors do not block later messages.
BEHAV-06Given module and browser-global peers, they exchange a request and reply bidirectionally.
BEHAV-07Given the bare package entry, when Node or a native browser import map loads it, then a no-build round trip succeeds.
Outcomes, not API mechanics.

Functional checks isolate individual construction, loading, and recovery lifecycles. Behavioral scenarios compose those operations into consumer-visible workflows without introducing a second test framework.