mirror of
https://github.com/pestphp/pest.git
synced 2026-03-06 15:57:21 +01:00
@ -372,6 +372,46 @@ final class Expectation
|
|||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the value array has the key.
|
||||||
|
*/
|
||||||
|
public function toHaveKey(string $key): Expectation
|
||||||
|
{
|
||||||
|
Assert::assertArrayHasKey($key, $this->value);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the value is a directory.
|
||||||
|
*/
|
||||||
|
public function toBeDirectory(): Expectation
|
||||||
|
{
|
||||||
|
Assert::assertDirectoryExists($this->value);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the value is a directory and is readable.
|
||||||
|
*/
|
||||||
|
public function toBeReadableDirectory(): Expectation
|
||||||
|
{
|
||||||
|
Assert::assertDirectoryIsReadable($this->value);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Assert that the value is a directory and is writable.
|
||||||
|
*/
|
||||||
|
public function toBeWritableDirectory(): Expectation
|
||||||
|
{
|
||||||
|
Assert::assertDirectoryIsWritable($this->value);
|
||||||
|
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dynamically calls methods on the class without any arguments.
|
* Dynamically calls methods on the class without any arguments.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -24,6 +24,11 @@
|
|||||||
PASS Tests\Expect\toBeCallable
|
PASS Tests\Expect\toBeCallable
|
||||||
✓ pass
|
✓ pass
|
||||||
✓ failures
|
✓ failures
|
||||||
|
✓ not failures
|
||||||
|
|
||||||
|
PASS Tests\Expect\toBeDirectory
|
||||||
|
✓ pass
|
||||||
|
✓ failures
|
||||||
✓ not failures
|
✓ not failures
|
||||||
|
|
||||||
PASS Tests\Expect\toBeEmpty
|
PASS Tests\Expect\toBeEmpty
|
||||||
@ -99,6 +104,11 @@
|
|||||||
PASS Tests\Expect\toBeObject
|
PASS Tests\Expect\toBeObject
|
||||||
✓ pass
|
✓ pass
|
||||||
✓ failures
|
✓ failures
|
||||||
|
✓ not failures
|
||||||
|
|
||||||
|
PASS Tests\Expect\toBeReadableDirectory
|
||||||
|
✓ pass
|
||||||
|
✓ failures
|
||||||
✓ not failures
|
✓ not failures
|
||||||
|
|
||||||
PASS Tests\Expect\toBeResource
|
PASS Tests\Expect\toBeResource
|
||||||
@ -119,6 +129,11 @@
|
|||||||
PASS Tests\Expect\toBeTrue
|
PASS Tests\Expect\toBeTrue
|
||||||
✓ strict comparisons
|
✓ strict comparisons
|
||||||
✓ failures
|
✓ failures
|
||||||
|
✓ not failures
|
||||||
|
|
||||||
|
PASS Tests\Expect\toBeWritableDirectory
|
||||||
|
✓ pass
|
||||||
|
✓ failures
|
||||||
✓ not failures
|
✓ not failures
|
||||||
|
|
||||||
PASS Tests\Expect\toContain
|
PASS Tests\Expect\toContain
|
||||||
@ -140,6 +155,11 @@
|
|||||||
PASS Tests\Expect\toHaveCount
|
PASS Tests\Expect\toHaveCount
|
||||||
✓ pass
|
✓ pass
|
||||||
✓ failures
|
✓ failures
|
||||||
|
✓ not failures
|
||||||
|
|
||||||
|
PASS Tests\Expect\toHaveKey
|
||||||
|
✓ pass
|
||||||
|
✓ failures
|
||||||
✓ not failures
|
✓ not failures
|
||||||
|
|
||||||
PASS Tests\Expect\toHaveProperty
|
PASS Tests\Expect\toHaveProperty
|
||||||
@ -312,5 +332,5 @@
|
|||||||
WARN Tests\Visual\Success
|
WARN Tests\Visual\Success
|
||||||
- visual snapshot of test suite on success
|
- visual snapshot of test suite on success
|
||||||
|
|
||||||
Tests: 6 skipped, 183 passed
|
Tests: 6 skipped, 195 passed
|
||||||
Time: 5.77s
|
Time: 5.27s
|
||||||
|
|||||||
17
tests/Expect/toBeDirectory.php
Normal file
17
tests/Expect/toBeDirectory.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use PHPUnit\Framework\ExpectationFailedException;
|
||||||
|
|
||||||
|
test('pass', function () {
|
||||||
|
$temp = sys_get_temp_dir();
|
||||||
|
|
||||||
|
expect($temp)->toBeDirectory();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('failures', function () {
|
||||||
|
expect('/random/path/whatever')->toBeDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
|
|
||||||
|
test('not failures', function () {
|
||||||
|
expect('.')->not->toBeDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
15
tests/Expect/toBeReadableDirectory.php
Normal file
15
tests/Expect/toBeReadableDirectory.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use PHPUnit\Framework\ExpectationFailedException;
|
||||||
|
|
||||||
|
test('pass', function () {
|
||||||
|
expect(sys_get_temp_dir())->toBeWritableDirectory();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('failures', function () {
|
||||||
|
expect('/random/path/whatever')->toBeWritableDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
|
|
||||||
|
test('not failures', function () {
|
||||||
|
expect(sys_get_temp_dir())->not->toBeWritableDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
15
tests/Expect/toBeWritableDirectory.php
Normal file
15
tests/Expect/toBeWritableDirectory.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use PHPUnit\Framework\ExpectationFailedException;
|
||||||
|
|
||||||
|
test('pass', function () {
|
||||||
|
expect(sys_get_temp_dir())->toBeWritableDirectory();
|
||||||
|
});
|
||||||
|
|
||||||
|
test('failures', function () {
|
||||||
|
expect('/random/path/whatever')->toBeWritableDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
|
|
||||||
|
test('not failures', function () {
|
||||||
|
expect(sys_get_temp_dir())->not->toBeWritableDirectory();
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
16
tests/Expect/toEqualCanonicalizing.php
Normal file
16
tests/Expect/toEqualCanonicalizing.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use PHPUnit\Framework\ExpectationFailedException;
|
||||||
|
|
||||||
|
test('pass', function () {
|
||||||
|
expect([1, 2, 3])->toEqualCanonicalizing([3, 1, 2]);
|
||||||
|
expect(['g', 'a', 'z'])->not->toEqualCanonicalizing(['a', 'z']);
|
||||||
|
});
|
||||||
|
|
||||||
|
test('failures', function () {
|
||||||
|
expect([3, 2, 1])->toEqualCanonicalizing([1, 2]);
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
|
|
||||||
|
test('not failures', function () {
|
||||||
|
expect(['a', 'b', 'c'])->not->toEqualCanonicalizing(['b', 'a', 'c']);
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
15
tests/Expect/toHaveKey.php
Normal file
15
tests/Expect/toHaveKey.php
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use PHPUnit\Framework\ExpectationFailedException;
|
||||||
|
|
||||||
|
test('pass', function () {
|
||||||
|
expect(['a' => 1, 'b', 'c' => 'world'])->toHaveKey('c');
|
||||||
|
});
|
||||||
|
|
||||||
|
test('failures', function () {
|
||||||
|
expect(['a' => 1, 'b', 'c' => 'world'])->toHaveKey('hello');
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
|
|
||||||
|
test('not failures', function () {
|
||||||
|
expect(['a' => 1, 'hello' => 'world', 'c'])->not->toHaveKey('hello');
|
||||||
|
})->throws(ExpectationFailedException::class);
|
||||||
Reference in New Issue
Block a user