Skip to content

Commit

Permalink
Merge branch '10.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianbergmann committed Jul 26, 2023
2 parents ef9f737 + eba337f commit e9cf305
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 0 deletions.
18 changes: 18 additions & 0 deletions tests/end-to-end/event/_files/DataProvider.php
@@ -0,0 +1,18 @@
<?php declare(strict_types=1);
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* 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]];
}
}
22 changes: 22 additions & 0 deletions tests/end-to-end/event/_files/DataProviderExternalTest.php
@@ -0,0 +1,22 @@
<?php declare(strict_types=1);
/*
* This file is part of PHPUnit.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* 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);
}
}
53 changes: 53 additions & 0 deletions 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--
<?php declare(strict_types=1);
if (DIRECTORY_SEPARATOR === '\\') {
print "skip: this test does not work on Windows / GitHub Actions\n";
}
--FILE--
<?php declare(strict_types=1);
$traceFile = tempnam(sys_get_temp_dir(), __FILE__);

$_SERVER['argv'][] = '--do-not-cache-result';
$_SERVER['argv'][] = '--no-configuration';
$_SERVER['argv'][] = '--no-output';
$_SERVER['argv'][] = '--log-events-text';
$_SERVER['argv'][] = $traceFile;
$_SERVER['argv'][] = __DIR__ . '/_files/DataProviderExternalTest.php';

require __DIR__ . '/../../bootstrap.php';

(new PHPUnit\TextUI\Application)->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)

0 comments on commit e9cf305

Please sign in to comment.