diff --git a/tests/end-to-end/event/_files/DataProvider.php b/tests/end-to-end/event/_files/DataProvider.php new file mode 100644 index 00000000000..201e07c04da --- /dev/null +++ b/tests/end-to-end/event/_files/DataProvider.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\TestFixture\Event; + +final class DataProvider +{ + public static function values(): array + { + return [[true], [true]]; + } +} diff --git a/tests/end-to-end/event/_files/DataProviderExternalTest.php b/tests/end-to-end/event/_files/DataProviderExternalTest.php new file mode 100644 index 00000000000..90671b34faf --- /dev/null +++ b/tests/end-to-end/event/_files/DataProviderExternalTest.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace PHPUnit\TestFixture\Event; + +use PHPUnit\Framework\Attributes\DataProviderExternal; +use PHPUnit\Framework\TestCase; + +final class DataProviderExternalTest extends TestCase +{ + #[DataProviderExternal(DataProvider::class, 'values')] + public function testSuccess(bool $value): void + { + $this->assertTrue($value); + } +} diff --git a/tests/end-to-end/event/test-data-provider-external.phpt b/tests/end-to-end/event/test-data-provider-external.phpt new file mode 100644 index 00000000000..3562051b1b1 --- /dev/null +++ b/tests/end-to-end/event/test-data-provider-external.phpt @@ -0,0 +1,53 @@ +--TEST-- +The right events are emitted in the right order for a successful test that uses an external data provider +--SKIPIF-- +run($_SERVER['argv']); + +print file_get_contents($traceFile); + +unlink($traceFile); +--EXPECTF-- +PHPUnit Started (PHPUnit %s using %s) +Test Runner Configured +Data Provider Method Called (PHPUnit\TestFixture\Event\DataProvider::values for test method PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess) +Data Provider Method Finished for PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess: +- PHPUnit\TestFixture\Event\DataProvider::values +Test Suite Loaded (2 tests) +Event Facade Sealed +Test Runner Started +Test Suite Sorted +Test Runner Execution Started (2 tests) +Test Suite Started (PHPUnit\TestFixture\Event\DataProviderExternalTest, 2 tests) +Test Suite Started (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess, 2 tests) +Test Preparation Started (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#0) +Test Prepared (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#0) +Assertion Succeeded (Constraint: is true, Value: true) +Test Passed (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#0) +Test Finished (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#0) +Test Preparation Started (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#1) +Test Prepared (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#1) +Assertion Succeeded (Constraint: is true, Value: true) +Test Passed (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#1) +Test Finished (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess#1) +Test Suite Finished (PHPUnit\TestFixture\Event\DataProviderExternalTest::testSuccess, 2 tests) +Test Suite Finished (PHPUnit\TestFixture\Event\DataProviderExternalTest, 2 tests) +Test Runner Execution Finished +Test Runner Finished +PHPUnit Finished (Shell Exit Code: 0)