Skip to content

Commit 207002c

Browse files
authored
Merge pull request #153 from marc-mabe/upgrade-dev
Upgrade dev dependencies
2 parents 266fd14 + 15b8bc7 commit 207002c

12 files changed

+33
-13
lines changed

.github/workflows/test.yml

+2-3
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,11 @@ jobs:
3838
RUN_PHPSTAN: true
3939
RUN_PSALM: true
4040
RUN_BENCHMARK: false
41-
- PHP_VERSION: 8.1.0RC1
41+
- PHP_VERSION: 8.1
4242
CODE_COVERAGE: true
4343
RUN_PHPSTAN: true
4444
RUN_PSALM: true
45-
RUN_BENCHMARK: false
46-
COMPOSER_EXTRA_ARGS: --ignore-platform-reqs
45+
RUN_BENCHMARK: true
4746

4847
steps:
4948
- uses: actions/checkout@v2

composer.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
},
2323
"require-dev": {
2424
"phpbench/phpbench": "^0.16.10 || ^1.0.4",
25-
"phpstan/phpstan": "^0.12.96",
26-
"phpunit/phpunit": "^7.5.20 | ^8.5.8 | ^9.3.8",
27-
"vimeo/psalm": "^3.15.0"
25+
"phpstan/phpstan": "^1.3.1",
26+
"phpunit/phpunit": "^7.5.20 | ^8.5.22 | ^9.5.11",
27+
"vimeo/psalm": "^4.17.0"
2828
},
2929
"autoload": {
3030
"psr-4": {

src/Enum.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,9 @@ final public static function byName(string $name)
261261
'Ambiguous enumerator values detected for ' . static::class
262262
);
263263

264-
return self::$instances[static::class][$name] = new static(\constant($const));
264+
/** @var array<int|string, mixed>|bool|float|int|string|null $value */
265+
$value = \constant($const);
266+
return self::$instances[static::class][$name] = new static($value);
265267
}
266268

267269
/**
@@ -320,7 +322,7 @@ final public static function getEnumerators()
320322
*
321323
* @return (null|bool|int|float|string|array)[]
322324
*
323-
* @phpstan-return array<int, null|bool|int|float|string|array>
325+
* @phpstan-return array<int, null|bool|int|float|string|array<int|string, mixed>>
324326
* @psalm-return list<null|bool|int|float|string|array>
325327
* @psalm-pure
326328
*/
@@ -367,7 +369,7 @@ final public static function getOrdinals()
367369
* @return (null|bool|int|float|string|array)[]
368370
* @throws LogicException On ambiguous constant values
369371
*
370-
* @phpstan-return array<string, null|bool|int|float|string|array>
372+
* @phpstan-return array<string, null|bool|int|float|string|array<int|string, mixed>>
371373
* @psalm-return array<non-empty-string, null|bool|int|float|string|array>
372374
* @psalm-pure
373375
*/

src/EnumSerializableTrait.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public function __serialize(): array
4646
* @throws RuntimeException On missing, unknown or invalid value
4747
* @throws LogicException On calling this method on an already initialized enumerator
4848
*
49-
* @param array<string, null|bool|int|float|string|array<mixed>> $data
49+
* @param array<string, mixed> $data
5050
* @return void
5151
*/
5252
public function __unserialize(array $data): void

tests/MabeEnumStaticAnalysis/EnumIsImmutable.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public static function getEnumeratorsIsPure(): array
109109
}
110110

111111
/**
112-
* @phpstan-return array<int, null|bool|int|float|string|array>
112+
* @phpstan-return array<int, null|bool|int|float|string|array<int|string, mixed>>
113113
* @psalm-return list<null|bool|int|float|string|array>
114114
* @psalm-pure
115115
*/

tests/MabeEnumTest/EnumMapTest.php

+1
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,7 @@ public function testSerializable(): void
470470
$enumMap = new EnumMap(EnumBasic::class);
471471
$enumMap[EnumBasic::ONE()] = 'one';
472472

473+
/** @var EnumMap<EnumBasic> $enumMapCopy */
473474
$enumMapCopy = unserialize(serialize($enumMap));
474475
$this->assertTrue($enumMapCopy->offsetExists(EnumBasic::ONE));
475476
$this->assertFalse($enumMapCopy->offsetExists(EnumBasic::TWO));

tests/MabeEnumTest/EnumSerializableTraitTest.php

+6
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public function testUnserializeFirstWillHoldTheSameInstance(): void
3838
$this->clearEnumeration(SerializableEnum::class);
3939

4040
// First unserialize
41+
/** @var Enum $unserialized */
4142
$unserialized = unserialize($serialized);
4243
$this->assertInstanceOf(SerializableEnum::class, $unserialized);
4344

@@ -76,15 +77,20 @@ public function testInheritence(): void
7677
$serialized = serialize($enum);
7778
$this->assertIsString($serialized);
7879

80+
/** @var Enum $unserialized */
7981
$unserialized = unserialize($serialized);
82+
8083
$this->assertInstanceOf(ExtendedSerializableEnum::class, $unserialized);
8184
$this->assertSame($enum->getValue(), $unserialized->getValue());
8285
}
8386

8487
public function testUnserializeFromPhp73(): void
8588
{
8689
$serialized = 'C:39:"MabeEnumTest\TestAsset\SerializableEnum":2:{N;}';
90+
91+
/** @var Enum $unserialized */
8792
$unserialized = unserialize($serialized);
93+
8894
$this->assertInstanceOf(SerializableEnum::class, $unserialized);
8995
$this->assertNull($unserialized->getValue());
9096
}

tests/MabeEnumTest/EnumTest.php

+2
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,8 @@ public function testConstVisibilityExtended(): void
426426
public function testIsSerializableIssue(): void
427427
{
428428
$enum1 = SerializableEnum::INT();
429+
430+
/** @var SerializableEnum $enum2 */
429431
$enum2 = unserialize(serialize($enum1));
430432

431433
$this->assertFalse($enum1 === $enum2, 'Wrong test implementation');

tests/MabeEnumTest/TestAsset/ConstVisibilityEnum.php

+2
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,7 @@ class ConstVisibilityEnum extends Enum
1919
const IPUB = 'indirect public';
2020
public const PUB = 'public';
2121
protected const PRO = 'protected';
22+
23+
/** @phpstan-ignore-next-line */
2224
private const PRI = 'private';
2325
}

tests/MabeEnumTest/TestAsset/ConstVisibilityEnumExtended.php

+2
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ class ConstVisibilityEnumExtended extends ConstVisibilityEnum
2020
const IPUB2 = 'indirect public extended';
2121
public const PUB2 = 'public extended';
2222
protected const PRO2 = 'protected extended';
23+
24+
/** @phpstan-ignore-next-line */
2325
private const PRI2 = 'private extended';
2426
}

tests/MabeEnumTest/TestAsset/EnumMapExt.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
*/
1414
class EnumMapExt extends EnumMap
1515
{
16-
/** @var string */
16+
/**
17+
* @var string
18+
* @phpstan-ignore-next-line
19+
*/
1720
private $priv = 'private';
1821

1922
/** @var string */

tests/MabeEnumTest/TestAsset/EnumSetExt.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313
*/
1414
class EnumSetExt extends EnumSet
1515
{
16-
/** @var string */
16+
/**
17+
* @var string
18+
* @phpstan-ignore-next-line
19+
*/
1720
private $priv = 'private';
1821

1922
/** @var string */

0 commit comments

Comments
 (0)