Move lone test case into central test file

This commit is contained in:
Nathan Shively-Sanders
2017-08-28 10:53:11 -07:00
parent 28a6ac3a77
commit 2f646daf0a
6 changed files with 46 additions and 49 deletions
@@ -1,18 +0,0 @@
tests/cases/compiler/indexedAccessRelation2.ts(4,9): error TS2322: Type 'keyof T' is not assignable to type 'K'.
tests/cases/compiler/indexedAccessRelation2.ts(5,9): error TS2322: Type 'T[keyof T]' is not assignable to type 'T[K]'.
==== tests/cases/compiler/indexedAccessRelation2.ts (2 errors) ====
// Repro from #17166
function f<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
~
!!! error TS2322: Type 'keyof T' is not assignable to type 'K'.
value = obj[key]; // error, T[keyof T] =/=> T[K]
~~~~~
!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'T[K]'.
}
}
@@ -1,19 +0,0 @@
//// [indexedAccessRelation2.ts]
// Repro from #17166
function f<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}
//// [indexedAccessRelation2.js]
// Repro from #17166
function f(obj, k, value) {
for (var key in obj) {
k = key; // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}
@@ -27,9 +27,11 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts(76,5): error
Type 'T' is not assignable to type 'T & U'.
Type 'T' is not assignable to type 'U'.
tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts(77,5): error TS2322: Type 'keyof (T & U)' is not assignable to type 'keyof (T | U)'.
tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts(84,9): error TS2322: Type 'keyof T' is not assignable to type 'K'.
tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts(85,9): error TS2322: Type 'T[keyof T]' is not assignable to type 'T[K]'.
==== tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts (25 errors) ====
==== tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts (27 errors) ====
class Shape {
name: string;
width: number;
@@ -162,4 +164,18 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccessErrors.ts(77,5): error
~~
!!! error TS2322: Type 'keyof (T & U)' is not assignable to type 'keyof (T | U)'.
k2 = k1;
}
}
// Repro from #17166
function f3<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
~
!!! error TS2322: Type 'keyof T' is not assignable to type 'K'.
value = obj[key]; // error, T[keyof T] =/=> T[K]
~~~~~
!!! error TS2322: Type 'T[keyof T]' is not assignable to type 'T[K]'.
}
}
@@ -77,7 +77,17 @@ function f20<T, U>(k1: keyof (T | U), k2: keyof (T & U), o1: T | U, o2: T & U) {
o2 = o1; // Error
k1 = k2; // Error
k2 = k1;
}
}
// Repro from #17166
function f3<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}
//// [keyofAndIndexedAccessErrors.js]
var Shape = /** @class */ (function () {
@@ -109,3 +119,10 @@ function f20(k1, k2, o1, o2) {
k1 = k2; // Error
k2 = k1;
}
// Repro from #17166
function f3(obj, k, value) {
for (var key in obj) {
k = key; // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}
@@ -1,8 +0,0 @@
// Repro from #17166
function f<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}
@@ -76,4 +76,13 @@ function f20<T, U>(k1: keyof (T | U), k2: keyof (T & U), o1: T | U, o2: T & U) {
o2 = o1; // Error
k1 = k2; // Error
k2 = k1;
}
}
// Repro from #17166
function f3<T, K extends keyof T>(obj: T, k: K, value: T[K]): void {
for (let key in obj) {
k = key // error, keyof T =/=> K
value = obj[key]; // error, T[keyof T] =/=> T[K]
}
}