Skip to content
Snippets Groups Projects
Commit 15b8bc72 authored by Marc Bennewitz's avatar Marc Bennewitz
Browse files

Upgrade dev dependencies

parent 266fd140
No related branches found
No related tags found
No related merge requests found
......@@ -38,12 +38,11 @@ jobs:
RUN_PHPSTAN: true
RUN_PSALM: true
RUN_BENCHMARK: false
- PHP_VERSION: 8.1.0RC1
- PHP_VERSION: 8.1
CODE_COVERAGE: true
RUN_PHPSTAN: true
RUN_PSALM: true
RUN_BENCHMARK: false
COMPOSER_EXTRA_ARGS: --ignore-platform-reqs
RUN_BENCHMARK: true
steps:
- uses: actions/checkout@v2
......
......@@ -22,9 +22,9 @@
},
"require-dev": {
"phpbench/phpbench": "^0.16.10 || ^1.0.4",
"phpstan/phpstan": "^0.12.96",
"phpunit/phpunit": "^7.5.20 | ^8.5.8 | ^9.3.8",
"vimeo/psalm": "^3.15.0"
"phpstan/phpstan": "^1.3.1",
"phpunit/phpunit": "^7.5.20 | ^8.5.22 | ^9.5.11",
"vimeo/psalm": "^4.17.0"
},
"autoload": {
"psr-4": {
......
......@@ -261,7 +261,9 @@ abstract class Enum
'Ambiguous enumerator values detected for ' . static::class
);
return self::$instances[static::class][$name] = new static(\constant($const));
/** @var array<int|string, mixed>|bool|float|int|string|null $value */
$value = \constant($const);
return self::$instances[static::class][$name] = new static($value);
}
/**
......@@ -320,7 +322,7 @@ abstract class Enum
*
* @return (null|bool|int|float|string|array)[]
*
* @phpstan-return array<int, null|bool|int|float|string|array>
* @phpstan-return array<int, null|bool|int|float|string|array<int|string, mixed>>
* @psalm-return list<null|bool|int|float|string|array>
* @psalm-pure
*/
......@@ -367,7 +369,7 @@ abstract class Enum
* @return (null|bool|int|float|string|array)[]
* @throws LogicException On ambiguous constant values
*
* @phpstan-return array<string, null|bool|int|float|string|array>
* @phpstan-return array<string, null|bool|int|float|string|array<int|string, mixed>>
* @psalm-return array<non-empty-string, null|bool|int|float|string|array>
* @psalm-pure
*/
......
......@@ -46,7 +46,7 @@ trait EnumSerializableTrait
* @throws RuntimeException On missing, unknown or invalid value
* @throws LogicException On calling this method on an already initialized enumerator
*
* @param array<string, null|bool|int|float|string|array<mixed>> $data
* @param array<string, mixed> $data
* @return void
*/
public function __unserialize(array $data): void
......
......@@ -109,7 +109,7 @@ final class EnumIsImmutable
}
/**
* @phpstan-return array<int, null|bool|int|float|string|array>
* @phpstan-return array<int, null|bool|int|float|string|array<int|string, mixed>>
* @psalm-return list<null|bool|int|float|string|array>
* @psalm-pure
*/
......
......@@ -470,6 +470,7 @@ class EnumMapTest extends TestCase
$enumMap = new EnumMap(EnumBasic::class);
$enumMap[EnumBasic::ONE()] = 'one';
/** @var EnumMap<EnumBasic> $enumMapCopy */
$enumMapCopy = unserialize(serialize($enumMap));
$this->assertTrue($enumMapCopy->offsetExists(EnumBasic::ONE));
$this->assertFalse($enumMapCopy->offsetExists(EnumBasic::TWO));
......
......@@ -38,6 +38,7 @@ class EnumSerializableTraitTest extends TestCase
$this->clearEnumeration(SerializableEnum::class);
// First unserialize
/** @var Enum $unserialized */
$unserialized = unserialize($serialized);
$this->assertInstanceOf(SerializableEnum::class, $unserialized);
......@@ -76,7 +77,9 @@ class EnumSerializableTraitTest extends TestCase
$serialized = serialize($enum);
$this->assertIsString($serialized);
/** @var Enum $unserialized */
$unserialized = unserialize($serialized);
$this->assertInstanceOf(ExtendedSerializableEnum::class, $unserialized);
$this->assertSame($enum->getValue(), $unserialized->getValue());
}
......@@ -84,7 +87,10 @@ class EnumSerializableTraitTest extends TestCase
public function testUnserializeFromPhp73(): void
{
$serialized = 'C:39:"MabeEnumTest\TestAsset\SerializableEnum":2:{N;}';
/** @var Enum $unserialized */
$unserialized = unserialize($serialized);
$this->assertInstanceOf(SerializableEnum::class, $unserialized);
$this->assertNull($unserialized->getValue());
}
......
......@@ -426,6 +426,8 @@ class EnumTest extends TestCase
public function testIsSerializableIssue(): void
{
$enum1 = SerializableEnum::INT();
/** @var SerializableEnum $enum2 */
$enum2 = unserialize(serialize($enum1));
$this->assertFalse($enum1 === $enum2, 'Wrong test implementation');
......
......@@ -19,5 +19,7 @@ class ConstVisibilityEnum extends Enum
const IPUB = 'indirect public';
public const PUB = 'public';
protected const PRO = 'protected';
/** @phpstan-ignore-next-line */
private const PRI = 'private';
}
......@@ -20,5 +20,7 @@ class ConstVisibilityEnumExtended extends ConstVisibilityEnum
const IPUB2 = 'indirect public extended';
public const PUB2 = 'public extended';
protected const PRO2 = 'protected extended';
/** @phpstan-ignore-next-line */
private const PRI2 = 'private extended';
}
......@@ -13,7 +13,10 @@ use MabeEnum\EnumMap;
*/
class EnumMapExt extends EnumMap
{
/** @var string */
/**
* @var string
* @phpstan-ignore-next-line
*/
private $priv = 'private';
/** @var string */
......
......@@ -13,7 +13,10 @@ use MabeEnum\EnumSet;
*/
class EnumSetExt extends EnumSet
{
/** @var string */
/**
* @var string
* @phpstan-ignore-next-line
*/
private $priv = 'private';
/** @var string */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment