Compare commits

..

7 Commits

Author SHA1 Message Date
11ebe014fb docs: update changelog 2021-06-24 21:44:57 +01:00
2d13c6e219 Merge pull request #330 from pestphp/higher-order-expectation-and
Allows `and` in Higher Order Expectations.
2021-06-24 21:42:22 +01:00
fbcb492c79 Simplification 2021-06-24 21:40:24 +01:00
3c2c767e09 Updates snapshot 2021-06-24 21:35:16 +01:00
ff527baa1d Allows and in Higher Order Expectations. 2021-06-24 21:31:12 +01:00
621718d4b1 Merge pull request #329 from bigint/master
Update phpunit/phpunit to 9.5.6
2021-06-23 10:28:49 +01:00
59adc57344 Update phpunit/phpunit to 9.5.6 2021-06-23 14:55:09 +05:30
6 changed files with 33 additions and 3 deletions

View File

@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).
## [v1.7.1 (2021-06-24)](https://github.com/pestphp/pest/compare/v1.7.0...v1.7.1)
### Fixed
- The `and` method not being usable in Higher Order expectations ([#330](https://github.com/pestphp/pest/pull/330))
## [v1.7.0 (2021-06-19)](https://github.com/pestphp/pest/compare/v1.6.0...v1.7.0)
### Added
- Support for non-callable values in the sequence method, which will be passed as `toEqual` ([#323](https://github.com/pestphp/pest/pull/323))

View File

@ -20,7 +20,7 @@
"php": "^7.3 || ^8.0",
"nunomaduro/collision": "^5.4.0",
"pestphp/pest-plugin": "^1.0.0",
"phpunit/phpunit": ">= 9.3.7 <= 9.5.5"
"phpunit/phpunit": ">= 9.3.7 <= 9.5.6"
},
"autoload": {
"psr-4": {

View File

@ -63,6 +63,20 @@ final class HigherOrderExpectation
return $this;
}
/**
* Creates a new expectation.
*
* @template TValue
*
* @param TValue $value
*
* @return Expectation<TValue>
*/
public function and($value): Expectation
{
return $this->expect($value);
}
/**
* Dynamically calls methods on the class with the given arguments.
*

View File

@ -6,7 +6,7 @@ namespace Pest;
function version(): string
{
return '1.7.0';
return '1.7.1';
}
function testDirectory(string $file = ''): string

View File

@ -116,6 +116,7 @@
PASS Tests\Features\Expect\HigherOrder\methodsAndProperties
✓ it can access methods and properties
✓ it can handle nested methods and properties
✓ it can start a new higher order expectation using the and syntax
PASS Tests\Features\Expect\HigherOrder\properties
✓ it allows properties to be accessed from the value
@ -578,5 +579,5 @@
✓ it is a test
✓ it uses correct parent class
Tests: 4 incompleted, 7 skipped, 362 passed
Tests: 4 incompleted, 7 skipped, 363 passed

View File

@ -22,6 +22,17 @@ it('can handle nested methods and properties', function () {
->newInstance()->books()->toBeArray();
});
it('can start a new higher order expectation using the and syntax', function () {
expect(new HasMethodsAndProperties())
->toBeInstanceOf(HasMethodsAndProperties::class)
->meta->toBeArray
->and(['foo' => 'bar'])
->toBeArray()
->foo->toEqual('bar');
expect(static::getCount())->toEqual(4);
});
class HasMethodsAndProperties
{
public $name = 'Has Methods and Properties';