The following step:
Then I should see "A unicorn"
will match on an HTML:
<div>
<span style="display: none">A</span> <span style="display: none">unicorn</span>
</div>
because even though none of the spans are visible, the outer div is, and it contains the specified text.
Same issue in Aloe Webdriver: aloetesting/aloe_webdriver#13