finishing the code

This commit is contained in:
AJ Meireles
2023-09-05 20:36:18 -03:00
parent cc6c5bf199
commit 3927177b23
8 changed files with 38 additions and 9 deletions

View File

@ -239,7 +239,7 @@ final class Expectation
$index = isset($callbacks[$index + 1]) ? $index + 1 : 0;
}
if (count($callbacks) > $valuesCount) {
if ($valuesCount < count($callbacks)) {
throw new OutOfRangeException('Sequence expectations are more than the iterable items.');
}

View File

@ -19,7 +19,7 @@ final class Depends implements AddsAnnotations
public function __invoke(TestCaseMethodFactory $method, array $annotations): array
{
foreach ($method->depends as $depend) {
$depend = Str::evaluable($depend);
$depend = Str::evaluable($method->describing !== null ? Str::describe($method->describing, $depend) : $depend);
$annotations[] = "@depends $depend";
}

View File

@ -241,7 +241,7 @@ final class TestCaseFactory
throw ShouldNotHappen::fromMessage('The test description may not be empty.');
}
if (Str::evaluable($method->description) === $methodName) {
if ($methodName === Str::evaluable($method->description)) {
return true;
}
}
@ -259,7 +259,7 @@ final class TestCaseFactory
throw ShouldNotHappen::fromMessage('The test description may not be empty.');
}
if (Str::evaluable($method->description) === $methodName) {
if ($methodName === Str::evaluable($method->description)) {
return $method;
}
}

View File

@ -950,7 +950,7 @@ final class Expectation
}
if (! class_exists($exception)) {
if ($e instanceof Error && $e->getMessage() === "Class \"$exception\" not found") {
if ($e instanceof Error && "Class \"$exception\" not found" === $e->getMessage()) {
Assert::assertTrue(true);
throw $e;

View File

@ -16,6 +16,7 @@ use Pest\Support\Backtrace;
use Pest\Support\Exporter;
use Pest\Support\HigherOrderCallables;
use Pest\Support\NullClosure;
use Pest\Support\Str;
use Pest\TestSuite;
use PHPUnit\Framework\TestCase;
@ -209,7 +210,7 @@ final class TestCall
*/
private function skipOn(string $osFamily, string $message): self
{
return PHP_OS_FAMILY === $osFamily
return $osFamily === PHP_OS_FAMILY
? $this->skip($message)
: $this;
}
@ -361,7 +362,7 @@ final class TestCall
{
if (! is_null($this->describing)) {
$this->testCaseMethod->describing = $this->describing;
$this->testCaseMethod->description = sprintf('`%s` → %s', $this->describing, $this->testCaseMethod->description);
$this->testCaseMethod->description = Str::describe($this->describing, $this->testCaseMethod->description); // @phpstan-ignore-line
}
$this->testSuite->tests->set($this->testCaseMethod);

View File

@ -51,7 +51,7 @@ final class Str
return true;
}
return substr($target, -$length) === $search;
return $search === substr($target, -$length);
}
/**
@ -92,4 +92,12 @@ final class Str
{
return $search === '' ? $subject : array_reverse(explode($search, $subject, 2))[0];
}
/**
* Creates a describe block as `$right` → `$left` format.
*/
public static function describe(string $right, string $left): string
{
return sprintf('`%s` → %s', $right, $left);
}
}