Assert the islands that use a client directive have (or have not) hydrated. A hydrated island has lost its ssr attribute. client:load hydrates at once, client:idle when the browser is idle, client:visible when the island scrolls into view, so the negative form proves the island waits.
Examples
Then the "client:load" island should be hydrated
And the "client:idle" island should be hydrated
But the "client:visible" island should not be hydrated
Then the "client:only" island should be hydrated
And the "client:visible" island should be hydrated
Pattern
Then(/^the "client:([a-z]+)" island should( not)* be hydrated$/, …)
Part of @webship-js/astro-steps (github.com/webship/astro-steps), a step pack for Webship-js 2.0.x.