upgrade to php 8.2 and phpunit 11
This commit is contained in:
parent
12918eb3cb
commit
8e824ef93c
1
.gitignore
vendored
1
.gitignore
vendored
@ -6,3 +6,4 @@
|
||||
/node_modules/
|
||||
|
||||
test.*.php
|
||||
.phpunit.cache
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
require_once __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
use Kadet\Functional as f;
|
||||
use Kadet\Functional\Predicates as p;
|
||||
|
||||
eval(\Psy\sh());
|
||||
@ -10,11 +10,12 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=7.1"
|
||||
"php": ">=8.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^7.0",
|
||||
"psy/psysh": "@stable"
|
||||
"phpunit/phpunit": "^11.5",
|
||||
"php-ds/php-ds": "^2.0",
|
||||
"phpstan/phpstan": "^2.1"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@ -24,5 +25,8 @@
|
||||
"./src/functions.php",
|
||||
"./src/Predicates/index.php"
|
||||
]
|
||||
},
|
||||
"suggest": {
|
||||
"php-ds/php-ds": "^2.0 (or ext-ds) for Seq/Map/Set results"
|
||||
}
|
||||
}
|
||||
|
||||
1906
composer.lock
generated
1906
composer.lock
generated
File diff suppressed because it is too large
Load Diff
12
phpunit.xml
12
phpunit.xml
@ -1,11 +1,13 @@
|
||||
<phpunit bootstrap="tests/bootstrap.php">
|
||||
<?xml version="1.0"?>
|
||||
<phpunit bootstrap="tests/bootstrap.php" cacheDirectory=".phpunit.cache">
|
||||
<testsuites>
|
||||
<testsuite name="all">
|
||||
<directory>tests</directory>
|
||||
</testsuite>
|
||||
</testsuites><filter>
|
||||
<whitelist processUncoveredFilesFromWhitelist="true">
|
||||
</testsuites>
|
||||
<source>
|
||||
<include>
|
||||
<directory suffix=".php">src</directory>
|
||||
</whitelist>
|
||||
</filter>
|
||||
</include>
|
||||
</source>
|
||||
</phpunit>
|
||||
|
||||
@ -21,9 +21,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testNeverAndPredicate(...$args)
|
||||
{
|
||||
$predicate = ConstantPredicate::never()->and($this->getTestPredicate());
|
||||
@ -31,9 +29,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertFalse($predicate(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testNeverOrPredicate(...$args)
|
||||
{
|
||||
$predicate = predicate($this->getTestPredicate());
|
||||
@ -42,9 +38,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertSame($predicate(...$args), $tested(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testAlwaysOrPredicate(...$args)
|
||||
{
|
||||
$predicate = ConstantPredicate::always()->or($this->getTestPredicate());
|
||||
@ -52,9 +46,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertTrue($predicate(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testAlwaysAndPredicate(...$args)
|
||||
{
|
||||
$predicate = predicate($this->getTestPredicate());
|
||||
@ -63,9 +55,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertSame($predicate(...$args), $tested(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testNever(...$args)
|
||||
{
|
||||
$tested = ConstantPredicate::never();
|
||||
@ -73,9 +63,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertFalse($tested(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testNotAlways(...$args)
|
||||
{
|
||||
$tested = ConstantPredicate::always()->not();
|
||||
@ -83,9 +71,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertFalse($tested(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testNotNever(...$args)
|
||||
{
|
||||
$tested = ConstantPredicate::never()->not();
|
||||
@ -93,9 +79,7 @@ class ConstantPredicateTest extends PHPUnit\Framework\TestCase
|
||||
$this->assertTrue($tested(...$args));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testAlways(...$args)
|
||||
{
|
||||
$tested = ConstantPredicate::always();
|
||||
|
||||
@ -19,7 +19,7 @@ class CurriedFunctionTest extends \PHPUnit\Framework\TestCase
|
||||
private $variadic;
|
||||
private $optional;
|
||||
|
||||
protected function setUp()
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->function = function ($a, $b, $c, $d) {
|
||||
return $a . $b . $c . $d;
|
||||
|
||||
@ -14,12 +14,9 @@ class FunctionPipelineTest extends \PHPUnit\Framework\TestCase
|
||||
/** @var \PHPUnit\Framework\MockObject\MockObject */
|
||||
private $mock;
|
||||
|
||||
protected function setUp()/* The :void return type declaration that should be here would cause a BC issue */
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->mock = $this
|
||||
->getMockBuilder('stdClass')
|
||||
->setMethods(['a', 'b', 'c'])
|
||||
->getMock();
|
||||
$this->mock = $this->createMock(PipelineSteps::class);
|
||||
}
|
||||
|
||||
public function testPipelineCalling()
|
||||
@ -93,3 +90,10 @@ class FunctionPipelineTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame('d', $second('a'));
|
||||
}
|
||||
}
|
||||
|
||||
class PipelineSteps
|
||||
{
|
||||
public function a() {}
|
||||
public function b() {}
|
||||
public function c() {}
|
||||
}
|
||||
|
||||
@ -14,12 +14,9 @@ class MemoizedFunctionTest extends \PHPUnit\Framework\TestCase
|
||||
/** @var \PHPUnit\Framework\MockObject\MockObject */
|
||||
private $mock;
|
||||
|
||||
protected function setUp()/* The :void return type declaration that should be here would cause a BC issue */
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->mock = $this
|
||||
->getMockBuilder('stdClass')
|
||||
->setMethods(['memoized'])
|
||||
->getMock();
|
||||
$this->mock = $this->createMock(MemoizedTarget::class);
|
||||
}
|
||||
|
||||
public function testCalledOnlyOnce()
|
||||
@ -37,14 +34,23 @@ class MemoizedFunctionTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
$memoized = f\memoize([$this->mock, 'memoized']);
|
||||
|
||||
$this->mock->expects($this->exactly(2))->method('memoized')->withConsecutive(
|
||||
[ 'a' ],
|
||||
[ [] ]
|
||||
$calls = [];
|
||||
$this->mock->expects($this->exactly(2))->method('memoized')->willReturnCallback(
|
||||
function (...$args) use (&$calls) {
|
||||
$calls[] = $args;
|
||||
}
|
||||
);
|
||||
|
||||
for ($i = 0; $i < 10; $i++) {
|
||||
$memoized('a');
|
||||
$memoized([]);
|
||||
}
|
||||
|
||||
$this->assertSame([['a'], [[]]], $calls);
|
||||
}
|
||||
}
|
||||
|
||||
class MemoizedTarget
|
||||
{
|
||||
public function memoized() {}
|
||||
}
|
||||
|
||||
@ -39,9 +39,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
{
|
||||
use RandomDataTrait;
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testFieldTransform($data = null)
|
||||
{
|
||||
$object = new PropertiesObject($data, null, []);
|
||||
@ -50,9 +48,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testFieldTransformMagic($data = null)
|
||||
{
|
||||
$object = new PropertiesObject(false, false, ['magic' => $data]);
|
||||
@ -61,9 +57,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testPropertyTransformGetter($data = null)
|
||||
{
|
||||
$object = new PropertiesObject(false, $data, []);
|
||||
@ -72,9 +66,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testGetterTransform($data = null)
|
||||
{
|
||||
$object = new PropertiesObject(false, $data, []);
|
||||
@ -83,9 +75,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testPropertyTransformField($data = null)
|
||||
{
|
||||
$object = new PropertiesObject($data, false, []);
|
||||
@ -94,9 +84,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testPropertyTransformMagic($data = null)
|
||||
{
|
||||
$object = new PropertiesObject(false, false, ['magic' => $data]);
|
||||
@ -105,9 +93,7 @@ class ObjectTransformsTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame($transform($object), $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider randomDataProvider
|
||||
*/
|
||||
#[\PHPUnit\Framework\Attributes\DataProvider('randomDataProvider')]
|
||||
public function testMethodTransform($data = null)
|
||||
{
|
||||
$object = new PropertiesObject(false, false);
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
trait RandomDataTrait
|
||||
{
|
||||
public function randomDataProvider()
|
||||
public static function randomDataProvider()
|
||||
{
|
||||
return [
|
||||
['x'],
|
||||
|
||||
@ -53,11 +53,9 @@ class ReferencingTest extends \PHPUnit\Framework\TestCase
|
||||
$this->assertSame('foo', $reference());
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException \Kadet\Functional\Exception\NoAccessException
|
||||
*/
|
||||
public function testReferencingPrivateFunctionsFromOutsideOfObject()
|
||||
{
|
||||
$this->expectException(\Kadet\Functional\Exception\NoAccessException::class);
|
||||
$object = new TestObject();
|
||||
|
||||
ref([$object, 'priv']);
|
||||
|
||||
@ -20,7 +20,7 @@ class ReflectionPartialAppliedFunctionTest extends \PHPUnit\Framework\TestCase
|
||||
*/
|
||||
private $function;
|
||||
|
||||
protected function setUp()
|
||||
protected function setUp(): void
|
||||
{
|
||||
$this->function = f\partial(function (array $a, array $b, array $c, array $d = ['d']) {
|
||||
return array_merge($a, $b, $c, $d);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user