Adds nested Higher Order Expectations.

This commit is contained in:
luke
2021-06-16 20:48:23 +01:00
parent 729638a3bb
commit 7ff64540a6
8 changed files with 128 additions and 53 deletions

View File

@ -14,10 +14,20 @@ it('can access methods and properties', function () {
);
});
it('can handle nested methods and properties', function () {
expect(new HasMethodsAndProperties())
->meta->foo->bar->toBeString()->toEqual('baz')->not->toBeInt
->newInstance()->meta->foo->toBeArray()
->newInstance()->multiply(2, 2)->toEqual(4)->not->toEqual(5)
->newInstance()->books()->toBeArray();
});
class HasMethodsAndProperties
{
public $name = 'Has Methods and Properties';
public $meta = ['foo' => ['bar' => 'baz']];
public $posts = [
[
'is_published' => true,
@ -47,4 +57,9 @@ class HasMethodsAndProperties
{
return $x * $y;
}
public function newInstance()
{
return new static();
}
}