@@ -13,19 +13,28 @@ protected function testOptionalKeys(array $row): void
1313 {
1414 if (count ($ row ) === 1 ) {
1515 assertType ('array{0: mixed, 1?: string|null} ' , $ row );
16+ } else {
17+ assertType ('array{0: mixed, 1?: string|null} ' , $ row );
1618 }
1719
1820 if (count ($ row ) !== 1 ) {
1921 assertType ('array{0: mixed, 1?: string|null} ' , $ row );
22+ } else {
23+ assertType ('array{0: mixed, 1?: string|null} ' , $ row );
2024 }
2125
2226 if (count ($ row ) !== 2 ) {
2327 assertType ('array{0: mixed, 1?: string|null} ' , $ row );
28+ } else {
29+ // should be array{0: mixed, 1: string|null}
30+ assertType ('array{mixed, mixed} ' , $ row );
2431 }
2532
2633 if (count ($ row ) !== 3 ) {
2734 // should be array{0: mixed, 1?: string|null}
2835 assertType ('array{0: mixed, 1?: mixed} ' , $ row );
36+ } else {
37+ assertType ('*NEVER* ' , $ row );
2938 }
3039 }
3140
@@ -36,14 +45,20 @@ protected function test(array $row): void
3645 {
3746 if (count ($ row ) !== 1 ) {
3847 assertType ('array{mixed, string|null, mixed} ' , $ row );
48+ } else {
49+ assertType ('array{0: mixed, 1?: string|null} ' , $ row );
3950 }
4051
4152 if (count ($ row ) !== 2 ) {
4253 assertType ('array{mixed, string|null, mixed}|array{mixed} ' , $ row );
54+ } else {
55+ assertType ('*NEVER* ' , $ row );
4356 }
4457
4558 if (count ($ row ) !== 3 ) {
4659 assertType ('array{mixed} ' , $ row );
60+ } else {
61+ assertType ('array{mixed, string|null, mixed} ' , $ row );
4762 }
4863 }
4964}
0 commit comments