PHPでexpectationライブラリ作っているのですが、思いっきり間違った実装をしていることに、rspecのリファレンスを見ていて、気がつきました。
matcherのtoBeTruthy/toBeFalseyが、rspecのmatcherでは、
なんですね。 自分はずっと、be_true / be_falseのエイリアスだと思っていた...。
リファレンスをみるとちゃんと書いてある。
expect(actual).to be_truthy # passes if actual is truthy (not nil or false)
expect(actual).to be_falsey # passes if actual is falsy (nil or false)
というわけで、バージョン1.4.3で修正しました。
古いバージョンでは、toBeTruthy/toBeFalseyが、toBeTrue/toBeFalseと等価の振る舞いになっています。