summaryrefslogtreecommitdiff
path: root/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php')
-rw-r--r--vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php75
1 files changed, 75 insertions, 0 deletions
diff --git a/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php b/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php
new file mode 100644
index 000000000..18b549996
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php
@@ -0,0 +1,75 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <[email protected]>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework;
+
+use function explode;
+use PHPUnit\Util\Test as TestUtil;
+
+/**
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class DataProviderTestSuite extends TestSuite
+{
+ /**
+ * @var list<ExecutionOrderDependency>
+ */
+ private $dependencies = [];
+
+ /**
+ * @param list<ExecutionOrderDependency> $dependencies
+ */
+ public function setDependencies(array $dependencies): void
+ {
+ $this->dependencies = $dependencies;
+
+ foreach ($this->tests as $test) {
+ if (!$test instanceof TestCase) {
+ // @codeCoverageIgnoreStart
+ continue;
+ // @codeCoverageIgnoreStart
+ }
+ $test->setDependencies($dependencies);
+ }
+ }
+
+ /**
+ * @return list<ExecutionOrderDependency>
+ */
+ public function provides(): array
+ {
+ if ($this->providedTests === null) {
+ $this->providedTests = [new ExecutionOrderDependency($this->getName())];
+ }
+
+ return $this->providedTests;
+ }
+
+ /**
+ * @return list<ExecutionOrderDependency>
+ */
+ public function requires(): array
+ {
+ // A DataProviderTestSuite does not have to traverse its child tests
+ // as these are inherited and cannot reference dataProvider rows directly
+ return $this->dependencies;
+ }
+
+ /**
+ * Returns the size of the each test created using the data provider(s).
+ *
+ * @throws \SebastianBergmann\RecursionContext\InvalidArgumentException
+ */
+ public function getSize(): int
+ {
+ [$className, $methodName] = explode('::', $this->getName());
+
+ return TestUtil::getSize($className, $methodName);
+ }
+}