forked from phpstan/phpstan-src
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbug-14472.php
More file actions
55 lines (48 loc) · 1.37 KB
/
bug-14472.php
File metadata and controls
55 lines (48 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php declare(strict_types = 1);
namespace Bug14472;
use function PHPStan\Testing\assertType;
class Foo
{
/**
* @param string[] $replacement
*/
public function arraySpliceOnConstantArrayWithIntKeys(array $replacement): void
{
$headers = [
'last_name',
'first_name',
'email',
'phone',
'position',
'client_identifier',
'profile',
'hierarchy_role',
'hierarchy_role_name',
'state',
'admin',
'confirmed',
'invited',
'using_native_app',
'using_sso',
'last_connection',
];
assertType("array{'last_name', 'first_name', 'email', 'phone', 'position', 'client_identifier', 'profile', 'hierarchy_role', 'hierarchy_role_name', 'state', 'admin', 'confirmed', 'invited', 'using_native_app', 'using_sso', 'last_connection'}", $headers);
array_splice($headers, 9, 0, $replacement);
assertType("non-empty-list<string>", $headers);
}
/**
* @param list<string> $replacement
*/
public function arraySpliceOnConstantArrayWithIntKeysListReplacement(array $replacement): void
{
$headers = ['a', 'b', 'c'];
array_splice($headers, 1, 0, $replacement);
assertType("non-empty-list<string>", $headers);
}
public function arraySpliceOnConstantArrayWithStringKeys(): void
{
$headers = ['a' => 'x', 'b' => 'y', 'c' => 'z'];
array_splice($headers, 1, 1, ['replacement']);
assertType("array{a: 'x', 0: 'replacement', c: 'z'}", $headers);
}
}