Commit Graph

1521 Commits

Author SHA1 Message Date
c7e4efcea4 fix: replace substr with mb_substr in Str::beforeLast to ensure multibyte string compatibility and correct TeamCity test names for datasets in "describe" blocks 2026-01-14 00:55:35 +01:00
df3205e814 Merge pull request #1554 from pindab0ter/feature/extend-closure-this
Specify closure this for extend
2026-01-13 01:19:47 +00:00
bc57a84e77 release: 4.3.1 2026-01-04 11:29:59 -05:00
bc39830d8a chore: removes toHaveSuspiciousCharacters from php preset 2026-01-04 11:25:57 -05:00
e86bec3e68 release: 4.3.0 2025-12-30 14:48:33 -05:00
58b8f3cc5d Merge pull request #1598 from Willem-Jaap/willem-jaap/pest-only-file-level
feat: add pest only function to mark each test in a file as only
2025-12-30 14:40:04 -05:00
c157b661f2 style: format 2025-12-30 09:26:35 +01:00
be90610f17 feat: add pest only function to mark each test in a file as only 2025-12-30 09:24:05 +01:00
1701a306c3 Merge pull request #1590 from pestphp/feature/intl-exception
feat: show more useful exception when `intl` extension not found
2025-12-29 22:09:16 -05:00
leo
44e315df98 feat: add --dirty documentation in --help 2025-12-22 11:02:28 +01:00
6a96aed654 feat: adds phpunit@12.5 support 2025-12-15 11:48:43 +00:00
b1c997a869 feat: show more useful exception when intl extension not found 2025-12-12 12:02:00 +00:00
ae419afd36 chore: support for symfony 8.0.0 components 2025-11-28 12:04:48 +00:00
0e7c2abe8b Add Rules to Laravel preset 2025-11-25 15:32:36 +05:00
f5820bd670 release: 4.1.5 2025-11-24 12:46:38 +00:00
41fd831153 release: 4.1.4 2025-11-24 10:25:45 +00:00
bd5fed9e12 add missing classes before toExtend on laravel preset
Add missing `->classes()` before `->toExtend()` on the laravel preset for 2 namespaces.

Otherwise you can't use interfaces on theses namespace.

For example, if you create an interface `YourSuperRequestContract` on the `app/Http/Requests` namespace you will get this error:

```
Expecting 'app/Http/Requests/YourSuperRequestContract.php' to extend 'Illuminate\Foundation\Http\FormRequest'.
```
2025-11-10 15:26:56 +00:00
26345fd9f4 fix: dataset inheritance with method chaining (beforeEach()->with(), describe()->with())
Fixes issue where datasets were not applied when using method chaining patterns
like beforeEach()->with([...]) or describe()->with([...]) inside nested describe blocks.

Root cause: Multiple functions were using Backtrace::file() which returns the
immediate caller's filename. This breaks when called through method chaining
because the backtrace returns internal Pest files instead of the test file.

Solution: Use Backtrace::testFile() which walks the entire backtrace to find
the actual test file being executed. This matches the pattern already used by
test() and describe() functions.

Changes in src/Functions.php:
- beforeEach(): Use testFile() to fix beforeEach()->with() pattern
- afterEach(): Use testFile() for consistency with beforeEach()
- beforeAll(): Use testFile() for better error messages
- afterAll(): Use testFile() for better error messages
- pest(): Use testFile() to fix pest()->beforeEach() pattern
- uses(): Use testFile() for consistency with pest()
- covers(): Use testFile() for correct test file context
- mutates(): Use testFile() for correct test file context

Changes in src/PendingCalls/DescribeCall.php:
- __destruct(): Force BeforeEachCall destructor before test creation
- __call(): Use $this->filename instead of Backtrace, more efficient
- __call(): Properly merge describing context for nested describe blocks

Fixes patterns:
- beforeEach()->with([...])
- describe()->with([...])
- pest()->beforeEach()->with([...]

Tests passing:
- tests/Features/Describe.php (all dataset tests)
- tests/Hooks/BeforeEachTest.php (global hook execution)
- tests/Features/Expect/toMatchSnapshot.php (28 tests)
2025-11-05 17:46:52 +01:00
ae1da79ac1 Pass test dir to worker
#1444 
Test directory argument is lost when spawning workers, add it again.
2025-11-05 17:15:51 +01:00
477d20a54f release: 4.1.3 2025-10-29 22:45:27 +00:00
b7b16096db Specify closure this for extend 2025-10-29 11:20:08 +01:00
08b09f2e98 release: 4.1.2 2025-10-05 20:09:49 +01:00
8e3444e1db chore: bumps requirements 2025-10-01 14:30:25 +01:00
dc9a1e8ace BugFix: Fix toUseTrait to detect inherited and nested traits 2025-09-20 19:06:23 +01:00
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
f91c6c1e1e Update social media links in Thanks.php 2025-09-01 00:09:31 +01:00
47fb1d7763 release: v4.0.4 2025-08-28 19:19:42 +01:00
e54e4a0178 release: 4.0.3 2025-08-24 15:17:23 +01:00
33817013fe Prevent duplicate attributes 2025-08-23 12:35:32 +02:00
7f11ace329 release: 4.0.2 2025-08-22 11:34:24 +01:00
3d776f1f20 fix: revert reading coverage by chunks 2025-08-22 11:12:55 +01:00
d5ced0a5ca release: 4.0.1 2025-08-22 09:24:07 +01:00
507df757a1 release: 4.0.0 2025-08-20 15:29:23 +01:00
6b523d6963 fix: puts back windows 2025-08-20 14:27:53 +01:00
a350545803 fix: windows check 2025-08-20 14:25:49 +01:00
ed38fb644f release: 4.0.0 rc 1 2025-08-20 07:58:51 +01:00
39b66bf01d Merge branch '3.x' into 4.x 2025-08-20 07:04:50 +01:00
165c879fe6 release: 3.8.3 2025-08-19 11:11:21 +01:00
4c8bf4b2fd chore: uses phpunit v11.5.33 2025-08-19 11:11:10 +01:00
e3e518747f release: beta 2 2025-08-11 15:45:37 +01:00
711a60c2db release: beta 1 2025-08-05 17:44:12 +01:00
e7132fa012 fix: removes parse_str from security preset 2025-08-03 16:09:59 -06:00
3b72bbd7fe fix: toMatchObject accept objects 2025-08-03 11:08:11 -06:00
fcb60f3c4a chore: improves wording 2025-08-03 09:57:52 -06:00
91bb7589e2 fix: wording on exception 2025-08-03 09:31:31 -06:00
27414ce19f Merge pull request #1372 from soyuka/patch-1
throw exception instead of using Panic in the TestSuite.php
2025-07-30 18:27:13 +01:00
fbc9e704e2 Merge pull request #1424 from joelbutcher/fix/throw-if-tests-directory-does-not-exist
[3.x] Throw a fatal exception if the tests directory does not exist
2025-07-30 18:26:31 +01:00
ee6b3ed062 fix: throw a fatal exception if the tests directory does not exist 2025-07-29 19:13:33 +01:00
4c88590b89 feat: not.toHaveSuspiciousCharacters 2025-07-26 07:47:00 -06:00