fix: reverts autoloading functions

This commit is contained in:
Nuno Maduro
2022-12-04 23:07:39 +00:00
parent 606d627f1d
commit 850955d7dd
2 changed files with 144 additions and 148 deletions

View File

@ -11,8 +11,6 @@ use Symfony\Component\Console\Output\ConsoleOutput;
use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Output\OutputInterface;
(static function () { (static function () {
$_SERVER['__PEST__'] = true;
// Ensures Collision's Printer is registered. // Ensures Collision's Printer is registered.
$_SERVER['COLLISION_PRINTER'] = 'DefaultPrinter'; $_SERVER['COLLISION_PRINTER'] = 'DefaultPrinter';

View File

@ -14,151 +14,149 @@ use Pest\Support\HigherOrderTapProxy;
use Pest\TestSuite; use Pest\TestSuite;
use PHPUnit\Framework\TestCase; use PHPUnit\Framework\TestCase;
if (array_key_exists('__PEST__', $_SERVER)) { if (! function_exists('expect')) {
if (! function_exists('expect')) { /**
/** * Creates a new expectation.
* Creates a new expectation. *
* * @template TValue
* @template TValue *
* * @param TValue|null $value
* @param TValue|null $value * @return Expectation<TValue|null>
* @return Expectation<TValue|null> */
*/ function expect(mixed $value = null): Expectation
function expect(mixed $value = null): Expectation {
{ return new Expectation($value);
return new Expectation($value); }
} }
}
if (! function_exists('beforeAll')) {
if (! function_exists('beforeAll')) { /**
/** * Runs the given closure before all tests in the current file.
* Runs the given closure before all tests in the current file. */
*/ function beforeAll(Closure $closure): void
function beforeAll(Closure $closure): void {
{ TestSuite::getInstance()->beforeAll->set($closure);
TestSuite::getInstance()->beforeAll->set($closure); }
} }
}
if (! function_exists('beforeEach')) {
if (! function_exists('beforeEach')) { /**
/** * Runs the given closure before each test in the current file.
* Runs the given closure before each test in the current file. *
* * @return BeforeEachCall|TestCase|mixed
* @return BeforeEachCall|TestCase|mixed */
*/ function beforeEach(Closure $closure = null): BeforeEachCall
function beforeEach(Closure $closure = null): BeforeEachCall {
{ $filename = Backtrace::file();
$filename = Backtrace::file();
return new BeforeEachCall(TestSuite::getInstance(), $filename, $closure);
return new BeforeEachCall(TestSuite::getInstance(), $filename, $closure); }
} }
}
if (! function_exists('dataset')) {
if (! function_exists('dataset')) { /**
/** * Registers the given dataset.
* Registers the given dataset. *
* * @param Closure|iterable<int|string, mixed> $dataset
* @param Closure|iterable<int|string, mixed> $dataset */
*/ function dataset(string $name, Closure|iterable $dataset): void
function dataset(string $name, Closure|iterable $dataset): void {
{ $scope = DatasetInfo::scope(Backtrace::datasetsFile());
$scope = DatasetInfo::scope(Backtrace::datasetsFile()); DatasetsRepository::set($name, $dataset, $scope);
DatasetsRepository::set($name, $dataset, $scope); }
} }
}
if (! function_exists('uses')) {
if (! function_exists('uses')) { /**
/** * The uses function binds the given
* The uses function binds the given * arguments to test closures.
* arguments to test closures. *
* * @param class-string ...$classAndTraits
* @param class-string ...$classAndTraits */
*/ function uses(string ...$classAndTraits): UsesCall
function uses(string ...$classAndTraits): UsesCall {
{ $filename = Backtrace::file();
$filename = Backtrace::file();
return new UsesCall($filename, array_values($classAndTraits));
return new UsesCall($filename, array_values($classAndTraits)); }
} }
}
if (! function_exists('test')) {
if (! function_exists('test')) { /**
/** * Adds the given closure as a test. The first argument
* Adds the given closure as a test. The first argument * is the test description; the second argument is
* is the test description; the second argument is * a closure that contains the test expectations.
* a closure that contains the test expectations. *
* * @return TestCall|TestCase|mixed
* @return TestCall|TestCase|mixed */
*/ function test(string $description = null, Closure $closure = null)
function test(string $description = null, Closure $closure = null) {
{ if ($description === null && TestSuite::getInstance()->test !== null) {
if ($description === null && TestSuite::getInstance()->test !== null) { return new HigherOrderTapProxy(TestSuite::getInstance()->test);
return new HigherOrderTapProxy(TestSuite::getInstance()->test); }
}
$filename = Backtrace::testFile();
$filename = Backtrace::testFile();
return new TestCall(TestSuite::getInstance(), $filename, $description, $closure);
return new TestCall(TestSuite::getInstance(), $filename, $description, $closure); }
} }
}
if (! function_exists('it')) {
if (! function_exists('it')) { /**
/** * Adds the given closure as a test. The first argument
* Adds the given closure as a test. The first argument * is the test description; the second argument is
* is the test description; the second argument is * a closure that contains the test expectations.
* a closure that contains the test expectations. *
* * @return TestCall|TestCase|mixed
* @return TestCall|TestCase|mixed */
*/ function it(string $description, Closure $closure = null): TestCall
function it(string $description, Closure $closure = null): TestCall {
{ $description = sprintf('it %s', $description);
$description = sprintf('it %s', $description);
/** @var TestCall $test */
/** @var TestCall $test */ $test = test($description, $closure);
$test = test($description, $closure);
return $test;
return $test; }
} }
}
if (! function_exists('todo')) {
if (! function_exists('todo')) { /**
/** * Adds the given todo test. Internally, this test
* Adds the given todo test. Internally, this test * is marked as incomplete. Yet, Collision, Pest's
* is marked as incomplete. Yet, Collision, Pest's * printer, will display it as a "todo" test.
* printer, will display it as a "todo" test. *
* * @return TestCall|TestCase|mixed
* @return TestCall|TestCase|mixed */
*/ function todo(string $description): TestCall
function todo(string $description): TestCall {
{ /* @phpstan-ignore-next-line */
/* @phpstan-ignore-next-line */ return test($description, fn () => self::markTestSkipped(
return test($description, fn () => self::markTestSkipped( '__TODO__',
'__TODO__', ));
)); }
} }
}
if (! function_exists('afterEach')) {
if (! function_exists('afterEach')) { /**
/** * Runs the given closure after each test in the current file.
* Runs the given closure after each test in the current file. *
* * @return AfterEachCall|TestCase|mixed
* @return AfterEachCall|TestCase|mixed */
*/ function afterEach(Closure $closure = null): AfterEachCall
function afterEach(Closure $closure = null): AfterEachCall {
{ $filename = Backtrace::file();
$filename = Backtrace::file();
return new AfterEachCall(TestSuite::getInstance(), $filename, $closure);
return new AfterEachCall(TestSuite::getInstance(), $filename, $closure); }
} }
}
if (! function_exists('afterAll')) {
if (! function_exists('afterAll')) { /**
/** * Runs the given closure after all tests in the current file.
* Runs the given closure after all tests in the current file. */
*/ function afterAll(Closure $closure): void
function afterAll(Closure $closure): void {
{ TestSuite::getInstance()->afterAll->set($closure);
TestSuite::getInstance()->afterAll->set($closure);
}
} }
} }