Merge pull request #187 from owenvoke/feature/assert-string

feat: add 'toStartWith' and 'toEndWith' expectations
This commit is contained in:
Owen Voke
2020-09-16 10:33:00 +01:00
committed by GitHub
4 changed files with 61 additions and 1 deletions

View File

@ -158,6 +158,26 @@ final class Expectation
return $this;
}
/**
* Asserts that the value starts with $expected.
*/
public function toStartWith(string $expected): Expectation
{
Assert::assertStringStartsWith($expected, $this->value);
return $this;
}
/**
* Asserts that the value ends with $expected.
*/
public function toEndWith(string $expected): Expectation
{
Assert::assertStringEndsWith($expected, $this->value);
return $this;
}
/**
* Asserts that $count matches the number of elements of the value.
*/

View File

@ -155,6 +155,11 @@
✓ passes strings
✓ passes arrays
✓ failures
✓ not failures
PASS Tests\Expect\toEndWith
✓ pass
✓ failures
✓ not failures
PASS Tests\Expect\toEqual
@ -195,6 +200,11 @@
PASS Tests\Expect\toMatchObject
✓ pass
✓ failures
✓ not failures
PASS Tests\Expect\toStartWith
✓ pass
✓ failures
✓ not failures
PASS Tests\Features\AfterAll
@ -363,5 +373,5 @@
✓ depends with defined arguments
✓ depends run test only once
Tests: 6 skipped, 214 passed
Tests: 6 skipped, 220 passed

View File

@ -0,0 +1,15 @@
<?php
use PHPUnit\Framework\ExpectationFailedException;
test('pass', function () {
expect('username')->toEndWith('name');
});
test('failures', function () {
expect('username')->toEndWith('password');
})->throws(ExpectationFailedException::class);
test('not failures', function () {
expect('username')->not->toEndWith('name');
})->throws(ExpectationFailedException::class);

View File

@ -0,0 +1,15 @@
<?php
use PHPUnit\Framework\ExpectationFailedException;
test('pass', function () {
expect('username')->toStartWith('user');
});
test('failures', function () {
expect('username')->toStartWith('password');
})->throws(ExpectationFailedException::class);
test('not failures', function () {
expect('username')->not->toStartWith('user');
})->throws(ExpectationFailedException::class);