mirror of
https://github.com/pestphp/pest.git
synced 2026-03-11 10:17:23 +01:00
Merge branch '2.x' into feature/traversable-sequence
This commit is contained in:
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -0,0 +1 @@
|
||||
foo bar 1
|
||||
@ -0,0 +1 @@
|
||||
foo bar 2
|
||||
@ -1,5 +1,5 @@
|
||||
|
||||
Pest Testing Framework 2.11.0.
|
||||
Pest Testing Framework 2.15.0.
|
||||
|
||||
USAGE: pest <file> [options]
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
|
||||
Pest Testing Framework 2.11.0.
|
||||
Pest Testing Framework 2.15.0.
|
||||
|
||||
|
||||
@ -310,6 +310,18 @@
|
||||
✓ strict comparisons
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeAlpha
|
||||
✓ pass
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeAlphaNumeric
|
||||
✓ pass
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeArray
|
||||
@ -445,6 +457,12 @@
|
||||
✓ passes with DateTime and DateTimeImmutable
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeLowercase
|
||||
✓ pass
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeNAN
|
||||
@ -520,6 +538,12 @@
|
||||
✓ passes as not truthy with ('0')
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeUppercase
|
||||
✓ pass
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
|
||||
PASS Tests\Features\Expect\toBeWritableDirectory
|
||||
@ -700,6 +724,22 @@
|
||||
✓ failures
|
||||
✓ failures with custom message
|
||||
✓ not failures
|
||||
✓ multiple snapshot expectations
|
||||
✓ multiple snapshot expectations with datasets with (1)
|
||||
✓ multiple snapshot expectations with datasets with ('foo')
|
||||
✓ multiple snapshot expectations with datasets with ('bar')
|
||||
✓ multiple snapshot expectations with datasets with ('baz')
|
||||
✓ describable → multiple snapshot expectations with describe
|
||||
✓ multiple snapshot expectations with repeat @ repetition 1 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 2 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 3 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 4 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 5 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 6 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 7 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 8 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 9 of 10
|
||||
✓ multiple snapshot expectations with repeat @ repetition 10 of 10
|
||||
|
||||
PASS Tests\Features\Expect\toStartWith
|
||||
✓ pass
|
||||
@ -1001,9 +1041,15 @@
|
||||
PASS Tests\PHPUnit\CustomAffixes\snakecasespec
|
||||
✓ it runs file names like snake_case_spec.php
|
||||
|
||||
PASS Tests\CustomTestCase\ChildTest
|
||||
✓ override method
|
||||
|
||||
PASS Tests\CustomTestCase\ExecutedTest
|
||||
✓ that gets executed
|
||||
|
||||
PASS Tests\CustomTestCase\ParentTest
|
||||
✓ override method
|
||||
|
||||
PASS Tests\PHPUnit\CustomTestCase\UsesPerDirectory
|
||||
✓ closure was bound to CustomTestCase
|
||||
|
||||
@ -1196,4 +1242,4 @@
|
||||
WARN Tests\Visual\Version
|
||||
- visual snapshot of help command output
|
||||
|
||||
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 19 skipped, 846 passed (1968 assertions)
|
||||
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 19 skipped, 878 passed (2013 assertions)
|
||||
|
||||
@ -19,7 +19,13 @@
|
||||
↓ something todo later chained
|
||||
↓ something todo later chained and with function body
|
||||
|
||||
PASS Tests\CustomTestCase\ChildTest
|
||||
✓ override method
|
||||
|
||||
PASS Tests\CustomTestCase\ExecutedTest
|
||||
✓ that gets executed
|
||||
|
||||
Tests: 13 todos, 1 passed (1 assertions)
|
||||
PASS Tests\CustomTestCase\ParentTest
|
||||
✓ override method
|
||||
|
||||
Tests: 13 todos, 3 passed (3 assertions)
|
||||
|
||||
20
tests/Features/Expect/toBeAlpha.php
Normal file
20
tests/Features/Expect/toBeAlpha.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
test('pass', function () {
|
||||
expect('abc')->toBeAlpha();
|
||||
expect('123')->not->toBeAlpha();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
expect('123')->toBeAlpha();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('failures with custom message', function () {
|
||||
expect('123')->toBeAlpha('oh no!');
|
||||
})->throws(ExpectationFailedException::class, 'oh no!');
|
||||
|
||||
test('not failures', function () {
|
||||
expect('abc')->not->toBeAlpha();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
20
tests/Features/Expect/toBeAlphaNumeric.php
Normal file
20
tests/Features/Expect/toBeAlphaNumeric.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
test('pass', function () {
|
||||
expect('abc123')->toBeAlphaNumeric();
|
||||
expect('-')->not->toBeAlphaNumeric();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
expect('-')->toBeAlphaNumeric();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('failures with custom message', function () {
|
||||
expect('-')->toBeAlphaNumeric('oh no!');
|
||||
})->throws(ExpectationFailedException::class, 'oh no!');
|
||||
|
||||
test('not failures', function () {
|
||||
expect('abc123')->not->toBeAlphaNumeric();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
20
tests/Features/Expect/toBeDigits.php
Normal file
20
tests/Features/Expect/toBeDigits.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
test('pass', function () {
|
||||
expect('123')->toBeDigits();
|
||||
expect('123.14')->not->toBeDigits();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
expect('123.14')->toBeDigits();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('failures with custom message', function () {
|
||||
expect('123.14')->toBeDigits('oh no!');
|
||||
})->throws(ExpectationFailedException::class, 'oh no!');
|
||||
|
||||
test('not failures', function () {
|
||||
expect('445')->not->toBeDigits();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
20
tests/Features/Expect/toBeLowercase.php
Normal file
20
tests/Features/Expect/toBeLowercase.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
test('pass', function () {
|
||||
expect('lowercase')->toBeLowercase();
|
||||
expect('UPPERCASE')->not->toBeLowercase();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
expect('UPPERCASE')->toBeLowercase();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('failures with custom message', function () {
|
||||
expect('UPPERCASE')->toBeLowercase('oh no!');
|
||||
})->throws(ExpectationFailedException::class, 'oh no!');
|
||||
|
||||
test('not failures', function () {
|
||||
expect('lowercase')->not->toBeLowercase();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
20
tests/Features/Expect/toBeUppercase.php
Normal file
20
tests/Features/Expect/toBeUppercase.php
Normal file
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\ExpectationFailedException;
|
||||
|
||||
test('pass', function () {
|
||||
expect('UPPERCASE')->toBeUppercase();
|
||||
expect('lowercase')->not->toBeUppercase();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
expect('lowercase')->toBeUppercase();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('failures with custom message', function () {
|
||||
expect('lowercase')->toBeUppercase('oh no!');
|
||||
})->throws(ExpectationFailedException::class, 'oh no!');
|
||||
|
||||
test('not failures', function () {
|
||||
expect('UPPERCASE')->not->toBeUppercase();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
@ -16,13 +16,13 @@ beforeEach(function () {
|
||||
});
|
||||
|
||||
test('pass', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
expect($this->snapshotable)->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('pass with `__toString`', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
$object = new class($this->snapshotable)
|
||||
{
|
||||
@ -36,11 +36,11 @@ test('pass with `__toString`', function () {
|
||||
}
|
||||
};
|
||||
|
||||
expect($object)->toMatchSnapshot()->toMatchSnapshot();
|
||||
expect($object)->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('pass with `toString`', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
$object = new class($this->snapshotable)
|
||||
{
|
||||
@ -54,12 +54,12 @@ test('pass with `toString`', function () {
|
||||
}
|
||||
};
|
||||
|
||||
expect($object)->toMatchSnapshot()->toMatchSnapshot();
|
||||
expect($object)->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('pass with dataset', function ($data) {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
[$filename] = TestSuite::getInstance()->snapshots->get($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
[$filename] = TestSuite::getInstance()->snapshots->get();
|
||||
|
||||
expect($filename)->toEndWith('pass_with_dataset_with_data_set____my_datas_set_value______my_datas_set_value__.snap')
|
||||
->and($this->snapshotable)->toMatchSnapshot();
|
||||
@ -67,8 +67,8 @@ test('pass with dataset', function ($data) {
|
||||
|
||||
describe('within describe', function () {
|
||||
test('pass with dataset', function ($data) {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
[$filename] = TestSuite::getInstance()->snapshots->get($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
[$filename] = TestSuite::getInstance()->snapshots->get();
|
||||
|
||||
expect($filename)->toEndWith('pass_with_dataset_with_data_set____my_datas_set_value______my_datas_set_value__.snap')
|
||||
->and($this->snapshotable)->toMatchSnapshot();
|
||||
@ -76,7 +76,7 @@ describe('within describe', function () {
|
||||
})->with(['my-datas-set-value']);
|
||||
|
||||
test('pass with `toArray`', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, json_encode(['key' => $this->snapshotable], JSON_PRETTY_PRINT));
|
||||
TestSuite::getInstance()->snapshots->save(json_encode(['key' => $this->snapshotable], JSON_PRETTY_PRINT));
|
||||
|
||||
$object = new class($this->snapshotable)
|
||||
{
|
||||
@ -92,31 +92,57 @@ test('pass with `toArray`', function () {
|
||||
}
|
||||
};
|
||||
|
||||
expect($object)->toMatchSnapshot()->toMatchSnapshot();
|
||||
expect($object)->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('pass with array', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, json_encode(['key' => $this->snapshotable], JSON_PRETTY_PRINT));
|
||||
TestSuite::getInstance()->snapshots->save(json_encode(['key' => $this->snapshotable], JSON_PRETTY_PRINT));
|
||||
|
||||
expect([
|
||||
'key' => $this->snapshotable,
|
||||
])->toMatchSnapshot()->toMatchSnapshot();
|
||||
])->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('failures', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
expect('contain that does not match snapshot')->toMatchSnapshot();
|
||||
})->throws(ExpectationFailedException::class, 'Failed asserting that two strings are identical.');
|
||||
|
||||
test('failures with custom message', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
expect('contain that does not match snapshot')->toMatchSnapshot('oh no');
|
||||
})->throws(ExpectationFailedException::class, 'oh no');
|
||||
|
||||
test('not failures', function () {
|
||||
TestSuite::getInstance()->snapshots->save($this, $this->snapshotable);
|
||||
TestSuite::getInstance()->snapshots->save($this->snapshotable);
|
||||
|
||||
expect($this->snapshotable)->not->toMatchSnapshot();
|
||||
})->throws(ExpectationFailedException::class);
|
||||
|
||||
test('multiple snapshot expectations', function () {
|
||||
expect('foo bar 1')->toMatchSnapshot();
|
||||
|
||||
expect('foo bar 2')->toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('multiple snapshot expectations with datasets', function () {
|
||||
expect('foo bar 1')->toMatchSnapshot();
|
||||
|
||||
expect('foo bar 2')->toMatchSnapshot();
|
||||
})->with([1, 'foo', 'bar', 'baz']);
|
||||
|
||||
describe('describable', function () {
|
||||
test('multiple snapshot expectations with describe', function () {
|
||||
expect('foo bar 1')->toMatchSnapshot();
|
||||
|
||||
expect('foo bar 2')->toMatchSnapshot();
|
||||
});
|
||||
});
|
||||
|
||||
test('multiple snapshot expectations with repeat', function () {
|
||||
expect('foo bar 1')->toMatchSnapshot();
|
||||
|
||||
expect('foo bar 2')->toMatchSnapshot();
|
||||
})->repeat(10);
|
||||
|
||||
13
tests/PHPUnit/CustomTestCase/ChildTest.php
Normal file
13
tests/PHPUnit/CustomTestCase/ChildTest.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\CustomTestCase;
|
||||
|
||||
class ChildTest extends ParentTest
|
||||
{
|
||||
private function getEntity(): bool
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -4,9 +4,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace Tests\CustomTestCase;
|
||||
|
||||
use function PHPUnit\Framework\assertTrue;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
use function PHPUnit\Framework\assertTrue;
|
||||
|
||||
abstract class CustomTestCase extends TestCase
|
||||
{
|
||||
public function assertCustomTrue()
|
||||
|
||||
@ -4,9 +4,10 @@ declare(strict_types=1);
|
||||
|
||||
namespace Tests\CustomTestCase;
|
||||
|
||||
use function PHPUnit\Framework\assertTrue;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
use function PHPUnit\Framework\assertTrue;
|
||||
|
||||
class ExecutedTest extends TestCase
|
||||
{
|
||||
public static $executed = false;
|
||||
|
||||
23
tests/PHPUnit/CustomTestCase/ParentTest.php
Normal file
23
tests/PHPUnit/CustomTestCase/ParentTest.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Tests\CustomTestCase;
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
use function PHPUnit\Framework\assertTrue;
|
||||
|
||||
class ParentTest extends TestCase
|
||||
{
|
||||
private function getEntity(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function testOverrideMethod(): void
|
||||
{
|
||||
assertTrue($this->getEntity() || true);
|
||||
}
|
||||
}
|
||||
@ -16,7 +16,7 @@ $run = function () {
|
||||
|
||||
test('parallel', function () use ($run) {
|
||||
expect($run('--exclude-group=integration'))
|
||||
->toContain('Tests: 1 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 15 skipped, 833 passed (1932 assertions)')
|
||||
->toContain('Tests: 1 deprecated, 4 warnings, 5 incomplete, 2 notices, 13 todos, 15 skipped, 867 passed (1998 assertions)')
|
||||
->toContain('Parallel: 3 processes');
|
||||
})->skipOnWindows();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user