Skip to content

Commit 2f2b500

Browse files
committed
add extra test case
1 parent 04976bf commit 2f2b500

9 files changed

+27
-0
lines changed

tests/baselines/reference/keyRemappingKeyofResult(strict=false).errors.txt

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ keyRemappingKeyofResult.ts(90,3): error TS2322: Type 'string' is not assignable
9999
~
100100
!!! error TS2322: Type 'string' is not assignable to type 'keyof { [P in keyof T as T[P] extends string ? P : never]: any; }'.
101101
!!! error TS2322: Type 'string' is not assignable to type 'T[P] extends string ? P : never'.
102+
const f: string = z; // error
102103
}
103104

104105
export {};

tests/baselines/reference/keyRemappingKeyofResult(strict=false).js

+2
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ type StringKeys2<T> = keyof {
9191

9292
function h<T>(z: StringKeys2<T>) {
9393
z = "foo"; // error
94+
const f: string = z; // error
9495
}
9596

9697
export {};
@@ -127,5 +128,6 @@ function test_57827(z) {
127128
}
128129
function h(z) {
129130
z = "foo"; // error
131+
const f = z; // error
130132
}
131133
export {};

tests/baselines/reference/keyRemappingKeyofResult(strict=false).symbols

+4
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,10 @@ function h<T>(z: StringKeys2<T>) {
247247
>T : Symbol(T, Decl(keyRemappingKeyofResult.ts, 88, 11))
248248

249249
z = "foo"; // error
250+
>z : Symbol(z, Decl(keyRemappingKeyofResult.ts, 88, 14))
251+
252+
const f: string = z; // error
253+
>f : Symbol(f, Decl(keyRemappingKeyofResult.ts, 90, 7))
250254
>z : Symbol(z, Decl(keyRemappingKeyofResult.ts, 88, 14))
251255
}
252256

tests/baselines/reference/keyRemappingKeyofResult(strict=false).types

+6
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,12 @@ function h<T>(z: StringKeys2<T>) {
298298
> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
299299
>"foo" : "foo"
300300
> : ^^^^^
301+
302+
const f: string = z; // error
303+
>f : string
304+
> : ^^^^^^
305+
>z : string
306+
> : ^^^^^^
301307
}
302308

303309
export {};

tests/baselines/reference/keyRemappingKeyofResult(strict=true).errors.txt

+1
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ keyRemappingKeyofResult.ts(90,3): error TS2322: Type 'string' is not assignable
9999
~
100100
!!! error TS2322: Type 'string' is not assignable to type 'keyof { [P in keyof T as T[P] extends string ? P : never]: any; }'.
101101
!!! error TS2322: Type 'string' is not assignable to type 'T[P] extends string ? P : never'.
102+
const f: string = z; // error
102103
}
103104

104105
export {};

tests/baselines/reference/keyRemappingKeyofResult(strict=true).js

+2
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ type StringKeys2<T> = keyof {
9191

9292
function h<T>(z: StringKeys2<T>) {
9393
z = "foo"; // error
94+
const f: string = z; // error
9495
}
9596

9697
export {};
@@ -127,5 +128,6 @@ function test_57827(z) {
127128
}
128129
function h(z) {
129130
z = "foo"; // error
131+
const f = z; // error
130132
}
131133
export {};

tests/baselines/reference/keyRemappingKeyofResult(strict=true).symbols

+4
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,10 @@ function h<T>(z: StringKeys2<T>) {
247247
>T : Symbol(T, Decl(keyRemappingKeyofResult.ts, 88, 11))
248248

249249
z = "foo"; // error
250+
>z : Symbol(z, Decl(keyRemappingKeyofResult.ts, 88, 14))
251+
252+
const f: string = z; // error
253+
>f : Symbol(f, Decl(keyRemappingKeyofResult.ts, 90, 7))
250254
>z : Symbol(z, Decl(keyRemappingKeyofResult.ts, 88, 14))
251255
}
252256

tests/baselines/reference/keyRemappingKeyofResult(strict=true).types

+6
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,12 @@ function h<T>(z: StringKeys2<T>) {
298298
> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
299299
>"foo" : "foo"
300300
> : ^^^^^
301+
302+
const f: string = z; // error
303+
>f : string
304+
> : ^^^^^^
305+
>z : string
306+
> : ^^^^^^
301307
}
302308

303309
export {};

tests/cases/compiler/keyRemappingKeyofResult.ts

+1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ type StringKeys2<T> = keyof {
9090

9191
function h<T>(z: StringKeys2<T>) {
9292
z = "foo"; // error
93+
const f: string = z; // ok
9394
}
9495

9596
export {};

0 commit comments

Comments
 (0)