Compare commits

...

7 Commits

Author SHA1 Message Date
b7406938ac release: v4.1.0 2025-09-10 14:41:09 +01:00
314caabd1d chore: improves types 2025-09-10 14:41:02 +01:00
65cabf91b1 chore: bumps dependencies 2025-09-10 14:40:52 +01:00
f91c6c1e1e Update social media links in Thanks.php 2025-09-01 00:09:31 +01:00
843dbbf18a Update README.md 2025-08-31 23:50:16 +01:00
47fb1d7763 release: v4.0.4 2025-08-28 19:19:42 +01:00
639df4cb43 chore: uses phpunit 12.3.7 2025-08-28 19:19:32 +01:00
7 changed files with 16 additions and 15 deletions

View File

@ -16,8 +16,8 @@
- Explore our docs at **[pestphp.com »](https://pestphp.com)** - Explore our docs at **[pestphp.com »](https://pestphp.com)**
- Follow the creator Nuno Maduro: - Follow the creator Nuno Maduro:
- YouTube: **[youtube.com/@nunomaduro](https://www.youtube.com/@nunomaduro)** — Videos every weekday - YouTube: **[youtube.com/@nunomaduro](https://youtube.com/@nunomaduro)** — Videos every week
- Twitch: **[twitch.tv/enunomaduro](https://www.twitch.tv/enunomaduro)** — Streams (almost) every weekday - Twitch: **[twitch.tv/nunomaduro](https://twitch.tv/nunomaduro)** — Live coding on Mondays, Wednesdays, and Fridays at 9PM UTC
- Twitter / X: **[x.com/enunomaduro](https://x.com/enunomaduro)** - Twitter / X: **[x.com/enunomaduro](https://x.com/enunomaduro)**
- LinkedIn: **[linkedin.com/in/nunomaduro](https://www.linkedin.com/in/nunomaduro)** - LinkedIn: **[linkedin.com/in/nunomaduro](https://www.linkedin.com/in/nunomaduro)**
- Instagram: **[instagram.com/enunomaduro](https://www.instagram.com/enunomaduro)** - Instagram: **[instagram.com/enunomaduro](https://www.instagram.com/enunomaduro)**

View File

@ -18,19 +18,19 @@
], ],
"require": { "require": {
"php": "^8.3.0", "php": "^8.3.0",
"brianium/paratest": "^7.11.2", "brianium/paratest": "^7.12.0",
"nunomaduro/collision": "^8.8.2", "nunomaduro/collision": "^8.8.2",
"nunomaduro/termwind": "^2.3.1", "nunomaduro/termwind": "^2.3.1",
"pestphp/pest-plugin": "^4.0.0", "pestphp/pest-plugin": "^4.0.0",
"pestphp/pest-plugin-arch": "^4.0.0", "pestphp/pest-plugin-arch": "^4.0.0",
"pestphp/pest-plugin-mutate": "^4.0.1", "pestphp/pest-plugin-mutate": "^4.0.1",
"pestphp/pest-plugin-profanity": "^4.0.1", "pestphp/pest-plugin-profanity": "^4.1.0",
"phpunit/phpunit": "^12.3.6", "phpunit/phpunit": "^12.3.8",
"symfony/process": "^7.3.0" "symfony/process": "^7.3.3"
}, },
"conflict": { "conflict": {
"filp/whoops": "<2.18.3", "filp/whoops": "<2.18.3",
"phpunit/phpunit": ">12.3.6", "phpunit/phpunit": ">12.3.8",
"sebastian/exporter": "<7.0.0", "sebastian/exporter": "<7.0.0",
"webmozart/assert": "<1.11.0" "webmozart/assert": "<1.11.0"
}, },
@ -56,7 +56,7 @@
}, },
"require-dev": { "require-dev": {
"pestphp/pest-dev-tools": "^4.0.0", "pestphp/pest-dev-tools": "^4.0.0",
"pestphp/pest-plugin-browser": "^4.0.2", "pestphp/pest-plugin-browser": "^4.1.0",
"pestphp/pest-plugin-type-coverage": "^4.0.2", "pestphp/pest-plugin-type-coverage": "^4.0.2",
"psy/psysh": "^0.12.10" "psy/psysh": "^0.12.10"
}, },

View File

@ -25,8 +25,8 @@ final readonly class Thanks
private const array FUNDING_MESSAGES = [ private const array FUNDING_MESSAGES = [
'Star' => 'https://github.com/pestphp/pest', 'Star' => 'https://github.com/pestphp/pest',
'YouTube' => 'https://youtube.com/@nunomaduro', 'YouTube' => 'https://youtube.com/@nunomaduro',
'TikTok' => 'https://tiktok.com/@nunomaduro', 'TikTok' => 'https://tiktok.com/@enunomaduro',
'Twitch' => 'https://twitch.tv/enunomaduro', 'Twitch' => 'https://twitch.tv/nunomaduro',
'LinkedIn' => 'https://linkedin.com/in/nunomaduro', 'LinkedIn' => 'https://linkedin.com/in/nunomaduro',
'Instagram' => 'https://instagram.com/enunomaduro', 'Instagram' => 'https://instagram.com/enunomaduro',
'X' => 'https://x.com/enunomaduro', 'X' => 'https://x.com/enunomaduro',

View File

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

View File

@ -67,11 +67,11 @@ final class DatasetsRepository
} }
/** /**
* @return Closure|array<int|string, mixed> * @return array<int|string, mixed>
* *
* @throws ShouldNotHappen * @throws ShouldNotHappen
*/ */
public static function get(string $filename, string $description): Closure|array // @phpstan-ignore-line public static function get(string $filename, string $description): array // @phpstan-ignore-line
{ {
$dataset = self::$withs[$filename.self::SEPARATOR.$description]; $dataset = self::$withs[$filename.self::SEPARATOR.$description];
@ -191,6 +191,7 @@ final class DatasetsRepository
return str_starts_with($currentTestFile, $datasetScope); return str_starts_with($currentTestFile, $datasetScope);
}, ARRAY_FILTER_USE_KEY); }, ARRAY_FILTER_USE_KEY);
/** @var string|null $closestScopeDatasetKey */
$closestScopeDatasetKey = array_reduce( $closestScopeDatasetKey = array_reduce(
array_keys($matchingDatasets), array_keys($matchingDatasets),
fn (string|int|null $keyA, string|int|null $keyB): string|int|null => $keyA !== null && strlen((string) $keyA) > strlen((string) $keyB) ? $keyA : $keyB fn (string|int|null $keyA, string|int|null $keyB): string|int|null => $keyA !== null && strlen((string) $keyA) > strlen((string) $keyB) ? $keyA : $keyB

View File

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

View File

@ -1,3 +1,3 @@
Pest Testing Framework 4.0.3. Pest Testing Framework 4.1.0.