Merge pull request #1157 from ExeQue/2.x

[2.x] Added `toBeList` expectation
This commit is contained in:
Nuno Maduro
2024-05-27 13:08:05 +01:00
committed by GitHub
2 changed files with 33 additions and 0 deletions

View File

@ -467,6 +467,18 @@ final class Expectation
return $this; return $this;
} }
/**
* Asserts that the value is a list.
*
* @return self<TValue>
*/
public function toBeList(string $message = ''): self
{
Assert::assertIsList($this->value, $message);
return $this;
}
/** /**
* Asserts that the value is of type bool. * Asserts that the value is of type bool.
* *

View File

@ -0,0 +1,21 @@
<?php
use PHPUnit\Framework\ExpectationFailedException;
test('pass', function () {
expect([1, 2, 3])->toBeList();
expect(['a' => 1, 'b' => 2, 'c' => 3])->not->toBeList();
expect('1, 2, 3')->not->toBeList();
});
test('failures', function () {
expect(null)->toBeList();
})->throws(ExpectationFailedException::class);
test('failures with custom message', function () {
expect(null)->toBeList('oh no!');
})->throws(ExpectationFailedException::class, 'oh no!');
test('not failures', function () {
expect(['a', 'b', 'c'])->not->toBeList();
})->throws(ExpectationFailedException::class);