Higher Order Tests now resolve callable expectations. The tap method now always returns the test case.

This commit is contained in:
luke
2021-07-06 14:05:40 +01:00
parent c290909eb3
commit 7e9edecc7f
5 changed files with 48 additions and 13 deletions

View File

@ -410,8 +410,8 @@
PASS Tests\Features\HigherOrderTests
✓ it proxies calls to object
✓ it is capable doing multiple assertions
✓ it resolves expect callables correctly
✓ it can tap into the test
✓ it can use the returned instance from a tap
WARN Tests\Features\Incompleted
… incompleted

View File

@ -10,14 +10,18 @@ it('is capable doing multiple assertions')
->assertTrue(true)
->assertFalse(false);
it('resolves expect callables correctly')
->expect(function () { return 'foo'; })
->toBeString()
->toBe('foo')
->and('bar')
->toBeString()
->toBe('bar');
it('can tap into the test')
->expect('foo')->toBeString()->toBe('foo')
->expect('foo')->toBeString()
->tap(function () { expect($this)->toBeInstanceOf(TestCase::class); })
->toBe('foo')
->and('hello world')->toBeString();
it('can use the returned instance from a tap')
->expect('foo')->toBeString()->toBe('foo')
->tap(function () { return expect($this); })
->toBeInstanceOf(TestCase::class);
afterEach()->assertTrue(true);