Update tests

This commit is contained in:
Anders Hejlsberg 2018-02-28 06:39:36 -08:00
parent 56e6deefc7
commit 3fca99522b
2 changed files with 7 additions and 7 deletions

View File

@ -66,7 +66,7 @@ type TypeName<T> =
type T20 = TypeName<string | (() => void)>; // "string" | "function"
type T21 = TypeName<any>; // "string" | "number" | "boolean" | "undefined" | "function" | "object"
type T22 = TypeName<never>; // "string" | "number" | "boolean" | "undefined" | "function" | "object"
type T22 = TypeName<never>; // never
type T23 = TypeName<{}>; // "object"
type KnockoutObservable<T> = { object: T };
@ -174,7 +174,7 @@ type IsString<T> = Extends<T, string>;
type Q1 = IsString<number>; // false
type Q2 = IsString<"abc">; // true
type Q3 = IsString<any>; // boolean
type Q4 = IsString<never>; // boolean
type Q4 = IsString<never>; // never
type N1 = Not<false>; // true
type N2 = Not<true>; // false
@ -202,9 +202,9 @@ type O9 = Or<boolean, boolean>; // boolean
type T40 = never extends never ? true : false; // true
type T41 = number extends never ? true : false; // false
type T42 = never extends number ? true : false; // boolean
type T42 = never extends number ? true : false; // true
type IsNever<T> = T extends never ? true : false;
type IsNever<T> = [T] extends [never] ? true : false;
type T50 = IsNever<never>; // true
type T51 = IsNever<number>; // false

View File

@ -30,13 +30,13 @@ type T12 = ReturnType<(<T>() => T)>; // {}
type T13 = ReturnType<(<T extends U, U extends number[]>() => T)>; // number[]
type T14 = ReturnType<typeof f1>; // { a: number, b: string }
type T15 = ReturnType<any>; // any
type T16 = ReturnType<never>; // any
type T16 = ReturnType<never>; // never
type T17 = ReturnType<string>; // Error
type T18 = ReturnType<Function>; // Error
type U10 = InstanceType<typeof C>; // C
type U11 = InstanceType<any>; // any
type U12 = InstanceType<never>; // any
type U12 = InstanceType<never>; // never
type U13 = InstanceType<string>; // Error
type U14 = InstanceType<Function>; // Error
@ -49,7 +49,7 @@ type T23 = ArgumentType<(...args: string[]) => number>; // string
type T24 = ArgumentType<(x: string, y: string) => number>; // Error
type T25 = ArgumentType<Function>; // Error
type T26 = ArgumentType<any>; // any
type T27 = ArgumentType<never>; // any
type T27 = ArgumentType<never>; // never
type X1<T extends { x: any, y: any }> = T extends { x: infer X, y: infer Y } ? [X, Y] : any;