Compare commits

...

15 Commits

Author SHA1 Message Date
9842e1051d release: v2.5.3 2023-04-22 23:14:57 +01:00
d39e4f15fe release: v2.5.2 2023-04-19 09:53:08 +01:00
1a05df14d0 chore: bumps dependencies 2023-04-19 09:49:26 +01:00
5c0df87f52 release: v2.5.1 2023-04-18 00:47:56 +01:00
ec6a81735a chore: bumps phpunit dependency 2023-04-18 00:45:41 +01:00
2ea37f3424 Merge pull request #772 from MaurizioMoreo/pcov_fix
Add PCOV availability check
2023-04-16 14:11:05 +01:00
2e4206cb97 tests: adjusts snapshots 2023-04-15 16:17:22 +01:00
72b3cdaab4 Merge pull request #770 from ganyicz/2.x
Update stub extensions
2023-04-15 16:12:16 +01:00
9744b9848e Merge pull request #783 from fabio-ivona/fix-comments-in-test-name
fix comments in dokblocks
2023-04-15 11:26:06 +01:00
e1143d2cfc remove ->only() 2023-04-15 11:52:07 +02:00
5861b0498a fix comments in dokblocks 2023-04-15 10:45:51 +02:00
f6d9aa51bd chore: bump dependencies 2023-04-14 11:50:44 +01:00
518035514e Add PHPDBG availability check 2023-04-09 09:27:52 +02:00
97dbda92e6 Update stub extensions 2023-04-08 01:24:00 +02:00
4520fe918a Add PCOV availability check 2023-04-07 17:19:34 +02:00
24 changed files with 83 additions and 60 deletions

View File

@ -2,6 +2,16 @@
## Unreleased
## [v2.5.2 (2023-04-19)](https://github.com/pestphp/pest/compare/v2.5.1...v2.5.2)
### Chore
- Removes `myclabs/php-enuma` dependency ([1a05df1](https://github.com/pestphp/pest/commit/1a05df14d0ce7d12583df26ff716807db6f81f13))
## [v2.5.1 (2023-04-18)](https://github.com/pestphp/pest/compare/v2.5.0...v2.5.1)
### Chore
- Bumps PHPUnit to `^10.1.1` ([ec6a817](https://github.com/pestphp/pest/commit/ec6a81735af19f5463d24545df97535d77697ec6))
## [v2.5.0 (2023-04-14)](https://github.com/pestphp/pest/compare/v2.4.0...v2.5.0)
### Chore

View File

@ -19,15 +19,15 @@
"require": {
"php": "^8.1.0",
"brianium/paratest": "^7.1.3",
"nunomaduro/collision": "^7.4.0",
"nunomaduro/collision": "^7.5.2",
"nunomaduro/termwind": "^1.15.1",
"pestphp/pest-plugin": "^2.0.1",
"pestphp/pest-plugin-arch": "^2.1.1",
"phpunit/phpunit": "^10.1.0"
"pestphp/pest-plugin-arch": "^2.1.2",
"phpunit/phpunit": "^10.1.2"
},
"conflict": {
"webmozart/assert": "<1.11.0",
"phpunit/phpunit": ">10.1.0"
"phpunit/phpunit": ">10.1.2"
},
"autoload": {
"psr-4": {

View File

@ -14,7 +14,17 @@ final class TestDox implements AddsAnnotations
*/
public function __invoke(TestCaseMethodFactory $method, array $annotations): array
{
$annotations[] = "@testdox $method->description";
/*
* escapes docblock according to
* https://manual.phpdoc.org/HTMLframesConverter/default/phpDocumentor/tutorial_phpDocumentor.howto.pkg.html#basics.desc
*
* note: '@' escaping is not needed as it cannot be the first character of the line (it always starts with @testdox
*/
assert($method->description !== null);
$methodDescription = str_replace('*/', '{@*}', $method->description);
$annotations[] = "@testdox $methodDescription";
return $annotations;
}

View File

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

View File

@ -109,20 +109,16 @@ final class Help implements HandlesArguments
],
], ...$content['Execution']];
$content['Selection'] = array_merge([
[
'arg' => '--bail',
'desc' => 'Stop execution upon first not-passed test',
],
[
'arg' => '--todos',
'desc' => 'Output to standard output the list of todos',
],
[
'arg' => '--retry',
'desc' => 'Run non-passing tests first and stop execution upon first error or failure',
],
], $content['Selection']);
$content['Selection'] = [[
'arg' => '--bail',
'desc' => 'Stop execution upon first not-passed test',
], [
'arg' => '--todos',
'desc' => 'Output to standard output the list of todos',
], [
'arg' => '--retry',
'desc' => 'Run non-passing tests first and stop execution upon first error or failure',
], ...$content['Selection']];
$content['Reporting'] = [...$content['Reporting'], ...[
[
@ -131,16 +127,13 @@ final class Help implements HandlesArguments
],
]];
$content['Code Coverage'] = array_merge([
[
'arg' => '--coverage ',
'desc' => 'Generate code coverage report and output to standard output',
],
[
'arg' => '--coverage --min',
'desc' => 'Set the minimum required coverage percentage, and fail if not met',
],
], $content['Code Coverage']);
$content['Code Coverage'] = [[
'arg' => '--coverage ',
'desc' => 'Generate code coverage report and output to standard output',
], [
'arg' => '--coverage --min',
'desc' => 'Set the minimum required coverage percentage, and fail if not met',
], ...$content['Code Coverage']];
$content['Profiling'] = [
[

View File

@ -26,11 +26,11 @@ final class Init implements HandlesArguments
* The files that will be created.
*/
private const STUBS = [
'phpunit.xml' => 'phpunit.xml',
'Pest.php' => 'tests/Pest.php',
'TestCase.php' => 'tests/TestCase.php',
'Unit/ExampleTest.php' => 'tests/Unit/ExampleTest.php',
'Feature/ExampleTest.php' => 'tests/Feature/ExampleTest.php',
'phpunit.xml.stub' => 'phpunit.xml',
'Pest.php.stub' => 'tests/Pest.php',
'TestCase.php.stub' => 'tests/TestCase.php',
'Unit/ExampleTest.php.stub' => 'tests/Unit/ExampleTest.php',
'Feature/ExampleTest.php.stub' => 'tests/Feature/ExampleTest.php',
];
/**

View File

@ -42,6 +42,14 @@ final class Coverage
return false;
}
if ($runtime->hasPCOV()) {
return true;
}
if ($runtime->hasPHPDBGCodeCoverage()) {
return true;
}
if (! $runtime->hasXdebug()) {
return true;
}

View File

@ -1,5 +1,5 @@
Pest Testing Framework 2.4.0.
Pest Testing Framework 2.5.3.
USAGE: pest <file> [options]

View File

@ -152,7 +152,7 @@
✓ it uses correct parent class
DEPR Tests\Features\Deprecated
! deprecated → str_contains(): Passing null to parameter #2 ($needle) of type string is deprecated // tests/Features/Deprecated.php:6
! deprecated → str_contains(): Passing null to parameter #1 ($haystack) of type string is deprecated // tests/Features/Deprecated.php:6
✓ user deprecated
PASS Tests\Features\Exceptions
@ -977,6 +977,7 @@
✓ Німеччина
✓ Nam Định
✓ 呼和浩特
✓ test /** with comment */ should do
PASS Tests\Unit\TestSuite
✓ it does not allow to add the same test description twice
@ -1016,4 +1017,4 @@
PASS Tests\Visual\Version
✓ visual snapshot of help command output
Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 14 skipped, 710 passed (1717 assertions)
Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 14 skipped, 711 passed (1719 assertions)

View File

@ -1,3 +1,3 @@
Pest Testing Framework 2.4.0.
Pest Testing Framework 2.5.3.

View File

@ -85,16 +85,16 @@ it('works with higher order tests')
it('can use the scoped method to lock into the given level for expectations', function () {
expect(new HasMethods())
->attributes()->scoped(fn ($attributes) => $attributes
->name->toBe('Has Methods')
->quantity->toBe(20)
->name->toBe('Has Methods')
->quantity->toBe(20)
)
->name()->toBeString()->toBe('Has Methods')
->newInstance()->newInstance()->scoped(fn ($instance) => $instance
->name()->toBe('Has Methods')
->quantity()->toBe(20)
->attributes()->scoped(fn ($attributes) => $attributes
->name->toBe('Has Methods')
->quantity->toBe(20)
->name()->toBe('Has Methods')
->quantity()->toBe(20)
->attributes()->scoped(fn ($attributes) => $attributes
->name->toBe('Has Methods')
->quantity->toBe(20)
)
);
});

View File

@ -171,19 +171,19 @@ test('pipe works with negated expectation', function () use ($state) {
$state->reset();
expect($char)->not->toBe(new Char('B'))
->and($state)
->runCount->toMatchArray([
'char' => 1,
'number' => 0,
'wildcard' => 0,
'symbol' => 0,
])
->appliedCount->toMatchArray([
'char' => 1,
'number' => 0,
'wildcard' => 0,
'symbol' => 0,
]);
->and($state)
->runCount->toMatchArray([
'char' => 1,
'number' => 0,
'wildcard' => 0,
'symbol' => 0,
])
->appliedCount->toMatchArray([
'char' => 1,
'number' => 0,
'wildcard' => 0,
'symbol' => 0,
]);
});
test('interceptor is applied', function () use ($state) {

View File

@ -61,6 +61,7 @@ $names = [
'Німеччина' => '__pest_evaluable_Німеччина',
'Nam Định' => '__pest_evaluable_Nam_Định',
'呼和浩特' => '__pest_evaluable_呼和浩特',
'test /** with comment */ should do' => '__pest_evaluable_test_____with_comment____should_do',
];
foreach ($names as $name => $methodName) {

View File

@ -18,7 +18,7 @@ $run = function () {
test('parallel', function () use ($run) {
expect($run('--exclude-group=integration'))
->toContain('Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 11 skipped, 698 passed (1702 assertions)')
->toContain('Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 11 skipped, 699 passed (1704 assertions)')
->toContain('Parallel: 3 processes');
})->skipOnWindows();